--- name: kotlin-standards description: Используй при написании, ревью и проверке кода на Kotlin (Android и backend) — структура проекта, запуск ktlint/detekt, сборка и тесты через Gradle, формат коммитов и merge request. Применяй всегда, когда пишешь или правишь Kotlin-код, готовишь MR, а также в командах /bugfix, /feature и /review для Kotlin/Android-репозиториев. --- # Стандарты Kotlin Один из наших языков — **Kotlin** (в первую очередь Android). Ниже — общепринятые дефолты экосистемы; специфичное для компании помечено `TODO` — уточняй, не выдумывай. ## Структура Ориентир (уточняется под компанию): ``` settings.gradle.kts build.gradle.kts app/ # Android-модуль приложения src/main/kotlin/... src/test/... # unit-тесты src/androidTest/... # инструментальные тесты / # модульная структура ``` ## Линтеры и форматирование - Стиль/формат: **ktlint** — `./gradlew ktlintCheck` (автоформат `./gradlew ktlintFormat`). - Статический анализ: **detekt** — `./gradlew detekt` (конфиг `detekt.yml`). - Android Lint: `./gradlew lint`. ## Тесты - Unit: `./gradlew test`. - Инструментальные (Android): `./gradlew connectedAndroidTest` (нужен эмулятор/устройство). - Требования к покрытию / обязательные виды тестов: ``. ## Сборка и зависимости - Сборка: `./gradlew assembleDebug` (релиз — `assembleRelease`). - Версии зависимостей — через version catalog (`gradle/libs.versions.toml`), lock коммитим. ## Коммиты и MR - **Формат коммитов:** ``. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `ktlintCheck`, `detekt`, `test` (и `lint`) — всё зелёное. - Описание MR: что и зачем, как проверено, ссылка на тикет (скилл `jira-workflow`). ## Чек-лист перед MR - [ ] `./gradlew ktlintCheck` чисто - [ ] `./gradlew detekt` чисто - [ ] `./gradlew test` зелёные, есть тесты на новую логику / фикс - [ ] `./gradlew lint` без новых предупреждений - [ ] нет секретов и закоммиченных ключей/`.env` - [ ] описание MR со ссылкой на тикет