Skip to content

Commit 973aaaa

Browse files
authored
Merge pull request #68 from traorecheikh/feat/openapi-orval-codegen
feat(auth,events): documentation OpenAPI generee, client frontend Orval
2 parents f2530d1 + 6ce6e75 commit 973aaaa

24 files changed

Lines changed: 3031 additions & 49 deletions

File tree

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ build/
1515
.vite/
1616
*.tsbuildinfo
1717

18+
# OpenAPI genere depuis les annotations @openapi (npm run docs:generate) et
19+
# client genere par Orval depuis ce fichier (npm run generate:api). Jamais
20+
# ecrit a la main, jamais committe : source de verite = les annotations JSDoc.
21+
openapi.json
22+
frontend/src/api/generated/
23+
1824
# tests et couverture
1925
coverage/
2026
.nyc_output/

AGENTS.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Aucune de ces technologies ne se remplace sans une ADR validée par le Scrum Mas
2525
| ORM | Prisma | 6 |
2626
| Passerelle | Nginx | `nginx:alpine` |
2727
| Documentation API | swagger-ui-express + swagger-jsdoc | - |
28+
| Client API frontend | Orval (genere depuis l'OpenAPI de chaque service) | - |
2829
| Tests backend | Jest + Supertest | - |
2930
| Tests frontend | Vitest | - |
3031
| Tests bout en bout | Playwright | - |
@@ -48,6 +49,15 @@ Aucune de ces technologies ne se remplace sans une ADR validée par le Scrum Mas
4849
- Pas de nouvelle dépendance npm sans justification. Si elle est structurante
4950
(ORM, framework, broker de messages), elle passe par une ADR dans
5051
`knowledge-base/adr/`.
52+
- Le contrat OpenAPI de chaque service est **généré** depuis des annotations
53+
JSDoc `@openapi` au-dessus de chaque route (`swagger-jsdoc`), jamais écrit à
54+
la main. Le client frontend est **généré** par Orval depuis ce contrat,
55+
jamais écrit à la main. Voir
56+
[ADR 0011](knowledge-base/adr/0011-openapi-genere-orval.md). Ni
57+
`openapi.json` ni `frontend/src/api/generated/` ne sont committés
58+
(`.gitignore`) : un agent qui les voit absents doit les régénérer
59+
(`npm run docs:generate` dans chaque service, puis `npm run generate:api`
60+
dans `frontend/`), jamais les recréer à la main.
5161

5262
---
5363

0 commit comments

Comments
 (0)