feat(skills): add kotlin-standards + swift-standards for mobile profile
- kotlin-standards: gradle build/test, ktlint/detekt, Android lint; company specifics TODO - swift-standards: SwiftPM/xcodebuild, swiftformat/swiftlint, XCTest; company specifics TODO - wire mobile profile -> kotlin+swift; 'all' now includes both; README matrix updated - verified all six *-standards skills load via pi RPC
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
---
|
||||
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/... # инструментальные тесты
|
||||
<feature-module>/ # модульная структура
|
||||
```
|
||||
|
||||
<!-- TODO: заполнить реальной эталонной структурой проекта/модулей и версией AGP/Gradle -->
|
||||
|
||||
## Линтеры и форматирование
|
||||
|
||||
- Стиль/формат: **ktlint** — `./gradlew ktlintCheck` (автоформат `./gradlew ktlintFormat`).
|
||||
- Статический анализ: **detekt** — `./gradlew detekt` (конфиг `detekt.yml`).
|
||||
- Android Lint: `./gradlew lint`.
|
||||
<!-- TODO: корпоративные конфиги ktlint/detekt (общий пресет), если есть -->
|
||||
|
||||
## Тесты
|
||||
|
||||
- Unit: `./gradlew test`.
|
||||
- Инструментальные (Android): `./gradlew connectedAndroidTest` (нужен эмулятор/устройство).
|
||||
- Требования к покрытию / обязательные виды тестов: `<!-- TODO -->`.
|
||||
|
||||
## Сборка и зависимости
|
||||
|
||||
- Сборка: `./gradlew assembleDebug` (релиз — `assembleRelease`).
|
||||
- Версии зависимостей — через version catalog (`gradle/libs.versions.toml`), lock коммитим.
|
||||
|
||||
## Коммиты и MR
|
||||
|
||||
- **Формат коммитов:** `<!-- TODO: например Conventional Commits или свой -->`.
|
||||
- **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые
|
||||
ветки запрещён — расширение `permission-gate` дополнительно переспросит.
|
||||
- Перед MR: `ktlintCheck`, `detekt`, `test` (и `lint`) — всё зелёное.
|
||||
- Описание MR: что и зачем, как проверено, ссылка на тикет (скилл `jira-workflow`).
|
||||
|
||||
## Чек-лист перед MR
|
||||
|
||||
- [ ] `./gradlew ktlintCheck` чисто
|
||||
- [ ] `./gradlew detekt` чисто
|
||||
- [ ] `./gradlew test` зелёные, есть тесты на новую логику / фикс
|
||||
- [ ] `./gradlew lint` без новых предупреждений
|
||||
- [ ] нет секретов и закоммиченных ключей/`.env`
|
||||
- [ ] описание MR со ссылкой на тикет
|
||||
Reference in New Issue
Block a user