feat: initialize proxy-core repository with management scripts, documentation, and licensing
This commit is contained in:
+122
@@ -0,0 +1,122 @@
|
||||
# Contributing to Proxy-Core
|
||||
|
||||
Спасибо за интерес к проекту! Мы рады любому вкладу.
|
||||
|
||||
## 🤝 Как внести вклад
|
||||
|
||||
### Сообщить об ошибке
|
||||
|
||||
1. Проверьте, что проблема еще не была описана в [Issues](https://github.com/houseassassin/proxy-core/issues)
|
||||
2. Создайте новый Issue с подробным описанием:
|
||||
- Версия ОС
|
||||
- Версия скрипта
|
||||
- Шаги для воспроизведения
|
||||
- Ожидаемое поведение
|
||||
- Фактическое поведение
|
||||
- Логи ошибок
|
||||
|
||||
### Предложить улучшение
|
||||
|
||||
1. Создайте Issue с описанием предложения
|
||||
2. Объясните, почему это улучшение будет полезно
|
||||
3. Приведите примеры использования
|
||||
|
||||
### Отправить Pull Request
|
||||
|
||||
1. Fork репозитория
|
||||
2. Создайте ветку для вашей функции (`git checkout -b feature/amazing-feature`)
|
||||
3. Внесите изменения
|
||||
4. Протестируйте на чистой системе
|
||||
5. Commit изменений (`git commit -m 'Add amazing feature'`)
|
||||
6. Push в ветку (`git push origin feature/amazing-feature`)
|
||||
7. Откройте Pull Request
|
||||
|
||||
## 📝 Стандарты кода
|
||||
|
||||
### Bash скрипты
|
||||
|
||||
- Используйте `set -euo pipefail` в начале скриптов
|
||||
- Добавляйте комментарии к сложным участкам
|
||||
- Используйте функции для повторяющегося кода
|
||||
- Проверяйте код с помощью `shellcheck`
|
||||
- Используйте понятные имена переменных
|
||||
|
||||
### Форматирование
|
||||
|
||||
```bash
|
||||
# Хорошо
|
||||
function install_package() {
|
||||
local package_name="$1"
|
||||
log "Installing $package_name..."
|
||||
apt-get install -y "$package_name"
|
||||
}
|
||||
|
||||
# Плохо
|
||||
function inst() {
|
||||
apt-get install -y $1
|
||||
}
|
||||
```
|
||||
|
||||
### Обработка ошибок
|
||||
|
||||
```bash
|
||||
# Всегда проверяйте результат выполнения
|
||||
if ! command -v docker &> /dev/null; then
|
||||
error "Docker not found"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Используйте trap для очистки
|
||||
trap cleanup EXIT
|
||||
```
|
||||
|
||||
## 🧪 Тестирование
|
||||
|
||||
Перед отправкой PR протестируйте на:
|
||||
- Ubuntu 22.04
|
||||
- Debian 12
|
||||
- CentOS 9 (если возможно)
|
||||
|
||||
Проверьте:
|
||||
- Установку с нуля
|
||||
- Обновление существующей установки
|
||||
- Удаление компонентов
|
||||
- Работу всех функций меню
|
||||
|
||||
## 📚 Документация
|
||||
|
||||
При добавлении новых функций:
|
||||
- Обновите README.md
|
||||
- Добавьте примеры использования
|
||||
- Опишите требования
|
||||
- Добавьте раздел в Troubleshooting (если нужно)
|
||||
|
||||
## 🎨 Стиль коммитов
|
||||
|
||||
Используйте понятные сообщения коммитов:
|
||||
|
||||
```
|
||||
feat: добавлена поддержка Shadowsocks
|
||||
fix: исправлена ошибка установки Docker
|
||||
docs: обновлена документация по WireGuard
|
||||
refactor: улучшена функция генерации паролей
|
||||
test: добавлены тесты для SSL сертификатов
|
||||
```
|
||||
|
||||
## 🔍 Code Review
|
||||
|
||||
Все PR проходят review. Будьте готовы:
|
||||
- Ответить на вопросы
|
||||
- Внести изменения по замечаниям
|
||||
- Обновить документацию
|
||||
|
||||
## 📜 Лицензия
|
||||
|
||||
Отправляя PR, вы соглашаетесь с лицензией MIT проекта.
|
||||
|
||||
## 💬 Вопросы?
|
||||
|
||||
- Создайте Issue
|
||||
- Напишите в Telegram: [@houseassassin](https://t.me/houseassassin)
|
||||
|
||||
Спасибо за вклад в Proxy-Core! 🚀
|
||||
Reference in New Issue
Block a user