fixes
Some checks are pending
CI / Check (pull_request) Waiting to run
CI / Format (pull_request) Waiting to run
CI / Clippy (pull_request) Waiting to run
CI / Build (macos-latest) (pull_request) Waiting to run
CI / Build (ubuntu-latest) (pull_request) Waiting to run
CI / Build (windows-latest) (pull_request) Waiting to run
Some checks are pending
CI / Check (pull_request) Waiting to run
CI / Format (pull_request) Waiting to run
CI / Clippy (pull_request) Waiting to run
CI / Build (macos-latest) (pull_request) Waiting to run
CI / Build (ubuntu-latest) (pull_request) Waiting to run
CI / Build (windows-latest) (pull_request) Waiting to run
This commit is contained in:
125
CONTRIBUTING.md
Normal file
125
CONTRIBUTING.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# Contributing to tele-tui
|
||||
|
||||
Спасибо за интерес к проекту! Мы рады любому вкладу.
|
||||
|
||||
## Как помочь проекту
|
||||
|
||||
### Сообщить о баге
|
||||
|
||||
1. Проверьте, нет ли уже такого issue в [Issues](https://github.com/your-username/tele-tui/issues)
|
||||
2. Создайте новый issue с описанием:
|
||||
- Шаги для воспроизведения
|
||||
- Ожидаемое поведение
|
||||
- Фактическое поведение
|
||||
- Версия ОС и Rust
|
||||
- Логи (если есть)
|
||||
|
||||
### Предложить новую фичу
|
||||
|
||||
1. Проверьте [ROADMAP.md](ROADMAP.md) — возможно, эта фича уже запланирована
|
||||
2. Создайте issue с меткой `enhancement`
|
||||
3. Опишите:
|
||||
- Зачем нужна эта фича
|
||||
- Как она должна работать
|
||||
- Примеры использования
|
||||
|
||||
### Внести код
|
||||
|
||||
1. **Fork** репозитория
|
||||
2. Создайте **feature branch**: `git checkout -b feature/amazing-feature`
|
||||
3. Прочитайте [DEVELOPMENT.md](DEVELOPMENT.md) для понимания процесса разработки
|
||||
4. Внесите изменения
|
||||
5. Протестируйте локально
|
||||
6. Commit: `git commit -m 'Add amazing feature'`
|
||||
7. Push: `git push origin feature/amazing-feature`
|
||||
8. Создайте **Pull Request**
|
||||
|
||||
## Правила кода
|
||||
|
||||
### Стиль кода
|
||||
|
||||
- Используйте `cargo fmt` перед коммитом
|
||||
- Следуйте [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/)
|
||||
- Добавляйте комментарии для сложной логики
|
||||
|
||||
### Структура коммитов
|
||||
|
||||
```
|
||||
<type>: <краткое описание>
|
||||
|
||||
<подробное описание (опционально)>
|
||||
```
|
||||
|
||||
Типы:
|
||||
- `feat`: новая фича
|
||||
- `fix`: исправление бага
|
||||
- `refactor`: рефакторинг без изменения функциональности
|
||||
- `docs`: изменения в документации
|
||||
- `style`: форматирование, отступы
|
||||
- `test`: добавление тестов
|
||||
- `chore`: обновление зависимостей, конфигурации
|
||||
|
||||
Примеры:
|
||||
```
|
||||
feat: add emoji reactions to messages
|
||||
|
||||
fix: correct timezone offset calculation
|
||||
|
||||
docs: update installation instructions
|
||||
```
|
||||
|
||||
### Тестирование
|
||||
|
||||
- Протестируйте вручную все изменения
|
||||
- Опишите сценарии тестирования в PR
|
||||
- Убедитесь, что `cargo build` проходит без ошибок
|
||||
- Убедитесь, что `cargo fmt` и `cargo clippy` не дают предупреждений
|
||||
|
||||
## Процесс Review
|
||||
|
||||
1. Maintainer проверит ваш PR
|
||||
2. Возможны комментарии и запросы на изменения
|
||||
3. После одобрения PR будет смержен
|
||||
4. Ваш вклад появится в следующем релизе
|
||||
|
||||
## Архитектура проекта
|
||||
|
||||
Перед началом работы рекомендуем ознакомиться:
|
||||
|
||||
- [REQUIREMENTS.md](REQUIREMENTS.md) — функциональные требования
|
||||
- [CONTEXT.md](CONTEXT.md) — текущий статус и архитектурные решения
|
||||
- [ROADMAP.md](ROADMAP.md) — план развития
|
||||
|
||||
### Структура кода
|
||||
|
||||
```
|
||||
src/
|
||||
├── main.rs # Event loop, инициализация
|
||||
├── config.rs # Конфигурация
|
||||
├── app/ # Состояние приложения
|
||||
├── ui/ # Отрисовка UI
|
||||
├── input/ # Обработка ввода
|
||||
├── utils.rs # Утилиты
|
||||
└── tdlib/ # TDLib интеграция
|
||||
```
|
||||
|
||||
### Ключевые принципы
|
||||
|
||||
1. **Неблокирующий UI**: TDLib updates в отдельном потоке
|
||||
2. **Оптимизация памяти**: LRU кеши, лимиты на коллекции
|
||||
3. **Vim-style навигация**: консистентные хоткеи
|
||||
4. **Graceful degradation**: fallback для отсутствующих данных
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
- Будьте вежливы и уважительны
|
||||
- Конструктивная критика приветствуется
|
||||
- Фокус на технических аспектах
|
||||
|
||||
## Вопросы?
|
||||
|
||||
Создайте issue с меткой `question` или свяжитесь с maintainers.
|
||||
|
||||
## Лицензия
|
||||
|
||||
Внося код в этот проект, вы соглашаетесь с лицензией [MIT](LICENSE).
|
||||
Reference in New Issue
Block a user