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,41 @@
|
|
|
1
|
+
# Project AI Instructions - Backend API
|
|
2
|
+
|
|
3
|
+
Use this flavor for HTTP APIs, workers, services, and server-side applications.
|
|
4
|
+
|
|
5
|
+
## Startup Routine
|
|
6
|
+
|
|
7
|
+
1. Read this file.
|
|
8
|
+
2. Read `memory/MEMORY.md`.
|
|
9
|
+
3. Read every rule in `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspect ADR frontmatter before opening full ADRs.
|
|
11
|
+
|
|
12
|
+
Replace `DOCS_FOLDER` with the real docs folder path.
|
|
13
|
+
|
|
14
|
+
## Backend Rules
|
|
15
|
+
|
|
16
|
+
- Identify request validation, authorization, persistence, and error handling before editing routes.
|
|
17
|
+
- Preserve API compatibility unless the user explicitly requests a breaking change.
|
|
18
|
+
- Prefer structured parsing and validation over ad hoc string handling.
|
|
19
|
+
- Keep filesystem and database path boundaries explicit.
|
|
20
|
+
- Add focused tests around changed behavior and failure paths.
|
|
21
|
+
|
|
22
|
+
## Continuous Documentation
|
|
23
|
+
|
|
24
|
+
At the end of every coherent feature or meaningful refactor:
|
|
25
|
+
|
|
26
|
+
- create or update an ADR when the change affects an architecture boundary, public contract, storage format, protocol, workflow, or durable convention;
|
|
27
|
+
- skip ADRs for trivial fixes and implementation details that are obvious from code;
|
|
28
|
+
- when you create or update an ADR or durable documentation page, attach Living Documentation metadata to the source files that prove or implement it;
|
|
29
|
+
- if MCP tools are available, prefer `add_metadata` and `refresh_metadata`;
|
|
30
|
+
- if metadata cannot be updated from the current environment, state which source files should be attached.
|
|
31
|
+
|
|
32
|
+
## Verification
|
|
33
|
+
|
|
34
|
+
Use the project's actual commands, for example:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build
|
|
38
|
+
npm run test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
For API changes, include at least one test that exercises the route or public contract.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Project AI Instructions - Frontend Application
|
|
2
|
+
|
|
3
|
+
Use this flavor for React, Vue, Svelte, Angular, or static frontend applications.
|
|
4
|
+
|
|
5
|
+
## Startup Routine
|
|
6
|
+
|
|
7
|
+
1. Read this file.
|
|
8
|
+
2. Read `memory/MEMORY.md`.
|
|
9
|
+
3. Read every rule in `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspect ADR frontmatter before opening full ADRs.
|
|
11
|
+
|
|
12
|
+
Replace `DOCS_FOLDER` with the real docs folder path.
|
|
13
|
+
|
|
14
|
+
## Frontend Rules
|
|
15
|
+
|
|
16
|
+
- Keep user-visible strings in the project's i18n system when one exists.
|
|
17
|
+
- Preserve existing design system conventions before adding new UI patterns.
|
|
18
|
+
- Verify responsive layouts at small and desktop widths.
|
|
19
|
+
- Avoid layout shifts caused by dynamic text, icons, and loading states.
|
|
20
|
+
- Prefer existing shared components and utilities over new abstractions.
|
|
21
|
+
|
|
22
|
+
## Continuous Documentation
|
|
23
|
+
|
|
24
|
+
At the end of every coherent feature or meaningful refactor:
|
|
25
|
+
|
|
26
|
+
- create or update an ADR when the change affects an architecture boundary, public contract, storage format, protocol, workflow, or durable convention;
|
|
27
|
+
- skip ADRs for trivial fixes and implementation details that are obvious from code;
|
|
28
|
+
- when you create or update an ADR or durable documentation page, attach Living Documentation metadata to the source files that prove or implement it;
|
|
29
|
+
- if MCP tools are available, prefer `add_metadata` and `refresh_metadata`;
|
|
30
|
+
- if metadata cannot be updated from the current environment, state which source files should be attached.
|
|
31
|
+
|
|
32
|
+
## Verification
|
|
33
|
+
|
|
34
|
+
Use the project's actual commands, for example:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build
|
|
38
|
+
npm run lint
|
|
39
|
+
npm run test
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
For visual changes, add a browser or screenshot verification when practical.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project AI Instructions - Library Or CLI
|
|
2
|
+
|
|
3
|
+
Use this flavor for packages, SDKs, CLIs, and developer tools.
|
|
4
|
+
|
|
5
|
+
## Startup Routine
|
|
6
|
+
|
|
7
|
+
1. Read this file.
|
|
8
|
+
2. Read `memory/MEMORY.md`.
|
|
9
|
+
3. Read every rule in `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspect ADR frontmatter before opening full ADRs.
|
|
11
|
+
|
|
12
|
+
Replace `DOCS_FOLDER` with the real docs folder path.
|
|
13
|
+
|
|
14
|
+
## Library And CLI Rules
|
|
15
|
+
|
|
16
|
+
- Treat public APIs, command flags, output formats, and config files as compatibility surfaces.
|
|
17
|
+
- Keep error messages actionable and stable when tests or users may depend on them.
|
|
18
|
+
- Prefer small focused helpers over broad abstractions.
|
|
19
|
+
- Update docs or examples when behavior changes.
|
|
20
|
+
- Test both success paths and invalid input paths.
|
|
21
|
+
|
|
22
|
+
## Continuous Documentation
|
|
23
|
+
|
|
24
|
+
At the end of every coherent feature or meaningful refactor:
|
|
25
|
+
|
|
26
|
+
- create or update an ADR when the change affects an architecture boundary, public contract, storage format, protocol, workflow, or durable convention;
|
|
27
|
+
- skip ADRs for trivial fixes and implementation details that are obvious from code;
|
|
28
|
+
- when you create or update an ADR or durable documentation page, attach Living Documentation metadata to the source files that prove or implement it;
|
|
29
|
+
- if MCP tools are available, prefer `add_metadata` and `refresh_metadata`;
|
|
30
|
+
- if metadata cannot be updated from the current environment, state which source files should be attached.
|
|
31
|
+
|
|
32
|
+
## Verification
|
|
33
|
+
|
|
34
|
+
Use the project's actual commands, for example:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build
|
|
38
|
+
npm run test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
For CLI changes, verify the command with realistic arguments.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project AI Instructions - Monorepo
|
|
2
|
+
|
|
3
|
+
Use this flavor for repositories with multiple apps, packages, or services.
|
|
4
|
+
|
|
5
|
+
## Startup Routine
|
|
6
|
+
|
|
7
|
+
1. Read this file.
|
|
8
|
+
2. Read `memory/MEMORY.md`.
|
|
9
|
+
3. Read every rule in `DOCS_FOLDER/AI/rules/*.md`.
|
|
10
|
+
4. Inspect ADR frontmatter before opening full ADRs.
|
|
11
|
+
|
|
12
|
+
Replace `DOCS_FOLDER` with the real docs folder path.
|
|
13
|
+
|
|
14
|
+
## Monorepo Rules
|
|
15
|
+
|
|
16
|
+
- Identify the package or app owning the files before editing.
|
|
17
|
+
- Use the nearest package scripts and config where possible.
|
|
18
|
+
- Avoid cross-package refactors unless required by the task.
|
|
19
|
+
- Check workspace dependency boundaries before importing across packages.
|
|
20
|
+
- Prefer focused tests for the affected package first, then broader tests if shared contracts changed.
|
|
21
|
+
|
|
22
|
+
## Continuous Documentation
|
|
23
|
+
|
|
24
|
+
At the end of every coherent feature or meaningful refactor:
|
|
25
|
+
|
|
26
|
+
- create or update an ADR when the change affects an architecture boundary, public contract, storage format, protocol, workflow, or durable convention;
|
|
27
|
+
- skip ADRs for trivial fixes and implementation details that are obvious from code;
|
|
28
|
+
- when you create or update an ADR or durable documentation page, attach Living Documentation metadata to the source files that prove or implement it;
|
|
29
|
+
- if MCP tools are available, prefer `add_metadata` and `refresh_metadata`;
|
|
30
|
+
- if metadata cannot be updated from the current environment, state which source files should be attached.
|
|
31
|
+
|
|
32
|
+
## Verification
|
|
33
|
+
|
|
34
|
+
Use the project's actual commands, for example:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm run build --workspace <package>
|
|
38
|
+
npm run test --workspace <package>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Adapt commands to the package manager used by the repository.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Project AI Instructions
|
|
2
|
+
|
|
3
|
+
This file is the shared operating guide for AI assistants working on this project.
|
|
4
|
+
|
|
5
|
+
Keep this file short, concrete, and project-specific. `AGENTS.md` and `CLAUDE.md` should point here instead of duplicating the same instructions.
|
|
6
|
+
|
|
7
|
+
## Startup Routine
|
|
8
|
+
|
|
9
|
+
Before making changes:
|
|
10
|
+
|
|
11
|
+
1. Read this file.
|
|
12
|
+
2. Read `memory/MEMORY.md` and load the relevant memory files listed there.
|
|
13
|
+
3. Read every rule in `DOCS_FOLDER/AI/rules/*.md`.
|
|
14
|
+
4. To understand existing decisions, inspect ADR frontmatter first: read only `description` and `tags`, then open the full ADR only when relevant.
|
|
15
|
+
|
|
16
|
+
Replace `DOCS_FOLDER` with the real documentation folder path used by this project, for example `documentation` or `docs`.
|
|
17
|
+
|
|
18
|
+
## AI Rules
|
|
19
|
+
|
|
20
|
+
Rules live in `DOCS_FOLDER/AI/rules/*.md`.
|
|
21
|
+
|
|
22
|
+
Each rule uses frontmatter:
|
|
23
|
+
|
|
24
|
+
- `id` - stable rule identifier
|
|
25
|
+
- `title` - short human-readable name
|
|
26
|
+
- `severity` - `guideline`, `warning`, or `required`
|
|
27
|
+
- `description` - concise summary
|
|
28
|
+
- `tags` - themes used for discovery
|
|
29
|
+
- `appliesTo` - file globs describing where the rule applies
|
|
30
|
+
|
|
31
|
+
Apply every rule whose `appliesTo` patterns match files you touch. If a rule conflicts with the user request or another project instruction, state the conflict explicitly before proceeding.
|
|
32
|
+
|
|
33
|
+
## ADRs
|
|
34
|
+
|
|
35
|
+
ADRs are the durable record of important decisions.
|
|
36
|
+
|
|
37
|
+
When you need to understand why something exists:
|
|
38
|
+
|
|
39
|
+
1. List ADR files.
|
|
40
|
+
2. Read only frontmatter `description` and `tags`.
|
|
41
|
+
3. Open the full ADR only when it is relevant to the current task.
|
|
42
|
+
4. If you make or change an important decision, create or update an ADR.
|
|
43
|
+
|
|
44
|
+
## Continuous Documentation
|
|
45
|
+
|
|
46
|
+
At the end of every coherent feature or meaningful refactor, update the durable documentation autonomously when the change created knowledge that future work must preserve.
|
|
47
|
+
|
|
48
|
+
Do create or update an ADR when the feature:
|
|
49
|
+
|
|
50
|
+
- changes an architecture boundary, public contract, storage format, protocol, or workflow;
|
|
51
|
+
- introduces a convention that future changes must follow;
|
|
52
|
+
- resolves a trade-off that would be hard to infer from code alone;
|
|
53
|
+
- supersedes or invalidates a previous decision.
|
|
54
|
+
|
|
55
|
+
Do not create ADRs for trivial fixes, mechanical renames, formatting-only changes, or implementation details that are obvious from the changed code.
|
|
56
|
+
|
|
57
|
+
When you create or update an ADR or another durable documentation page, attach source-file metadata so Living Documentation can show reliability drift:
|
|
58
|
+
|
|
59
|
+
1. Link the document to the source files that prove or implement what it describes.
|
|
60
|
+
2. After the document is correct, refresh/re-baseline its metadata hashes.
|
|
61
|
+
3. If MCP tools are available, prefer `add_metadata` and `refresh_metadata`.
|
|
62
|
+
4. If metadata cannot be updated from the current environment, state that explicitly and list the source files that should be attached.
|
|
63
|
+
|
|
64
|
+
## Memory
|
|
65
|
+
|
|
66
|
+
Memory files live in the project under `memory/`.
|
|
67
|
+
|
|
68
|
+
Do not store project memory in a tool-specific global folder if the user expects project-local memory. Update `memory/MEMORY.md` whenever you add or remove memory files.
|
|
69
|
+
|
|
70
|
+
## Verification
|
|
71
|
+
|
|
72
|
+
Before finishing a task, run the smallest useful verification:
|
|
73
|
+
|
|
74
|
+
- build command if build files or typed code changed
|
|
75
|
+
- focused tests when behavior changed
|
|
76
|
+
- lint or formatting command if this project has one
|
|
77
|
+
|
|
78
|
+
If a verification command cannot be run, say why.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: no-magic-numbers
|
|
3
|
+
title: Avoid magic numbers
|
|
4
|
+
severity: warning
|
|
5
|
+
description: Numeric values with domain meaning must be named constants instead of repeated raw literals.
|
|
6
|
+
tags: ["code-quality", "maintainability"]
|
|
7
|
+
appliesTo: ["src/**/*.ts", "src/frontend/**/*.js"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Numeric values with domain meaning should be named where they are introduced.
|
|
11
|
+
|
|
12
|
+
Prefer a constant whose name explains the intent:
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
const DEFAULT_CUSTOM_SHAPE_SIZE = 65;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Avoid repeating raw values in code when the value carries product, rendering, sizing, timing, or protocol meaning.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"filenamePattern": "YYYY_MM_DD_HH_mm_[Category]_title",
|
|
3
|
+
"title": "Living Documentation",
|
|
4
|
+
"theme": "system",
|
|
5
|
+
"language": "fr",
|
|
6
|
+
"port": 4321,
|
|
7
|
+
"extraFiles": [],
|
|
8
|
+
"showDiagramDebug": false,
|
|
9
|
+
"diagramNodePalette": [
|
|
10
|
+
"#ffffff",
|
|
11
|
+
"#f5f5f4",
|
|
12
|
+
"#f1f5f9",
|
|
13
|
+
"#dbeafe",
|
|
14
|
+
"#e0f2fe",
|
|
15
|
+
"#cffafe",
|
|
16
|
+
"#ccfbf1",
|
|
17
|
+
"#dcfce7",
|
|
18
|
+
"#ecfccb",
|
|
19
|
+
"#fef9c3",
|
|
20
|
+
"#ffedd5",
|
|
21
|
+
"#fee2e2",
|
|
22
|
+
"#ffe4e6",
|
|
23
|
+
"#fce7f3",
|
|
24
|
+
"#ede9fe"
|
|
25
|
+
],
|
|
26
|
+
"diagramEdgePalette": [
|
|
27
|
+
"#ffffff",
|
|
28
|
+
"#a8a29e",
|
|
29
|
+
"#374151",
|
|
30
|
+
"#3b82f6",
|
|
31
|
+
"#14b8a6",
|
|
32
|
+
"#22c55e",
|
|
33
|
+
"#f97316",
|
|
34
|
+
"#ef4444",
|
|
35
|
+
"#a855f7"
|
|
36
|
+
],
|
|
37
|
+
"sourceRoot": "..",
|
|
38
|
+
"blockedFileExtensions": [
|
|
39
|
+
"exe",
|
|
40
|
+
"sh",
|
|
41
|
+
"bat",
|
|
42
|
+
"cmd",
|
|
43
|
+
"com",
|
|
44
|
+
"scr",
|
|
45
|
+
"ps1",
|
|
46
|
+
"msi"
|
|
47
|
+
],
|
|
48
|
+
"exclusiveFolderExpansion": true,
|
|
49
|
+
"exclusiveCategoryExpansion": true,
|
|
50
|
+
"codeBlockMaxHeight": 400,
|
|
51
|
+
"markdownSoftBreaks": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
**date:** 2026-01-01
|
|
3
|
+
**status:** Exemple
|
|
4
|
+
**description:** Template d'ADR montrant comment enregistrer une décision projet avec assez de contexte, conséquences et tags pour qu'un assistant IA puisse la retrouver et la réutiliser plus tard.
|
|
5
|
+
**tags:** adr, template, decision-architecture, contexte-ia, documentation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Exemple de décision d'architecture
|
|
9
|
+
|
|
10
|
+
## Contexte
|
|
11
|
+
|
|
12
|
+
Remplacez cette section par la situation qui a mené à la décision.
|
|
13
|
+
|
|
14
|
+
Expliquez le problème en termes concrets :
|
|
15
|
+
|
|
16
|
+
- ce qui était difficile à comprendre, maintenir, faire évoluer, tester ou opérer ;
|
|
17
|
+
- les contraintes existantes importantes ;
|
|
18
|
+
- les alternatives considérées ;
|
|
19
|
+
- le workflow utilisateur ou développeur impacté.
|
|
20
|
+
|
|
21
|
+
Un ADR doit capturer la raison du changement, pas seulement la forme finale du code. C'est ce qui le rend utile plus tard pour les humains et pour les assistants IA qui doivent comprendre pourquoi le projet fonctionne ainsi.
|
|
22
|
+
|
|
23
|
+
## Décision
|
|
24
|
+
|
|
25
|
+
Remplacez cette section par la décision prise.
|
|
26
|
+
|
|
27
|
+
Soyez assez spécifique pour qu'un autre développeur ou assistant IA puisse appliquer la même règle plus tard. Mentionnez les fichiers, modules, contrats de données, commandes ou conventions qui portent la décision lorsqu'ils sont pertinents.
|
|
28
|
+
|
|
29
|
+
Exemple :
|
|
30
|
+
|
|
31
|
+
- stocker les instructions IA projet dans `AI/project-instructions.md` ;
|
|
32
|
+
- exposer les points d'entrée propres aux outils via `AGENTS.md` et `CLAUDE.md` ;
|
|
33
|
+
- garder les règles IA réutilisables dans `AI/rules/*.md` ;
|
|
34
|
+
- utiliser des liens symboliques quand un document doit apparaître dans Living Documentation sans dupliquer la source de vérité.
|
|
35
|
+
|
|
36
|
+
## Conséquences
|
|
37
|
+
|
|
38
|
+
### PROS
|
|
39
|
+
|
|
40
|
+
- La décision est découvrable depuis la documentation, pas seulement depuis le code.
|
|
41
|
+
- Les assistants IA peuvent lire le frontmatter des ADR d'abord, puis charger l'ADR complet seulement s'il correspond à la tâche.
|
|
42
|
+
- Les futurs changements peuvent préserver l'intention originale au lieu de la redécouvrir depuis les détails d'implémentation.
|
|
43
|
+
|
|
44
|
+
### CONS
|
|
45
|
+
|
|
46
|
+
- L'ADR doit être maintenu quand la décision change.
|
|
47
|
+
- Un ADR vague est pire que pas d'ADR, car il donne une fausse confiance aux futurs lecteurs.
|
|
48
|
+
- Si la même règle est répétée à trop d'endroits, le projet peut dériver. Préférer une seule source de vérité et créer des liens vers elle.
|
|
49
|
+
|
|
50
|
+
## Suite
|
|
51
|
+
|
|
52
|
+
Quand cet exemple devient un vrai ADR :
|
|
53
|
+
|
|
54
|
+
- renommer le fichier avec la vraie date, catégorie et titre de décision ;
|
|
55
|
+
- définir `status` selon la convention du projet : `Proposed`, `Accepted`, `Superseded`, etc. ;
|
|
56
|
+
- remplacer `description` par une phrase utile pour la découverte ;
|
|
57
|
+
- remplacer `tags` par des thèmes recherchables ;
|
|
58
|
+
- supprimer cette section si elle n'est plus utile.
|