living-documentation 7.46.0 → 7.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +87 -18
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/lib/config.js +2 -2
- package/dist/src/lib/config.js.map +1 -1
- package/dist/starting-doc/.living-doc.json +1 -1
- package/dist/starting-doc/ADRS/2026_01_01_[ADR]_example_architecture_decision.md +58 -0
- package/dist/starting-doc/AI/HOW_TO.md +338 -0
- package/dist/starting-doc/AI/default/AGENTS.md +14 -0
- package/dist/starting-doc/AI/default/CLAUDE.md +14 -0
- package/dist/starting-doc/AI/default/MEMORY.md +7 -0
- package/dist/starting-doc/AI/flavors/project-instructions-backend-api.md +41 -0
- package/dist/starting-doc/AI/flavors/project-instructions-frontend-app.md +42 -0
- package/dist/starting-doc/AI/flavors/project-instructions-library-cli.md +41 -0
- package/dist/starting-doc/AI/flavors/project-instructions-monorepo.md +41 -0
- package/dist/starting-doc/AI/project-instructions.md +78 -0
- package/dist/starting-doc/AI/rules/no-magic-numbers.md +18 -0
- package/dist/starting-doc-fr/.living-doc.json +52 -0
- package/dist/starting-doc-fr/ADRS/2026_01_01_[ADR]_example_architecture_decision.md +58 -0
- package/dist/starting-doc-fr/AI/HOW_TO.md +338 -0
- package/dist/starting-doc-fr/AI/default/AGENTS.md +14 -0
- package/dist/starting-doc-fr/AI/default/CLAUDE.md +14 -0
- package/dist/starting-doc-fr/AI/default/MEMORY.md +7 -0
- package/dist/starting-doc-fr/AI/flavors/project-instructions-backend-api.md +41 -0
- package/dist/starting-doc-fr/AI/flavors/project-instructions-frontend-app.md +42 -0
- package/dist/starting-doc-fr/AI/flavors/project-instructions-library-cli.md +41 -0
- package/dist/starting-doc-fr/AI/flavors/project-instructions-monorepo.md +41 -0
- package/dist/starting-doc-fr/AI/project-instructions.md +78 -0
- package/dist/starting-doc-fr/AI/rules/no-magic-numbers.md +18 -0
- package/package.json +1 -1
- package/dist/starting-doc/.annotations.json +0 -1
- package/dist/starting-doc/.diagrams.json +0 -2049
- package/dist/starting-doc/.metadata.json +0 -12
- package/dist/starting-doc/1_tutorial/2026_04_11_13_25_[General]_crer_vos_dossiers.md +0 -16
- package/dist/starting-doc/1_tutorial/2026_04_11_18_58_[General]_creer_un_document_dans_un_dossier.md +0 -8
- package/dist/starting-doc/1_tutorial/2026_04_12_09_00_[General]_editer_et_sauvegarder.md +0 -39
- package/dist/starting-doc/1_tutorial/2026_04_12_10_00_[General]_utiliser_les_snippets.md +0 -71
- package/dist/starting-doc/2026_04_08_20_52_[General]_welcome.md +0 -17
- package/dist/starting-doc/2026_04_11_12_55_[General]_premiers_pas.md +0 -271
- package/dist/starting-doc/2_guide/2026_04_08_00_04_[DOCUMENT]_utilisation_des_images_plein_ecran_lien_clickable.md +0 -40
- package/dist/starting-doc/2_guide/2026_04_08_23_38_[Configuration]_demarrage_de_living_documentation.md +0 -32
- package/dist/starting-doc/2_guide/2026_04_09_09_00_[NAVIGATION]_recherche_plein_texte.md +0 -65
- package/dist/starting-doc/2_guide/2026_04_09_10_00_[EXPORT]_exporter_en_pdf.md +0 -43
- package/dist/starting-doc/2_guide/2026_04_09_11_00_[Configuration]_configurer_le_panneau_admin.md +0 -55
- package/dist/starting-doc/2_guide/2026_04_09_12_00_[Configuration]_extra_files.md +0 -68
- package/dist/starting-doc/2_guide/2026_04_09_13_00_[WORDCLOUD]_word_cloud.md +0 -54
- package/dist/starting-doc/2_guide/2026_04_09_14_00_[DIAGRAM]_creer_et_lier_un_diagramme.md +0 -77
- package/dist/starting-doc/3_concept/2026_04_08_20_58_[DOCUMENTING]_ADRS.md +0 -20
- package/dist/starting-doc/3_concept/2026_04_08_22_15_[DOCUMENTING]_living_documentation.md +0 -17
- package/dist/starting-doc/3_concept/2026_04_08_22_46_[METHODOLOGY]_diataxis_architecture_du_contenu.md +0 -16
- package/dist/starting-doc/4_reference/2026_04_08_23_14_[FUNDAMENTALS]_the_living_documentation_tool.md +0 -41
- package/dist/starting-doc/4_reference/2026_04_09_01_00_[REFERENCE]_raccourcis_clavier.md +0 -61
- package/dist/starting-doc/4_reference/2026_04_09_02_00_[REFERENCE]_tokens_pattern_nommage.md +0 -75
- package/dist/starting-doc/4_reference/2026_04_09_03_00_[REFERENCE]_types_de_snippets.md +0 -68
- package/dist/starting-doc/4_reference/2026_04_11_17_31_[FUNDAMENTALS]_architecturer_une_documentation.md +0 -12
- package/dist/starting-doc/4_reference/2026_04_12_14_07_[FUNDAMENTALS]_dossiers_et_catgories.md +0 -89
- package/dist/starting-doc/5_talks/2026_04_28_09_48_[CONFERENCE]_demo_living_documentation_mcp_en_conference.md +0 -312
- package/dist/starting-doc/images/admin_screenshot.png +0 -0
- package/dist/starting-doc/images/ajout-document.png +0 -0
- package/dist/starting-doc/images/ajouter-document-categorie.png +0 -0
- package/dist/starting-doc/images/ajouter_un_document_dans_un_dossier.png +0 -0
- package/dist/starting-doc/images/architecturer_une_documentation_reference.png +0 -0
- package/dist/starting-doc/images/cr_er_un_document.png +0 -0
- package/dist/starting-doc/images/creation-nouveau-dossier.png +0 -0
- package/dist/starting-doc/images/creer-document-context-engineering.png +0 -0
- package/dist/starting-doc/images/creer-dossier-only-tutoriel.png +0 -0
- package/dist/starting-doc/images/creer-dossier-tutoriel.png +0 -0
- package/dist/starting-doc/images/creer-dossiers-done.png +0 -0
- package/dist/starting-doc/images/creer-un-document.png +0 -0
- package/dist/starting-doc/images/creer-vos-dossiers-tutoriel.png +0 -0
- package/dist/starting-doc/images/creer-vos-dossiers.png +0 -0
- package/dist/starting-doc/images/decouverte_adrs.png +0 -0
- package/dist/starting-doc/images/diataxis.png +0 -0
- package/dist/starting-doc/images/diataxis_callout.png +0 -0
- package/dist/starting-doc/images/document-cree.png +0 -0
- package/dist/starting-doc/images/liens_snippets.png +0 -0
- package/dist/starting-doc/images/living_documentation.png +0 -0
- package/dist/starting-doc/images/living_documentation_context_demo_conf.png +0 -0
- package/dist/starting-doc/images/npm_logo.png +0 -0
- package/dist/starting-doc/images/popup-creer-document.png +0 -0
- package/dist/starting-doc/images/popup-creer-dossier.png +0 -0
- package/dist/starting-doc/images/popup-dossier-cree.png +0 -0
- package/dist/starting-doc/images/quatre-dossiers-crees.png +0 -0
- package/dist/starting-doc/images/screenshot-living-doc.png +0 -0
- package/dist/starting-doc/images/the_living_documentation_tool.png +0 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
# HOW TO - Initialiser le contexte IA
|
|
2
|
+
|
|
3
|
+
Ce dossier contient une configuration de départ pour le développement assisté par IA.
|
|
4
|
+
|
|
5
|
+
L'objectif est de donner aux outils IA un point d'entrée déterministe :
|
|
6
|
+
|
|
7
|
+
- `AGENTS.md` pour Codex et les outils de type agent
|
|
8
|
+
- `CLAUDE.md` pour Claude
|
|
9
|
+
- `memory/MEMORY.md` pour la mémoire locale du projet
|
|
10
|
+
- `AI/project-instructions.md` pour les instructions projet partagées
|
|
11
|
+
- `AI/rules/*.md` pour les règles à appliquer pendant les modifications
|
|
12
|
+
|
|
13
|
+
Codex cherche `AGENTS.md`. Claude cherche `CLAUDE.md`. Les deux fichiers doivent pointer vers les mêmes instructions projet pour que les outils suivent les mêmes règles.
|
|
14
|
+
|
|
15
|
+
## Comment ça marche
|
|
16
|
+
|
|
17
|
+
Ce starter sépare le contexte IA en couches déterministes :
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
AGENTS.md / CLAUDE.md
|
|
21
|
+
-> points d'entrée propres aux outils à la racine du projet
|
|
22
|
+
|
|
23
|
+
AI/project-instructions.md
|
|
24
|
+
-> instructions de travail partagées par tous les outils IA
|
|
25
|
+
|
|
26
|
+
AI/rules/*.md
|
|
27
|
+
-> petites règles réutilisables à appliquer selon les fichiers modifiés
|
|
28
|
+
|
|
29
|
+
ADRS/*.md
|
|
30
|
+
-> décisions durables qui expliquent pourquoi le projet fonctionne ainsi
|
|
31
|
+
|
|
32
|
+
memory/MEMORY.md
|
|
33
|
+
-> index de mémoire locale pour le contexte réutilisé souvent
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Les fichiers d'entrée doivent rester courts. Leur rôle est de dire à l'IA où chercher, pas de dupliquer toute la connaissance du projet.
|
|
37
|
+
|
|
38
|
+
Living Documentation rend ensuite ces fichiers visibles comme des documents classiques. Quand un même fichier doit être visible depuis plusieurs endroits, préférer les liens symboliques afin de conserver une seule source de vérité.
|
|
39
|
+
|
|
40
|
+
Workflow IA attendu :
|
|
41
|
+
|
|
42
|
+
1. Lire `AGENTS.md` ou `CLAUDE.md`, selon l'outil.
|
|
43
|
+
2. Suivre le lien vers `AI/project-instructions.md`.
|
|
44
|
+
3. Lire `memory/MEMORY.md` et charger seulement les mémoires pertinentes.
|
|
45
|
+
4. Lire les règles applicables dans `AI/rules/*.md`.
|
|
46
|
+
5. Inspecter le frontmatter des ADR lorsque la tâche peut toucher une décision existante.
|
|
47
|
+
6. Réaliser la modification.
|
|
48
|
+
7. À la fin d'une feature cohérente, mettre à jour la documentation durable si nécessaire.
|
|
49
|
+
8. Attacher les métadonnées Living Documentation aux documents créés ou mis à jour lorsque des fichiers source prouvent leur contenu.
|
|
50
|
+
|
|
51
|
+
## 1. Choisir un flavor d'instructions projet
|
|
52
|
+
|
|
53
|
+
Le fichier par défaut est :
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
AI/project-instructions.md
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Vous pouvez le garder ou le remplacer par un des exemples dans :
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
AI/flavors/
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Exemples disponibles :
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
AI/flavors/project-instructions-frontend-app.md
|
|
69
|
+
AI/flavors/project-instructions-backend-api.md
|
|
70
|
+
AI/flavors/project-instructions-library-cli.md
|
|
71
|
+
AI/flavors/project-instructions-monorepo.md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Pour utiliser un flavor, copiez-le par-dessus le fichier par défaut :
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
cp AI/flavors/project-instructions-frontend-app.md AI/project-instructions.md
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Si vous préférez renommer l'exemple choisi plutôt que le garder dans `AI/flavors/`, déplacez-le vers l'emplacement canonique :
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
mv AI/flavors/project-instructions-frontend-app.md AI/project-instructions.md
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Puis éditez `AI/project-instructions.md` :
|
|
87
|
+
|
|
88
|
+
- remplacez `DOCS_FOLDER` par le vrai nom du dossier de documentation, par exemple `documentation`, `docs` ou `example`
|
|
89
|
+
- remplacez les commandes d'exemple par les vraies commandes du projet
|
|
90
|
+
- supprimez les sections qui ne s'appliquent pas
|
|
91
|
+
- ajoutez les notes d'architecture spécifiques au projet
|
|
92
|
+
|
|
93
|
+
## 2. Installer les points d'entrée des agents
|
|
94
|
+
|
|
95
|
+
Les templates sont fournis dans :
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
AI/default/AGENTS.md
|
|
99
|
+
AI/default/CLAUDE.md
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Créez des liens symboliques depuis la racine du projet vers ces templates.
|
|
103
|
+
|
|
104
|
+
Si le dossier de documentation s'appelle `documentation` :
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
ln -s documentation/AI/default/AGENTS.md AGENTS.md
|
|
108
|
+
ln -s documentation/AI/default/CLAUDE.md CLAUDE.md
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Si le dossier a un autre nom, adaptez le chemin :
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
ln -s <docs-folder>/AI/default/AGENTS.md AGENTS.md
|
|
115
|
+
ln -s <docs-folder>/AI/default/CLAUDE.md CLAUDE.md
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Utilisez les deux fichiers si le projet peut être utilisé par plusieurs outils IA. Gardez seulement celui dont vous avez besoin si l'équipe standardise un seul outil.
|
|
119
|
+
|
|
120
|
+
Après création des liens, ouvrez `AGENTS.md` et `CLAUDE.md` depuis la racine du projet et vérifiez que leurs chemins pointent vers le bon dossier de documentation.
|
|
121
|
+
|
|
122
|
+
## 3. Installer la mémoire projet
|
|
123
|
+
|
|
124
|
+
La mémoire doit vivre dans le projet, pas dans un dossier global propre à un outil IA.
|
|
125
|
+
|
|
126
|
+
Créez un dossier mémoire local :
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
mkdir -p memory
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Puis créez un lien symbolique vers l'index mémoire du starter :
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
ln -s ../<docs-folder>/AI/default/MEMORY.md memory/MEMORY.md
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Exemple si le dossier de documentation est `documentation` :
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
ln -s ../documentation/AI/default/MEMORY.md memory/MEMORY.md
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Ensuite, éditez `memory/MEMORY.md` et ajoutez les fichiers mémoire utiles au projet.
|
|
145
|
+
|
|
146
|
+
Fichiers mémoire typiques :
|
|
147
|
+
|
|
148
|
+
```text
|
|
149
|
+
memory/project-overview.md
|
|
150
|
+
memory/architecture.md
|
|
151
|
+
memory/testing.md
|
|
152
|
+
memory/domain-language.md
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## 4. Relire les règles IA
|
|
156
|
+
|
|
157
|
+
Les règles vivent dans :
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
AI/rules/
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Le starter inclut :
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
AI/rules/no-magic-numbers.md
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Gardez-la si elle est utile, adaptez-la au projet ou supprimez-la.
|
|
170
|
+
|
|
171
|
+
Ajoutez d'autres règles lorsque vous voulez qu'un comportement soit appliqué de façon constante par les outils IA :
|
|
172
|
+
|
|
173
|
+
- règles i18n
|
|
174
|
+
- stratégie de tests
|
|
175
|
+
- compatibilité d'API publique
|
|
176
|
+
- limites de sécurité
|
|
177
|
+
- contraintes d'architecture
|
|
178
|
+
|
|
179
|
+
## 5. Comprendre les ADR
|
|
180
|
+
|
|
181
|
+
Les ADR vivent dans :
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
ADRS/
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Le starter inclut un ADR exemple :
|
|
188
|
+
|
|
189
|
+
```text
|
|
190
|
+
ADRS/2026_01_01_[ADR]_example_architecture_decision.md
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Utilisez-le comme template lorsqu'une décision importante doit être enregistrée.
|
|
194
|
+
|
|
195
|
+
Un ADR n'est pas un journal de tâches. Il doit expliquer une décision que les humains ou les assistants IA devront comprendre avant de modifier le code lié.
|
|
196
|
+
|
|
197
|
+
Bons candidats pour un ADR :
|
|
198
|
+
|
|
199
|
+
- choix d'un framework, format de stockage ou protocole ;
|
|
200
|
+
- définition d'une frontière d'architecture ;
|
|
201
|
+
- changement d'un contrat d'API publique ;
|
|
202
|
+
- adoption d'une stratégie de test, release ou déploiement ;
|
|
203
|
+
- création d'une règle expliquant pourquoi le code doit être écrit d'une certaine façon.
|
|
204
|
+
|
|
205
|
+
Évitez les ADR pour les petits détails d'implémentation évidents dans le code.
|
|
206
|
+
|
|
207
|
+
Workflow IA recommandé :
|
|
208
|
+
|
|
209
|
+
1. Lister les fichiers dans `ADRS/`.
|
|
210
|
+
2. Lire d'abord seulement le frontmatter : `description` et `tags`.
|
|
211
|
+
3. Charger l'ADR complet seulement s'il est pertinent pour la tâche.
|
|
212
|
+
4. À la fin d'une feature cohérente ou d'un refactor significatif, décider si un ADR doit être créé ou mis à jour.
|
|
213
|
+
5. Si la feature change une décision durable, créer ou mettre à jour l'ADR de manière autonome.
|
|
214
|
+
6. Après écriture de l'ADR, attacher les métadonnées aux fichiers source qui prouvent ou implémentent la décision.
|
|
215
|
+
|
|
216
|
+
C'est volontaire : l'écriture d'ADR ne doit pas dépendre d'une demande utilisateur à chaque fois. L'IA doit garder le journal de décisions à jour lorsqu'elle termine une feature significative.
|
|
217
|
+
|
|
218
|
+
Format de nommage recommandé :
|
|
219
|
+
|
|
220
|
+
```text
|
|
221
|
+
YYYY_MM_DD_[CATEGORY]_short_decision_title.md
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Exemple :
|
|
225
|
+
|
|
226
|
+
```text
|
|
227
|
+
2026_01_01_[ADR]_example_architecture_decision.md
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Gardez le frontmatter utile pour la découverte :
|
|
231
|
+
|
|
232
|
+
```markdown
|
|
233
|
+
---
|
|
234
|
+
**date:** 2026-01-01
|
|
235
|
+
**status:** Accepted
|
|
236
|
+
**description:** Une phrase qui explique la décision et pourquoi elle compte.
|
|
237
|
+
**tags:** architecture, testing, api
|
|
238
|
+
---
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Utilisez `status` de façon cohérente. Valeurs courantes :
|
|
242
|
+
|
|
243
|
+
- `Proposed`
|
|
244
|
+
- `Accepted`
|
|
245
|
+
- `Superseded`
|
|
246
|
+
- `To be validated`
|
|
247
|
+
|
|
248
|
+
## 6. Comprendre les métadonnées et la fiabilité
|
|
249
|
+
|
|
250
|
+
Living Documentation peut lier un document à des fichiers source. Chaque lien stocke un hash du fichier source. La jauge de fiabilité montre ensuite si le document a peut-être dérivé du code.
|
|
251
|
+
|
|
252
|
+
Pour le développement assisté par IA, cela fait partie du workflow documentaire :
|
|
253
|
+
|
|
254
|
+
- quand une IA crée ou met à jour un ADR, attacher les fichiers source qui implémentent ou prouvent la décision ;
|
|
255
|
+
- quand une IA crée ou met à jour un guide technique, attacher les fichiers source décrits par le guide ;
|
|
256
|
+
- quand le document est correct, rafraîchir ou rebaseliner les hashes de métadonnées ;
|
|
257
|
+
- si l'IA ne peut pas mettre à jour les métadonnées directement, elle doit le dire et lister les fichiers à attacher manuellement.
|
|
258
|
+
|
|
259
|
+
Si l'IA a accès aux outils MCP Living Documentation, elle doit préférer :
|
|
260
|
+
|
|
261
|
+
```text
|
|
262
|
+
add_metadata
|
|
263
|
+
refresh_metadata
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Sinon, utilisez l'interface de métadonnées du document dans Living Documentation.
|
|
267
|
+
|
|
268
|
+
## 7. Enregistrer les fichiers d'instructions dans Living Documentation
|
|
269
|
+
|
|
270
|
+
Démarrez Living Documentation :
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
npx living-documentation <docs-folder>
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Ouvrez :
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
http://localhost:4321/context
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Utilisez **Add AI instruction file** pour lier les fichiers d'instructions comme `AGENTS.md`, `CLAUDE.md`, `memory/MEMORY.md` ou d'autres documents projet.
|
|
283
|
+
|
|
284
|
+
Living Documentation crée des liens symboliques sous :
|
|
285
|
+
|
|
286
|
+
```text
|
|
287
|
+
AI/
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Cela rend les fichiers visibles dans la documentation principale sans créer de sources de vérité dupliquées.
|
|
291
|
+
|
|
292
|
+
## 8. Nettoyer le starter
|
|
293
|
+
|
|
294
|
+
Après l'installation, supprimez ce qui n'est pas utile.
|
|
295
|
+
|
|
296
|
+
Supprimez généralement les flavors inutilisés :
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
rm -rf AI/flavors
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Supprimez les templates d'entrée inutiles si vous n'utilisez pas les deux outils :
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
rm AI/default/CLAUDE.md
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
ou :
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
rm AI/default/AGENTS.md
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Gardez `AI/default/MEMORY.md` seulement si `memory/MEMORY.md` pointe vers lui. Si vous avez copié le fichier au lieu de créer un lien, supprimez le template inutilisé.
|
|
315
|
+
|
|
316
|
+
Gardez `AI/HOW_TO.md` seulement si vous voulez que les futurs contributeurs voient le processus d'installation. Sinon, supprimez-le après initialisation.
|
|
317
|
+
|
|
318
|
+
Gardez l'ADR exemple seulement si vous voulez un template dans le projet. Sinon, copiez-le quand nécessaire et supprimez l'exemple.
|
|
319
|
+
|
|
320
|
+
## 9. Structure finale attendue
|
|
321
|
+
|
|
322
|
+
Un projet initialisé minimal ressemble généralement à :
|
|
323
|
+
|
|
324
|
+
```text
|
|
325
|
+
AGENTS.md -> <docs-folder>/AI/default/AGENTS.md
|
|
326
|
+
CLAUDE.md -> <docs-folder>/AI/default/CLAUDE.md
|
|
327
|
+
memory/
|
|
328
|
+
MEMORY.md -> ../<docs-folder>/AI/default/MEMORY.md
|
|
329
|
+
<docs-folder>/
|
|
330
|
+
AI/
|
|
331
|
+
project-instructions.md
|
|
332
|
+
rules/
|
|
333
|
+
no-magic-numbers.md
|
|
334
|
+
ADRS/
|
|
335
|
+
2026_01_01_[ADR]_example_architecture_decision.md
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Adaptez la structure à votre projet. L'important est que les outils IA aient des fichiers déterministes à lire et que la source de vérité ne soit pas dupliquée.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# AGENTS.md - Living Documentation
|
|
2
|
+
|
|
3
|
+
Ce fichier est le point d'entrée Codex pour ce dépôt.
|
|
4
|
+
|
|
5
|
+
Avant de modifier le projet :
|
|
6
|
+
|
|
7
|
+
1. Lire `DOCS_FOLDER/AI/project-instructions.md`.
|
|
8
|
+
2. Lire `memory/MEMORY.md` et charger les fichiers mémoire pertinents qui y sont listés.
|
|
9
|
+
3. Lire chaque règle dans `DOCS_FOLDER/AI/rules/*.md` et appliquer celles dont les motifs `appliesTo` correspondent aux fichiers modifiés.
|
|
10
|
+
4. Pour comprendre les décisions existantes, lister les ADR, lire seulement `description` et `tags` dans le frontmatter, puis charger l'ADR complet seulement s'il est pertinent.
|
|
11
|
+
|
|
12
|
+
Remplacer `DOCS_FOLDER` par le vrai dossier de documentation du projet.
|
|
13
|
+
|
|
14
|
+
Si une règle IA contredit la demande utilisateur ou une autre instruction du projet, signaler explicitement le conflit avant de continuer.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# CLAUDE.md - Living Documentation
|
|
2
|
+
|
|
3
|
+
Ce fichier est le point d'entrée Claude pour ce dépôt.
|
|
4
|
+
|
|
5
|
+
Avant de modifier le projet :
|
|
6
|
+
|
|
7
|
+
1. Lire `DOCS_FOLDER/AI/project-instructions.md`.
|
|
8
|
+
2. Lire `memory/MEMORY.md` et charger les fichiers mémoire pertinents qui y sont listés.
|
|
9
|
+
3. Lire chaque règle dans `DOCS_FOLDER/AI/rules/*.md` et appliquer celles dont les motifs `appliesTo` correspondent aux fichiers modifiés.
|
|
10
|
+
4. Pour comprendre les décisions existantes, lister les ADR, lire seulement `description` et `tags` dans le frontmatter, puis charger l'ADR complet seulement s'il est pertinent.
|
|
11
|
+
|
|
12
|
+
Remplacer `DOCS_FOLDER` par le vrai dossier de documentation du projet.
|
|
13
|
+
|
|
14
|
+
Si une règle IA contredit la demande utilisateur ou une autre instruction du projet, signaler explicitement le conflit avant de continuer.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Index mémoire
|
|
2
|
+
|
|
3
|
+
Toujours stocker les fichiers mémoire dans le dossier `memory/` du projet courant, pas dans un dossier global propre à un outil IA.
|
|
4
|
+
|
|
5
|
+
**Pourquoi :** le contexte doit rester visible, versionnable et contrôlé dans le projet.
|
|
6
|
+
|
|
7
|
+
**Comment appliquer :** écrire les fichiers mémoire dans `<project_root>/memory/`. Mettre à jour `memory/MEMORY.md` à chaque ajout ou suppression de fichier mémoire.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Instructions IA du projet - API backend
|
|
2
|
+
|
|
3
|
+
Utilisez ce flavor pour les API HTTP, workers, services et applications côté serveur.
|
|
4
|
+
|
|
5
|
+
## Routine de démarrage
|
|
6
|
+
|
|
7
|
+
1. Lire ce fichier.
|
|
8
|
+
2. Lire `memory/MEMORY.md`.
|
|
9
|
+
3. Lire toutes les règles dans `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspecter le frontmatter des ADR avant d'ouvrir les ADR complets.
|
|
11
|
+
|
|
12
|
+
Remplacer `DOCS_FOLDER` par le vrai dossier de documentation.
|
|
13
|
+
|
|
14
|
+
## Règles backend
|
|
15
|
+
|
|
16
|
+
- Identifier la validation des requêtes, l'autorisation, la persistance et la gestion d'erreurs avant de modifier des routes.
|
|
17
|
+
- Préserver la compatibilité d'API sauf demande explicite de breaking change.
|
|
18
|
+
- Préférer le parsing et la validation structurés aux manipulations de chaînes ad hoc.
|
|
19
|
+
- Garder les frontières filesystem et base de données explicites.
|
|
20
|
+
- Ajouter des tests ciblés autour du comportement modifié et des chemins d'erreur.
|
|
21
|
+
|
|
22
|
+
## Documentation continue
|
|
23
|
+
|
|
24
|
+
À la fin de chaque feature cohérente ou refactor significatif :
|
|
25
|
+
|
|
26
|
+
- créer ou mettre à jour un ADR si le changement affecte une frontière d'architecture, un contrat public, un format de stockage, un protocole, un workflow ou une convention durable ;
|
|
27
|
+
- éviter les ADR pour les corrections triviales et détails évidents dans le code ;
|
|
28
|
+
- quand un ADR ou une page de documentation durable est créée ou mise à jour, attacher les métadonnées Living Documentation aux fichiers source qui la prouvent ou l'implémentent ;
|
|
29
|
+
- si les outils MCP sont disponibles, préférer `add_metadata` et `refresh_metadata` ;
|
|
30
|
+
- si les métadonnées ne peuvent pas être mises à jour, lister les fichiers source à attacher.
|
|
31
|
+
|
|
32
|
+
## Vérification
|
|
33
|
+
|
|
34
|
+
Utiliser les vraies commandes du projet, par exemple :
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build
|
|
38
|
+
npm run test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Pour les changements d'API, inclure au moins un test qui exerce la route ou le contrat public.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Instructions IA du projet - Application frontend
|
|
2
|
+
|
|
3
|
+
Utilisez ce flavor pour les applications React, Vue, Svelte, Angular ou frontend statique.
|
|
4
|
+
|
|
5
|
+
## Routine de démarrage
|
|
6
|
+
|
|
7
|
+
1. Lire ce fichier.
|
|
8
|
+
2. Lire `memory/MEMORY.md`.
|
|
9
|
+
3. Lire toutes les règles dans `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspecter le frontmatter des ADR avant d'ouvrir les ADR complets.
|
|
11
|
+
|
|
12
|
+
Remplacer `DOCS_FOLDER` par le vrai dossier de documentation.
|
|
13
|
+
|
|
14
|
+
## Règles frontend
|
|
15
|
+
|
|
16
|
+
- Garder les textes visibles par l'utilisateur dans le système i18n du projet lorsqu'il existe.
|
|
17
|
+
- Préserver les conventions du design system existant avant d'ajouter de nouveaux patterns UI.
|
|
18
|
+
- Vérifier les layouts responsives sur petits écrans et desktop.
|
|
19
|
+
- Éviter les décalages de layout causés par le texte dynamique, les icônes et les états de chargement.
|
|
20
|
+
- Préférer les composants et utilitaires partagés existants aux nouvelles abstractions.
|
|
21
|
+
|
|
22
|
+
## Documentation continue
|
|
23
|
+
|
|
24
|
+
À la fin de chaque feature cohérente ou refactor significatif :
|
|
25
|
+
|
|
26
|
+
- créer ou mettre à jour un ADR si le changement affecte une frontière d'architecture, un contrat public, un format de stockage, un protocole, un workflow ou une convention durable ;
|
|
27
|
+
- éviter les ADR pour les corrections triviales et détails évidents dans le code ;
|
|
28
|
+
- quand un ADR ou une page de documentation durable est créée ou mise à jour, attacher les métadonnées Living Documentation aux fichiers source qui la prouvent ou l'implémentent ;
|
|
29
|
+
- si les outils MCP sont disponibles, préférer `add_metadata` et `refresh_metadata` ;
|
|
30
|
+
- si les métadonnées ne peuvent pas être mises à jour, lister les fichiers source à attacher.
|
|
31
|
+
|
|
32
|
+
## Vérification
|
|
33
|
+
|
|
34
|
+
Utiliser les vraies commandes du projet, par exemple :
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build
|
|
38
|
+
npm run lint
|
|
39
|
+
npm run test
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Pour les changements visuels, ajouter une vérification navigateur ou screenshot quand c'est pratique.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Instructions IA du projet - Librairie ou CLI
|
|
2
|
+
|
|
3
|
+
Utilisez ce flavor pour les packages, SDK, CLI et outils développeur.
|
|
4
|
+
|
|
5
|
+
## Routine de démarrage
|
|
6
|
+
|
|
7
|
+
1. Lire ce fichier.
|
|
8
|
+
2. Lire `memory/MEMORY.md`.
|
|
9
|
+
3. Lire toutes les règles dans `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspecter le frontmatter des ADR avant d'ouvrir les ADR complets.
|
|
11
|
+
|
|
12
|
+
Remplacer `DOCS_FOLDER` par le vrai dossier de documentation.
|
|
13
|
+
|
|
14
|
+
## Règles librairie et CLI
|
|
15
|
+
|
|
16
|
+
- Traiter les API publiques, flags de commande, formats de sortie et fichiers de config comme des surfaces de compatibilité.
|
|
17
|
+
- Garder les messages d'erreur actionnables et stables lorsque les tests ou utilisateurs peuvent en dépendre.
|
|
18
|
+
- Préférer de petits helpers ciblés aux abstractions larges.
|
|
19
|
+
- Mettre à jour la documentation ou les exemples lorsque le comportement change.
|
|
20
|
+
- Tester les chemins de succès et les entrées invalides.
|
|
21
|
+
|
|
22
|
+
## Documentation continue
|
|
23
|
+
|
|
24
|
+
À la fin de chaque feature cohérente ou refactor significatif :
|
|
25
|
+
|
|
26
|
+
- créer ou mettre à jour un ADR si le changement affecte une frontière d'architecture, un contrat public, un format de stockage, un protocole, un workflow ou une convention durable ;
|
|
27
|
+
- éviter les ADR pour les corrections triviales et détails évidents dans le code ;
|
|
28
|
+
- quand un ADR ou une page de documentation durable est créée ou mise à jour, attacher les métadonnées Living Documentation aux fichiers source qui la prouvent ou l'implémentent ;
|
|
29
|
+
- si les outils MCP sont disponibles, préférer `add_metadata` et `refresh_metadata` ;
|
|
30
|
+
- si les métadonnées ne peuvent pas être mises à jour, lister les fichiers source à attacher.
|
|
31
|
+
|
|
32
|
+
## Vérification
|
|
33
|
+
|
|
34
|
+
Utiliser les vraies commandes du projet, par exemple :
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build
|
|
38
|
+
npm run test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Pour les changements CLI, vérifier la commande avec des arguments réalistes.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Instructions IA du projet - Monorepo
|
|
2
|
+
|
|
3
|
+
Utilisez ce flavor pour les dépôts contenant plusieurs apps, packages ou services.
|
|
4
|
+
|
|
5
|
+
## Routine de démarrage
|
|
6
|
+
|
|
7
|
+
1. Lire ce fichier.
|
|
8
|
+
2. Lire `memory/MEMORY.md`.
|
|
9
|
+
3. Lire toutes les règles dans `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspecter le frontmatter des ADR avant d'ouvrir les ADR complets.
|
|
11
|
+
|
|
12
|
+
Remplacer `DOCS_FOLDER` par le vrai dossier de documentation.
|
|
13
|
+
|
|
14
|
+
## Règles monorepo
|
|
15
|
+
|
|
16
|
+
- Identifier le package ou l'application propriétaire des fichiers avant modification.
|
|
17
|
+
- Utiliser les scripts et configs du package le plus proche quand c'est possible.
|
|
18
|
+
- Éviter les refactors cross-package sauf nécessité liée à la tâche.
|
|
19
|
+
- Vérifier les frontières de dépendances workspace avant d'importer entre packages.
|
|
20
|
+
- Préférer d'abord les tests ciblés du package concerné, puis élargir si un contrat partagé a changé.
|
|
21
|
+
|
|
22
|
+
## Documentation continue
|
|
23
|
+
|
|
24
|
+
À la fin de chaque feature cohérente ou refactor significatif :
|
|
25
|
+
|
|
26
|
+
- créer ou mettre à jour un ADR si le changement affecte une frontière d'architecture, un contrat public, un format de stockage, un protocole, un workflow ou une convention durable ;
|
|
27
|
+
- éviter les ADR pour les corrections triviales et détails évidents dans le code ;
|
|
28
|
+
- quand un ADR ou une page de documentation durable est créée ou mise à jour, attacher les métadonnées Living Documentation aux fichiers source qui la prouvent ou l'implémentent ;
|
|
29
|
+
- si les outils MCP sont disponibles, préférer `add_metadata` et `refresh_metadata` ;
|
|
30
|
+
- si les métadonnées ne peuvent pas être mises à jour, lister les fichiers source à attacher.
|
|
31
|
+
|
|
32
|
+
## Vérification
|
|
33
|
+
|
|
34
|
+
Utiliser les vraies commandes du projet, par exemple :
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build --workspace <package>
|
|
38
|
+
npm run test --workspace <package>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Adapter les commandes au package manager utilisé par le dépôt.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Instructions IA du projet
|
|
2
|
+
|
|
3
|
+
Ce fichier est le guide de travail partagé pour les assistants IA qui interviennent sur ce projet.
|
|
4
|
+
|
|
5
|
+
Gardez ce fichier court, concret et spécifique au projet. `AGENTS.md` et `CLAUDE.md` doivent pointer vers lui au lieu de dupliquer les mêmes instructions.
|
|
6
|
+
|
|
7
|
+
## Routine de démarrage
|
|
8
|
+
|
|
9
|
+
Avant de modifier le projet :
|
|
10
|
+
|
|
11
|
+
1. Lire ce fichier.
|
|
12
|
+
2. Lire `memory/MEMORY.md` et charger seulement les fichiers mémoire utiles à la tâche.
|
|
13
|
+
3. Lire toutes les règles dans `DOCS_FOLDER/AI/rules/*.md`.
|
|
14
|
+
4. Pour comprendre les décisions existantes, inspecter d'abord le frontmatter des ADR : lire `description` et `tags`, puis ouvrir l'ADR complet seulement s'il est pertinent.
|
|
15
|
+
|
|
16
|
+
Remplacez `DOCS_FOLDER` par le vrai dossier de documentation du projet, par exemple `documentation` ou `docs`.
|
|
17
|
+
|
|
18
|
+
## Règles IA
|
|
19
|
+
|
|
20
|
+
Les règles vivent dans `DOCS_FOLDER/AI/rules/*.md`.
|
|
21
|
+
|
|
22
|
+
Chaque règle utilise un frontmatter :
|
|
23
|
+
|
|
24
|
+
- `id` - identifiant stable
|
|
25
|
+
- `title` - nom court lisible
|
|
26
|
+
- `severity` - `guideline`, `warning` ou `required`
|
|
27
|
+
- `description` - résumé concis
|
|
28
|
+
- `tags` - thèmes utilisés pour la découverte
|
|
29
|
+
- `appliesTo` - globs indiquant où la règle s'applique
|
|
30
|
+
|
|
31
|
+
Appliquer chaque règle dont les motifs `appliesTo` correspondent aux fichiers modifiés. Si une règle contredit la demande utilisateur ou une autre instruction du projet, signaler explicitement le conflit avant de continuer.
|
|
32
|
+
|
|
33
|
+
## ADRs
|
|
34
|
+
|
|
35
|
+
Les ADR sont le registre durable des décisions importantes.
|
|
36
|
+
|
|
37
|
+
Pour comprendre pourquoi quelque chose existe :
|
|
38
|
+
|
|
39
|
+
1. Lister les fichiers ADR.
|
|
40
|
+
2. Lire seulement `description` et `tags` dans le frontmatter.
|
|
41
|
+
3. Ouvrir l'ADR complet seulement s'il est pertinent pour la tâche.
|
|
42
|
+
4. Si une décision importante est prise ou modifiée, créer ou mettre à jour un ADR.
|
|
43
|
+
|
|
44
|
+
## Documentation continue
|
|
45
|
+
|
|
46
|
+
À la fin de chaque feature cohérente ou refactor significatif, mettre à jour la documentation durable de manière autonome lorsque le changement crée une connaissance que les prochains travaux devront préserver.
|
|
47
|
+
|
|
48
|
+
Créer ou mettre à jour un ADR lorsque la feature :
|
|
49
|
+
|
|
50
|
+
- change une frontière d'architecture, un contrat public, un format de stockage, un protocole ou un workflow ;
|
|
51
|
+
- introduit une convention que les futurs changements devront respecter ;
|
|
52
|
+
- résout un compromis difficile à déduire du code seul ;
|
|
53
|
+
- remplace ou invalide une décision précédente.
|
|
54
|
+
|
|
55
|
+
Ne pas créer d'ADR pour les corrections triviales, renommages mécaniques, changements de formatage ou détails d'implémentation évidents dans le code.
|
|
56
|
+
|
|
57
|
+
Quand un ADR ou une page de documentation durable est créée ou mise à jour, attacher les métadonnées de fichiers source afin que Living Documentation puisse afficher la dérive de fiabilité :
|
|
58
|
+
|
|
59
|
+
1. Lier le document aux fichiers source qui prouvent ou implémentent ce qu'il décrit.
|
|
60
|
+
2. Quand le document est correct, rafraîchir/rebaseliner ses hashes de métadonnées.
|
|
61
|
+
3. Si les outils MCP sont disponibles, préférer `add_metadata` et `refresh_metadata`.
|
|
62
|
+
4. Si les métadonnées ne peuvent pas être mises à jour depuis l'environnement courant, le dire explicitement et lister les fichiers source à attacher.
|
|
63
|
+
|
|
64
|
+
## Mémoire
|
|
65
|
+
|
|
66
|
+
Les fichiers mémoire vivent dans le projet, sous `memory/`.
|
|
67
|
+
|
|
68
|
+
Ne pas stocker la mémoire projet dans un dossier global propre à un outil si l'utilisateur attend une mémoire locale au projet. Mettre à jour `memory/MEMORY.md` à chaque ajout ou suppression de fichier mémoire.
|
|
69
|
+
|
|
70
|
+
## Vérification
|
|
71
|
+
|
|
72
|
+
Avant de terminer une tâche, lancer la plus petite vérification utile :
|
|
73
|
+
|
|
74
|
+
- commande de build si du code typé ou des fichiers de build ont changé
|
|
75
|
+
- tests ciblés si le comportement a changé
|
|
76
|
+
- lint ou formatage si le projet en possède
|
|
77
|
+
|
|
78
|
+
Si une vérification ne peut pas être lancée, expliquer pourquoi.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: no-magic-numbers
|
|
3
|
+
title: Éviter les magic numbers
|
|
4
|
+
severity: warning
|
|
5
|
+
description: Les valeurs numériques porteuses de sens métier ou technique doivent être nommées par des constantes plutôt que répétées comme littéraux bruts.
|
|
6
|
+
tags: ["qualite-code", "maintenabilite"]
|
|
7
|
+
appliesTo: ["src/**/*.ts", "src/frontend/**/*.js"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Les valeurs numériques qui portent un sens doivent être nommées là où elles sont introduites.
|
|
11
|
+
|
|
12
|
+
Préférer une constante dont le nom explique l'intention :
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
const DEFAULT_CUSTOM_SHAPE_SIZE = 65;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Éviter de répéter des nombres bruts dans le code quand la valeur porte un sens produit, rendu, dimensionnement, timing ou protocole.
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|