LoReport/CONTRIBUTING.md
loki5512344 55df7d97b2 feat: major update v1.1.0 - improved documentation, configuration and compatibility
- Add comprehensive documentation in docs/ folder
- Update README.md with modern design and badges
- Improve configuration with new options (GUI, limits, notifications)
- Add support for Minecraft 1.19.2-1.21.4 and Java 17+
- Create GPL-3.0 license
- Add modrinth/ folder with project description for publishing
- Add CONTRIBUTING.md for contributors
- Update plugin.yml with aliases and better permissions
- Improve build.gradle.kts with better compatibility and encoding
- Update .gitignore for cleaner repository
2026-02-03 14:01:34 +01:00

4.4 KiB
Raw Blame History

Участие в разработке

Спасибо за интерес к проекту Loreport! Мы приветствуем любой вклад в развитие плагина.

Как внести вклад

🐛 Сообщение об ошибках

  1. Проверьте, что ошибка еще не была сообщена в Issues
  2. Создайте новый issue с подробным описанием:
    • Версия плагина
    • Версия Minecraft и серверного ПО
    • Шаги для воспроизведения
    • Ожидаемое поведение
    • Фактическое поведение
    • Логи ошибок

💡 Предложения новых функций

  1. Проверьте 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:

  • 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. Клонируйте репозиторий:
git clone https://codeberg.org/loki5512344/Loreport.git
cd Loreport
  1. Соберите проект:
./gradlew build
  1. Запустите тесты:
./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 или свяжитесь с мейнтейнером проекта.