- 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
114 lines
No EOL
4.4 KiB
Markdown
114 lines
No EOL
4.4 KiB
Markdown
# Участие в разработке
|
||
|
||
Спасибо за интерес к проекту 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) или свяжитесь с мейнтейнером проекта. |