Вклад
Руководство по участию в разработке UPKGT
Содержание
- Начало работы
- Правила участия
- Процесс разработки
- Стиль кода
- Тестирование
- Документация
Начало работы
Подготовка окружения
# Клонирование репозитория
git clone https://github.com/AnmiTaliDev/upkgt.git
cd upkgt
# Установка зависимостей
go mod download
# Сборка проекта
./build.sh
Структура проекта
upkgt/
├── cmd/ # Точки входа
├── internal/ # Внутренний код
├── pkg/ # Публичные пакеты
└── docs/ # Документация
Правила участия
Процесс внесения изменений
- Создайте issue с описанием изменений
- Обсудите предлагаемые изменения с сообществом
- Сделайте fork репозитория
- Создайте ветку для изменений
- Внесите изменения
- Создайте pull request
Правила оформления коммитов
тип(область): краткое описание
Подробное описание изменений
Типы коммитов:
- feat: новая функциональность
- fix: исправление ошибки
- docs: изменения в документации
- style: форматирование кода
- refactor: рефакторинг
- test: добавление тестов
- chore: обслуживание кода
Code Review
- Каждый PR должен быть проверен минимум одним разработчиком
- Код должен соответствовать стилю проекта
- Должна быть обновлена документация
Процесс разработки
Ветки
# Создание ветки для фичи
git checkout -b feature/name
# Создание ветки для исправления
git checkout -b fix/name
# Создание ветки для документации
git checkout -b docs/name
Рабочий процесс
- Синхронизация с основной веткой
- Создание новой ветки
- Внесение изменений
- Обновление документации
- Создание PR
Стиль кода
Форматирование
# Форматирование кода
go fmt ./...
# Проверка стиля
go vet ./...
Правила именования
- Пакеты: короткие существительные
- Функции: глаголы
- Переменные: существительные
- Константы: ВЕРХНИЙ_РЕГИСТР
- Интерфейсы: существительные
Тестирование
Модульные тесты
# Запуск всех тестов
go test ./...
# Запуск конкретного теста
go test ./pkg/name -run TestName
# Запуск с покрытием
go test -cover ./...
Документация
Правила документирования
- Каждый публичный API должен быть документирован
- Примеры использования обязательны
- Документация должна быть на русском языке
- Обновляйте CHANGELOG.md
Примечания:
- Следите за обновлениями в основном репозитории
- Задавайте вопросы в GitHub Discussions
- Сообщайте о проблемах через GitHub Issues