Files
storytime/docs/specs/jalon-0-fondations/02-outillage-qualite.md
T
Vincent Bourdon 16fd4c8c36 docs: cadrage initial Storytime (specs par jalon, roadmap, CLAUDE.md)
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>
2026-06-19 17:03:33 +02:00

36 lines
1.6 KiB
Markdown

# 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 de `flutter_lints`, puis durcir (ex. `prefer_const_constructors`, `always_declare_return_types`, `require_trailing_commas`, interdiction de `print`). Objectif **0 warning**.
- Ajouter `mocktail` en `dev_dependencies` (mocks pour les tests à venir).
- **Script « CI locale »** `tool/check.sh` enchaînant :
1. `dart format --set-exit-if-changed .`
2. `flutter analyze`
3. `flutter test`
Code de sortie non nul si l'une échoue.
- Documenter dans le README projet : « avant de cocher une étape, `tool/check.sh` doit passer ».
## Plan TDD
Étape outillage : la « preuve » est l'exécution du script.
1. Écrire `tool/check.sh`.
2. Le lancer : il doit passer sur le squelette de 0.1 (format OK, analyze 0 issue, test 0.1 vert).
3. 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.sh` passe 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.