# Правила для Cursor AI ## Соглашение о коммитах При генерации сообщений коммитов ВСЕГДА используй следующий формат: `<тип>(<контекст1>,<контекст2>,...): <короткое описание>` Для Pull Request формат: `<тип>(<контекст1>,<контекст2>,...): <короткое описание>` Где: - `<тип>` - тип коммита (см. ниже) - `<контекст>` - модули/компоненты, которые изменяются (можно указать несколько через запятую) - `<короткое описание>` - краткое описание изменений на русском языке ### Типы коммитов согласно convention: - **feat** - новая функция - **fix** - исправление ошибок - **refactor** - изменение кода, которое не исправляет ошибку и не добавляет функции (рефакторинг кода) - **build** - изменения, влияющие на систему сборки или внешние зависимости (примеры областей: android, ios, linux и так далее) - **docs** - изменения только в документации - **chore** - добавление/обновление/настройка инструментов и библиотек (пример: pubspec.yaml) - **test** - добавление недостающих тестов или исправление существующих тестов - **ci** - изменения в файлах конфигурации и скриптах CI (примеры областей: папка CI) ### Контекст (scope): Указывай модуль или компонент, который изменяется. Можно указать несколько через запятую: - `app` - основное приложение - `di` - dependency injection - `auth` - аутентификация - `api` - API endpoints - `db` - база данных - `config` - конфигурация - `i18n` - интернационализация - `scripts` - скрипты - `pubspec` - зависимости проекта - `android`, `ios`, `linux` - платформы - другие модули проекта ### Примеры правильных коммитов: - `feat(app,di,auth): Добавить локальный репозиторий` - `fix(api): Исправить валидацию запросов` - `docs(i18n): Обновить руководство по генерации` - `refactor(handler): Оптимизировать обработку запросов` - `test(security): Добавить тесты для rate limiter` - `chore(pubspec): Обновить зависимости` ## Язык - Всегда отвечай на русском языке - Коммиты пиши на русском языке - Документацию веди на русском языке - Язык описания PR - Русский ## Стиль кода - Следуй Dart/Flutter conventions - Используй осмысленные имена переменных и функций - Добавляй комментарии к публичным функциям - Группируй импорты (стандартные, внешние, внутренние)