Files
proxy-core/CONTRIBUTING.md
T

123 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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! 🚀