generated from gilles/template-webapp
1.9 KiB
1.9 KiB
Guide de style
Ce guide définit les conventions de code et de documentation.
Légende des zones
<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer): à compléter par toi selon le projet.<A COMPLETER PAR AGENT>: à compléter par un agent spécialisé.
1. Nommage
- Variables / fonctions : Backend = snake_case (Python PEP8), Frontend = camelCase (TypeScript/JavaScript standard)
- Fichiers / dossiers : Backend = snake_case (item_service.py), Frontend = PascalCase pour composants (ItemCard.tsx), kebab-case pour autres (use-items.ts)
- API endpoints : REST kebab-case
/api/v1/items,/api/v1/item-categories, pluriel pour collections, singulier pour ressource unique
2. Formatage
- Formatter / linter : Backend = ruff (format + lint) + mypy (types), Frontend = Prettier + ESLint + TypeScript strict
- Règles principales : Indentation 4 espaces (Python), 2 espaces (TS/JS), ligne max 100 caractères, trailing commas, quotes doubles
3. Tests
- Nommage des tests : Backend =
test_<fonction>_<scenario>.py, Frontend =<module>.test.ts, fonctions de test descriptivestest_create_item_with_valid_data - Structure des tests : Pattern AAA (Arrange/Act/Assert), fixtures pytest pour setup, mocks minimaux, tests isolés et reproductibles
4. Documentation
- Doc obligatoire : README.md (démarrage), ARCHITECTURE.md (structure technique), fichiers CONTEXT (backend/frontend), ADR pour décisions structurantes
- ADR : Suivre template docs/adr/TEMPLATE.md, numérotation séquentielle (0001, 0002...), statut (proposé/accepté/obsolète), contexte + décision + conséquences