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>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user