Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ build/
.vite/
*.tsbuildinfo

# OpenAPI genere depuis les annotations @openapi (npm run docs:generate) et
# client genere par Orval depuis ce fichier (npm run generate:api). Jamais
# ecrit a la main, jamais committe : source de verite = les annotations JSDoc.
openapi.json
frontend/src/api/generated/

# tests et couverture
coverage/
.nyc_output/
Expand Down
10 changes: 10 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Aucune de ces technologies ne se remplace sans une ADR validée par le Scrum Mas
| ORM | Prisma | 6 |
| Passerelle | Nginx | `nginx:alpine` |
| Documentation API | swagger-ui-express + swagger-jsdoc | - |
| Client API frontend | Orval (genere depuis l'OpenAPI de chaque service) | - |
| Tests backend | Jest + Supertest | - |
| Tests frontend | Vitest | - |
| Tests bout en bout | Playwright | - |
Expand All @@ -48,6 +49,15 @@ Aucune de ces technologies ne se remplace sans une ADR validée par le Scrum Mas
- Pas de nouvelle dépendance npm sans justification. Si elle est structurante
(ORM, framework, broker de messages), elle passe par une ADR dans
`knowledge-base/adr/`.
- Le contrat OpenAPI de chaque service est **généré** depuis des annotations
JSDoc `@openapi` au-dessus de chaque route (`swagger-jsdoc`), jamais écrit à
la main. Le client frontend est **généré** par Orval depuis ce contrat,
jamais écrit à la main. Voir
[ADR 0011](knowledge-base/adr/0011-openapi-genere-orval.md). Ni
`openapi.json` ni `frontend/src/api/generated/` ne sont committés
(`.gitignore`) : un agent qui les voit absents doit les régénérer
(`npm run docs:generate` dans chaque service, puis `npm run generate:api`
dans `frontend/`), jamais les recréer à la main.

---

Expand Down
Loading
Loading