Files
pi-kit/skills/kotlin-standards/SKILL.md
T
dev c2cdf40cad docs(skills): fill cross-cutting Git/Jira conventions
- commit format: Conventional Commits (all six *-standards)
- branches/deploy: feature branches from main; release-* -> stage, tag v* -> prod (all six *-standards)
- jira-workflow: statuses To Do -> In Progress -> Review -> Done; who moves status when; MR link + status transition policy; comment guidance
- key-prefix list stays TODO (unknown project prefixes)

Verified: no leftover commit-format TODOs, deploy convention in all 6, skills still load via pi.
2026-07-16 13:10:34 +03:00

3.8 KiB

name, description
name description
kotlin-standards Используй при написании, ревью и проверке кода на 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/...     # инструментальные тесты
<feature-module>/         # модульная структура

Линтеры и форматирование

  • Стиль/формат: ktlint — ./gradlew ktlintCheck (автоформат ./gradlew ktlintFormat).
  • Статический анализ: detekt — ./gradlew detekt (конфиг detekt.yml).
  • Android Lint: ./gradlew lint.

Тесты

  • Unit: ./gradlew test.
  • Инструментальные (Android): ./gradlew connectedAndroidTest (нужен эмулятор/устройство).
  • Требования к покрытию / обязательные виды тестов: <!-- TODO -->.

Сборка и зависимости

  • Сборка: ./gradlew assembleDebug (релиз — assembleRelease).
  • Версии зависимостей — через version catalog (gradle/libs.versions.toml), lock коммитим.

Коммиты и MR

  • Формат коммитов: Conventional Commits (feat:, fix:, chore:, docs:, refactor:, test: …).
  • Ветки и деплой: фича-ветки — от main (в имя ветки желательно включать ключ тикета). Деплой управляется ветками/тегами: ветка release-* → раскатка на stage; тег v* → раскатка в прод. Ветки release-* и теги v* без необходимости не пушь — permission-gate переспросит.
  • MR обязателен (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение permission-gate дополнительно переспросит.
  • Перед MR: ktlintCheck, detekt, test (и lint) — всё зелёное.
  • Описание MR: что и зачем, как проверено, ссылка на тикет (скилл jira-workflow).

Чек-лист перед MR

  • ./gradlew ktlintCheck чисто
  • ./gradlew detekt чисто
  • ./gradlew test зелёные, есть тесты на новую логику / фикс
  • ./gradlew lint без новых предупреждений
  • нет секретов и закоммиченных ключей/.env
  • описание MR со ссылкой на тикет