# Участие в разработке Спасибо за интерес к проекту Loreport! Мы приветствуем любой вклад в развитие плагина. ## Как внести вклад ### 🐛 Сообщение об ошибках 1. Проверьте, что ошибка еще не была сообщена в [Issues](https://codeberg.org/loki5512344/Loreport/issues) 2. Создайте новый issue с подробным описанием: - Версия плагина - Версия Minecraft и серверного ПО - Шаги для воспроизведения - Ожидаемое поведение - Фактическое поведение - Логи ошибок ### 💡 Предложения новых функций 1. Проверьте [Discussions](https://codeberg.org/loki5512344/Loreport/discussions) 2. Создайте новое обсуждение с описанием: - Описание функции - Зачем она нужна - Как должна работать - Примеры использования ### 🔧 Внесение изменений в код 1. Форкните репозиторий 2. Создайте ветку для ваших изменений: `git checkout -b feature/amazing-feature` 3. Внесите изменения 4. Добавьте тесты для новой функциональности 5. Убедитесь что все тесты проходят: `./gradlew test` 6. Зафиксируйте изменения: `git commit -m 'Add amazing feature'` 7. Отправьте в ваш форк: `git push origin feature/amazing-feature` 8. Создайте Pull Request ## Стандарты кода ### Java - Используйте Java 17+ синтаксис - Следуйте Google Java Style Guide - Добавляйте JavaDoc для публичных методов - Используйте осмысленные имена переменных и методов ### Тестирование - Покрывайте новую функциональность тестами - Используйте JUnit 5 для unit тестов - Используйте jqwik для property-based тестов - Тесты должны быть быстрыми и независимыми ### Коммиты Используйте [Conventional Commits](https://www.conventionalcommits.org/): - `feat:` - новая функция - `fix:` - исправление ошибки - `docs:` - изменения в документации - `style:` - форматирование кода - `refactor:` - рефакторинг - `test:` - добавление тестов - `chore:` - обновление зависимостей и т.д. Примеры: ``` feat: add cooldown system for reports fix: resolve Discord webhook timeout issue docs: update configuration guide ``` ## Настройка среды разработки ### Требования - Java 17+ - Git - IDE (IntelliJ IDEA рекомендуется) ### Настройка 1. Клонируйте репозиторий: ```bash git clone https://codeberg.org/loki5512344/Loreport.git cd Loreport ``` 2. Соберите проект: ```bash ./gradlew build ``` 3. Запустите тесты: ```bash ./gradlew test ``` ### Структура проекта ``` src/ ├── main/ │ ├── java/dev/loki/lorep/ # Основной код │ └── resources/ # Ресурсы (config.yml, plugin.yml) └── test/ └── java/dev/loki/lorep/ # Тесты ``` ## Процесс ревью 1. Все Pull Request проходят ревью 2. Код должен соответствовать стандартам проекта 3. Все тесты должны проходить 4. Новая функциональность должна быть покрыта тестами 5. Документация должна быть обновлена при необходимости ## Лицензия Внося вклад в проект, вы соглашаетесь с тем, что ваш код будет распространяться под лицензией GPL-3.0. ## Вопросы? Если у вас есть вопросы, создайте обсуждение в [Discussions](https://codeberg.org/loki5512344/Loreport/discussions) или свяжитесь с мейнтейнером проекта.