16fd4c8c36
Lecteur d'histoires cadenassé pour le coucher (Android/Flutter). - CLAUDE.md : principes craftsmanship/TDD/clean code/clean archi + decisions techniques - ROADMAP.md : suivi haut niveau des 7 jalons, a tenir a jour par etape - docs/specs/ : specs completes decoupees par jalon, etapes en sous-fichiers - .gitignore Flutter (pubspec.lock versionne, projet applicatif) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB
0.2 — Outillage qualité
Objectif
Garantir un code uniformément formaté, sans warning, et vérifiable d'une commande.
Périmètre & hors-périmètre
- Inclus : lint strict, format, script de vérification locale, conventions de test.
- Exclus : CI distante (GitHub Actions, etc.) — peut venir plus tard, hors v1.
Dépendances
0.1 (projet existant).
Conception
analysis_options.yaml: partir deflutter_lints, puis durcir (ex.prefer_const_constructors,always_declare_return_types,require_trailing_commas, interdiction deprint). Objectif 0 warning.- Ajouter
mocktailendev_dependencies(mocks pour les tests à venir). - Script « CI locale »
tool/check.shenchaînant :dart format --set-exit-if-changed .flutter analyzeflutter testCode de sortie non nul si l'une échoue.
- Documenter dans le README projet : « avant de cocher une étape,
tool/check.shdoit passer ».
Plan TDD
Étape outillage : la « preuve » est l'exécution du script.
- Écrire
tool/check.sh. - Le lancer : il doit passer sur le squelette de 0.1 (format OK, analyze 0 issue, test 0.1 vert).
- Vérifier qu'il échoue volontairement si on introduit un fichier mal formaté (test du garde-fou), puis rétablir.
Definition of Done
tool/check.shpasse intégralement.flutter analyze: 0 issue.- Étape 0.2 cochée dans
ROADMAP.md.
Risques / notes
- Garder le lint strict mais pragmatique : si une règle gêne sans valeur, la désactiver explicitement avec un commentaire justificatif plutôt que de la subir.