Du Kotlin sans !!, sans GlobalScope et sans secret dans l'APK — sans négociation.
Un plancher de langage pour le client Android et KMP : nullabilité honnête, coroutines structurées, erreur comme valeur et build reproductible. Le plancher d'app (IAM, offline, stores) relève de schematize-mobile, qui prime.
$ schematize install kotlinPlanchers non négociables
Jamais désactivés "pour aller plus vite". La liste complète est dans la skill.
!! est interdit
En production, !! est un NPE choisi : utiliser ?., ?: ou requireNotNull avec motif, et traiter les platform types issus de Java comme nullables.
Coroutines structurées
GlobalScope et runBlocking dans une app sont interdits ; les Dispatchers vivent dans le dépôt, pas chez l'appelant.
L'annulation n'est pas une erreur
CancellationException ne doit pas être avalée ; runCatching l'avale par défaut, de même que catch (Throwable).
sealed et when sans else
Avec else, le jour où l'on ajoute un cas le compilateur se tait ; un catch (e: Exception) vide est interdit.
Android sans fuite
Context ou Activity dans un champ statique fuit, pas d'I/O sur le thread principal, et collect avec repeatOnLifecycle.
Sécurité du client et build reproductible
Jamais de secret dans l'APK, SharedPreferences est du XML en clair et android:exported est explicite ; version catalog, locking et wrapper avec checksum.
Commandes
Installées dans .claude/commands/. Lancez /kotlin-help à tout moment.
/kotlin-ccContext compact : écrit le handoff (contexte + checklist) dans l'archive et lance /compact./kotlin-claudeCrée ou fusionne le CLAUDE.md permanent de schematize-kotlin à la racine du dépôt, sans écraser les blocs des autres skills./kotlin-handoffÉcrit le handoff de contexte dans l'archive sans compacter : fin de session ou changement de tâche./kotlin-helpListe toutes les commandes de la skill./kotlin-loadCharge de force tout le corpus normatif de schematize-kotlin et l'applique pendant la session./kotlin-reviewRevoit les .kt/.kts et le manifeste face au plancher : lance le gate et lit ce que la machine ne lit pas.Pour les agents IA
Installez sans humain dans la boucle. Métadonnées dans llms.txt.
- Lancez : git clone https://github.com/schematizeme/skill-kotlin.git && ./skill-kotlin/install.sh
- Ou téléchargez https://github.com/schematizeme/skill-kotlin/releases/latest/download/skill-kotlin.zip et décompressez dans .claude/skills/.
- Copiez assets/CLAUDE.md à la racine du dépôt (règle permanente).
- Confirmez avec /kotlin-help.
Discussion
Chargement…