Un Dart/Flutter qui ne casse pas en production — sans négociation.
Un volet langage et framework pour les clients mobiles : l'analyseur bloque le merge, le bang est interdit et le plancher applicatif (IAM, offline, stores) reste à schematize-mobile.
$ schematize install dartPlanchers non négociables
Jamais désactivés pour aller plus vite. Liste complète dans la skill.
Le bang (!) est interdit en production
Il désactive précisément la vérification que la migration vers la null safety a coûtée ; late et dynamic ne sont pas non plus des correctifs.
Chaque Future est attendu
Ou un unawaited(...) explicite ; l'oubli produit un ordre d'exécution que personne n'a écrit et une erreur globale non gérée.
Cycle de vie maîtrisé
Stream, Timer et AnimationController sont annulés dans dispose() ; un BuildContext après un await exige mounted.
Calcul lourd hors du thread UI
Utilisez compute ou Isolate ; le symptôme est de la saccade, pas une erreur, et passe donc inaperçu.
Erreurs avec stack trace
Toujours on X catch (e, s) ; un catch (e) {} vide et print comme traitement sont interdits.
Secrets hors du bundle
Pas même via --dart-define ; shared_preferences n'est pas un coffre, les identifiants vont dans flutter_secure_storage, Keychain ou Keystore.
Build reproductible et lints explicites
pubspec.lock commité dans les applications, SDK épinglé en CI et lints du plancher activés dans analysis_options.yaml ; flutter analyze bloque le merge.
Commandes
Installées dans .claude/commands/. Utilisez /dart-help à tout moment.
/dart-ccContext compact : écrit le handoff dans l'archive et lance /compact./dart-claudeCrée ou fusionne le CLAUDE.md toujours actif à la racine du dépôt, sans écraser les blocs d'autres skills./dart-handoffGénère le handoff (context.md + checklist.md) dans l'archive, sans compacter./dart-helpListe les commandes./dart-loadCharge de force tout le corps normatif et l'applique pendant la session./dart-reviewRevoit les fichiers .dart et le projet face au plancher : lance le gate check-dart.sh puis lit ce que la machine ne lit pas (asynchrone, cycle de vie, frontière avec mobile).Pour les agents IA
Installez sans intervention humaine. Métadonnées dans llms.txt.
- Exécutez : git clone https://github.com/schematizeme/skill-dart.git && ./skill-dart/install.sh
- Ou téléchargez : https://github.com/schematizeme/skill-dart/releases/latest/download/skill-dart.zip et décompressez dans .claude/skills/
- Copiez assets/CLAUDE.md à la racine du dépôt (règle toujours active).
- Confirmez avec /dart-help.
Discussion
Chargement…