living-ai-documentation 3.37.0 → 3.41.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/README.fr.md +200 -251
- package/README.md +200 -251
- package/dist/bin/cli.js +61 -9
- package/dist/bin/cli.js.map +1 -1
- package/dist/frontend-svelte/assets/{index-c_1Dt9Nx.css → index-C--qu7y-.css} +1 -1
- package/dist/frontend-svelte/assets/index-DkgHblwj.js +181 -0
- package/dist/frontend-svelte/assets/{main-CgFZwst-.js → main-DchaZ2ad.js} +1 -1
- package/dist/frontend-svelte/i18n/en.json +1 -1
- package/dist/frontend-svelte/i18n/fr.json +1 -1
- package/dist/frontend-svelte/index.html +2 -2
- package/dist/src/lib/blueprint.d.ts +1 -1
- package/dist/src/lib/blueprint.d.ts.map +1 -1
- package/dist/src/lib/blueprint.js +27 -9
- package/dist/src/lib/blueprint.js.map +1 -1
- package/dist/src/lib/git-integration.js +5 -5
- package/dist/src/lib/git-integration.js.map +1 -1
- package/dist/starter-doc/000_DOCUMENTATION/2026_06_30_10_00_[DOCUMENTATION]_welcome_to_living_documentation.md +65 -0
- package/dist/starter-doc/000_DOCUMENTATION/2026_06_30_10_10_[DOCUMENTATION]_home_menu.md +131 -0
- package/dist/starter-doc/000_DOCUMENTATION/2026_06_30_10_20_[DOCUMENTATION]_markdown_document.md +163 -0
- package/dist/starter-doc/000_DOCUMENTATION/2026_07_01_14_04_[DOCUMENTATION]_workspace_menu.md +194 -0
- package/dist/starter-doc/000_DOCUMENTATION/2026_07_01_17_04_[DOCUMENTATION]_agents_menu.md +190 -0
- package/dist/starter-doc/000_DOCUMENTATION/2026_07_01_17_41_[DOCUMENTATION]_diagram_menu.md +227 -0
- package/dist/starter-doc/images/DOCUMENTATION/admin_git_integration.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/concept-01-hero-produit.jpg +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/concept-03-local-first.jpg +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/concept-07-workspace-providers-agents.jpg +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/execution_d_agents.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/exemple_diagramme_documentation.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/feedback_execution_agent.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/living_documentation_context_demo_conf.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/llm_provider_creation.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/popup-creer-document.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/popup-creer-dossier.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/popup_execution_agent.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/readme-sidebar.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/run_agent_execution.jpg +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/summary_agent_execution.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/table_des_matieres_document.png +0 -0
- package/dist/starter-doc/images/DOCUMENTATION/workspace_configuration.jpg +0 -0
- package/dist/starter-doc-fr/000_DOCUMENTATION/2026_06_30_10_00_[DOCUMENTATION]_Bienvenue_dans_Living_Documentation.md +65 -0
- package/dist/starter-doc-fr/000_DOCUMENTATION/2026_06_30_10_10_[DOCUMENTATION]_menu_home.md +129 -0
- package/dist/starter-doc-fr/000_DOCUMENTATION/2026_06_30_10_20_[DOCUMENTATION]_document_markdown.md +163 -0
- package/dist/starter-doc-fr/000_DOCUMENTATION/2026_07_01_14_04_[DOCUMENTATION]_menu_workspace.md +194 -0
- package/dist/starter-doc-fr/000_DOCUMENTATION/2026_07_01_17_04_[DOCUMENTATION]_menu_agents.md +190 -0
- package/dist/starter-doc-fr/000_DOCUMENTATION/2026_07_01_17_41_[DOCUMENTATION]_menu_diagram.md +226 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/admin_git_integration.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/concept-01-hero-produit.jpg +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/concept-03-local-first.jpg +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/concept-07-workspace-providers-agents.jpg +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/execution_d_agents.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/exemple_diagramme_documentation.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/feedback_execution_agent.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/living_documentation_context_demo_conf.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/llm_provider_creation.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/popup-creer-document.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/popup-creer-dossier.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/popup_execution_agent.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/readme-sidebar.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/run_agent_execution.jpg +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/summary_agent_execution.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/table_des_matieres_document.png +0 -0
- package/dist/starter-doc-fr/images/DOCUMENTATION/workspace_configuration.jpg +0 -0
- package/images/DOCUMENTATION/concept-01-hero-produit.png +0 -0
- package/images/DOCUMENTATION/concept-03-local-first.png +0 -0
- package/images/DOCUMENTATION/concept-07-workspace-providers-agents.png +0 -0
- package/images/DOCUMENTATION/concept-08-git-versions-restore.png +0 -0
- package/images/DOCUMENTATION/concept-12-laboratoire-agentique.png +0 -0
- package/images/DOCUMENTATION/execution_d_agents.png +0 -0
- package/images/DOCUMENTATION/exemple_diagramme_documentation.png +0 -0
- package/package.json +1 -1
- package/dist/frontend-svelte/assets/index-BjHN0FJd.js +0 -181
package/README.fr.md
CHANGED
|
@@ -1,370 +1,319 @@
|
|
|
1
|
-
---
|
|
2
|
-
**language:** fr
|
|
3
|
-
---
|
|
4
|
-
|
|
5
1
|
# Living Documentation
|
|
6
2
|
|
|
7
3
|
[🇬🇧 Read in English](./README.md)
|
|
8
4
|
|
|
9
|
-
> **
|
|
5
|
+
> **Un atelier local pour générer, maintenir, versionner et automatiser votre documentation.**
|
|
10
6
|
|
|
11
|
-
|
|
7
|
+
**Living Documentation** n'est pas un générateur de code. C'est un outil de production documentaire : Markdown local, notes, process, ADR, diagrammes, Git, agents IA, providers LLM, images générées, MCP et automatisations.
|
|
8
|
+
|
|
9
|
+
Tout reste dans vos fichiers. Vous lancez l'outil, vous ouvrez le navigateur, vous documentez. Puis vous pouvez brancher Git, vos agents, vos LLMs et vos workflows.
|
|
12
10
|
|
|
13
11
|
    
|
|
14
12
|
|
|
15
13
|
```bash
|
|
16
|
-
npx living-ai-documentation@latest
|
|
17
|
-
npx living-ai-documentation@latest ./docs # servir un dossier existant
|
|
14
|
+
npx living-ai-documentation@latest
|
|
18
15
|
```
|
|
19
16
|
|
|
20
|
-

|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Pourquoi l'utiliser ?
|
|
22
|
+
|
|
23
|
+
La documentation finit souvent dispersée : README, notes, tickets, captures, ADR, prompts, exports, diagrammes, conversations IA, fichiers joints. **Living Documentation** sert à remettre tout cela dans un espace local unique, lisible, versionnable et exploitable par des agents.
|
|
24
|
+
|
|
25
|
+
| Besoin | Ce que Living Documentation apporte |
|
|
26
|
+
| ------------------ | ------------------------------------------------------------------------------------ |
|
|
27
|
+
| Écrire vite | Éditeur Markdown, snippets, tableaux, images, fichiers joints, annotations. |
|
|
28
|
+
| Structurer | Dossiers, catégories, conventions de nommage, recherche plein texte. |
|
|
29
|
+
| Versionner | Intégration Git, commits automatiques, comparaison visuelle, restauration par blocs. |
|
|
30
|
+
| Visualiser | Éditeur de diagrammes, images, exports, liens cliquables dans les documents. |
|
|
31
|
+
| Automatiser | Workspace, providers LLM, agents réutilisables, tools MCP internes. |
|
|
32
|
+
| Garder la maîtrise | Fichiers locaux, pas de cloud imposé, pas de base de données propriétaire. |
|
|
21
33
|
|
|
22
34
|
---
|
|
23
35
|
|
|
24
|
-
##
|
|
36
|
+
## Les fonctionnalités qui changent tout
|
|
37
|
+
|
|
38
|
+
### Documentation local-first
|
|
39
|
+
|
|
40
|
+
Vos documents sont de simples fichiers Markdown dans un dossier.
|
|
25
41
|
|
|
26
|
-
|
|
42
|
+
- lisibles dans n'importe quel éditeur
|
|
43
|
+
- versionnables avec Git
|
|
44
|
+
- utilisables par vos LLMs
|
|
45
|
+
- portables d'un projet à l'autre
|
|
46
|
+
- faciles à sauvegarder
|
|
27
47
|
|
|
28
|
-
|
|
48
|
+

|
|
29
49
|
|
|
30
|
-
|
|
31
|
-
| ------------------------------------------------------------ | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
32
|
-
| _« feature done »_ / _« feature terminée »_ | `create-adr` | Cherche les ADR existants, supplante l'ADR obsolète s'il y en a un, écrit un nouvel ADR en `To be validated`, attache les fichiers source via les métadonnées. |
|
|
33
|
-
| _« audit the ADRs »_ / _« vérifie la fiabilité des ADR »_ | `audit-adrs-drift` | Liste chaque ADR sous 80 % de fiabilité et remet chacun en cohérence , re-baseline ou supersession après votre confirmation. |
|
|
34
|
-
| _« review this ADR »_ / _« vérifie la pertinence de cet ADR »_ | `review-adr-relevance` | Examine un seul ADR à la lumière des fichiers source liés ; rafraîchit les hashes ou propose la supersession. |
|
|
35
|
-
| _« backfill ADRs from git »_ / _« retrodocumente depuis git »_ | `retrodocument-adrs-from-git` | Parcourt l'historique git du plus ancien au plus récent et crée des ADR pour les décisions durables qui n'ont jamais été documentées. |
|
|
36
|
-
| _« give me the big picture »_ | `generate-context-diagram` | Crée un diagramme C4 de contexte **dérivé des documents**, jamais inventé. |
|
|
50
|
+
### Git intégré, versions et restauration
|
|
37
51
|
|
|
38
|
-
|
|
52
|
+
Quand l'intégration Git est activée, Living Documentation peut créer un commit à chaque sauvegarde documentaire. Vous pouvez ensuite ouvrir l'historique d'un document, comparer le HEAD avec un ancien commit et restaurer des blocs précis dans le document courant.
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+

|
|
41
55
|
|
|
42
|
-
|
|
56
|
+
### Workspace, LLMs et agents
|
|
43
57
|
|
|
44
|
-
|
|
58
|
+
Le <kbd>Workspace</kbd> permet de configurer des providers LLM et de créer des agents documentaires : traduction, correction, résumé, génération d'image, amélioration Markdown, production de brouillons, audit de documents.
|
|
59
|
+
|
|
60
|
+
Les agents peuvent travailler en mode **Chat only** ou avec les **tools MCP** de Living Documentation quand le provider les accepte.
|
|
61
|
+
|
|
62
|
+

|
|
63
|
+
|
|
64
|
+
### Agents lancés depuis toute l'application
|
|
65
|
+
|
|
66
|
+
Une fois créés, les agents sont disponibles depuis le menu <kbd>Agents</kbd>, quelle que soit la page ouverte. Chaque exécution produit un document de run avec statut, input, réponse, et debug optionnel.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
|
|
70
|
+
### Diagrammes et schémas
|
|
71
|
+
|
|
72
|
+
Living Documentation contient un éditeur de diagrammes intégré. Vous pouvez dessiner à la main, relier des diagrammes à des documents Markdown, exporter, ou laisser un agent proposer une première version à partir d'un document.
|
|
73
|
+
|
|
74
|
+

|
|
75
|
+
|
|
76
|
+
### Laboratoire d'automatisation agentique
|
|
77
|
+
|
|
78
|
+
Avec Workspace, MCP, les providers LLM et les tools internes, Living Documentation devient un laboratoire d'automatisation appliquée à la documentation. Vous pouvez créer des agents qui lisent un document, le transforment, génèrent une image, écrivent un compte rendu ou enrichissent votre base documentaire.
|
|
79
|
+
|
|
80
|
+

|
|
45
81
|
|
|
46
82
|
---
|
|
47
83
|
|
|
48
84
|
## Démarrage rapide
|
|
49
85
|
|
|
86
|
+
Nécessite **Node.js 20.19 ou plus récent**.
|
|
87
|
+
|
|
50
88
|
```bash
|
|
51
|
-
#
|
|
52
|
-
# AGENTS.md / CLAUDE.md / memory/MEMORY.md à la racine du projet et crée des symlinks
|
|
53
|
-
# dans <docs>/AI/ pour que les agents IA les trouvent.
|
|
89
|
+
# Détecter un projet proche ou créer un starter EN/FR
|
|
54
90
|
npx living-ai-documentation@latest
|
|
55
91
|
|
|
56
92
|
# Ou servir un dossier existant
|
|
57
93
|
npx living-ai-documentation@latest ./docs
|
|
94
|
+
|
|
95
|
+
# Port explicite
|
|
58
96
|
npx living-ai-documentation@latest ./docs --port 4000 --open
|
|
59
97
|
```
|
|
60
98
|
|
|
61
|
-
|
|
99
|
+
Puis ouvrez :
|
|
62
100
|
|
|
63
|
-
|
|
101
|
+
- application : [http://localhost:4321](http://localhost:4321)
|
|
102
|
+
- admin : [http://localhost:4321/admin](http://localhost:4321/admin)
|
|
103
|
+
- MCP : [http://localhost:4321/mcp](http://localhost:4321/mcp)
|
|
64
104
|
|
|
65
|
-
|
|
105
|
+
Sans dossier en argument, le CLI cherche d'abord `.living-doc.json` dans le dossier courant, puis un niveau en dessous. S'il trouve un projet Living Documentation existant, il propose de le lancer ; sinon il crée un starter documentaire complet, en français ou en anglais, avec des guides intégrés pour comprendre Home, Markdown, Workspace, Agents et Diagram.
|
|
66
106
|
|
|
67
|
-
|
|
107
|
+
Quand un dossier est fourni en argument mais qu'il ne contient pas encore `.living-doc.json`, le CLI initialise ce dossier au lieu de le servir comme projet non configuré.
|
|
68
108
|
|
|
69
|
-
|
|
70
|
-
npx living-ai-documentation@latest # zéro installation
|
|
71
|
-
npm install -g living-ai-documentation # global
|
|
72
|
-
```
|
|
109
|
+
> Le dossier passé au CLI doit être un chemin relatif (`./docs`, `../documentation`). Les chemins absolus et `~` sont rejetés pour garder `.living-doc.json` portable.
|
|
73
110
|
|
|
74
111
|
---
|
|
75
112
|
|
|
76
|
-
##
|
|
113
|
+
## Ce que contient l'application
|
|
77
114
|
|
|
78
|
-
|
|
115
|
+
| Surface | Usage |
|
|
116
|
+
| --------------------- | ------------------------------------------------------------------------- |
|
|
117
|
+
| <kbd>Home</kbd> | Lire, créer, éditer, rechercher et organiser les documents Markdown. |
|
|
118
|
+
| <kbd>Workspace</kbd> | Configurer les providers LLM, MCP, agents et providers image. |
|
|
119
|
+
| <kbd>Agents</kbd> | Lancer les agents depuis n'importe quelle page. |
|
|
120
|
+
| <kbd>Diagram</kbd> | Créer et modifier des diagrammes liés aux documents. |
|
|
121
|
+
| <kbd>Files</kbd> | Parcourir les fichiers joints et assets documentaires. |
|
|
122
|
+
| <kbd>AI Context</kbd> | Inspecter le contexte IA, les règles, la mémoire et l'explorateur MCP. |
|
|
123
|
+
| <kbd>Admin</kbd> | Configurer thème, langue, Git, patterns, sécurité fichiers, debug agents. |
|
|
79
124
|
|
|
80
|
-
|
|
81
|
-
claude mcp add --transport http living-ai-documentation http://localhost:4321/mcp
|
|
82
|
-
```
|
|
125
|
+
---
|
|
83
126
|
|
|
84
|
-
|
|
127
|
+
## Écrire dans Living Documentation
|
|
85
128
|
|
|
86
|
-
|
|
87
|
-
{
|
|
88
|
-
"mcpServers": {
|
|
89
|
-
"living-ai-documentation": {
|
|
90
|
-
"type": "http",
|
|
91
|
-
"url": "http://localhost:4321/mcp"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
129
|
+
Le viewer Home est aussi un éditeur Markdown.
|
|
96
130
|
|
|
97
|
-
|
|
131
|
+
Fonctions utiles :
|
|
98
132
|
|
|
99
|
-
|
|
133
|
+
- édition inline avec sauvegarde disque
|
|
134
|
+
- snippets Markdown
|
|
135
|
+
- tableaux assistés
|
|
136
|
+
- arbres ASCII
|
|
137
|
+
- blocs repliables
|
|
138
|
+
- callouts
|
|
139
|
+
- images collées depuis le presse-papier
|
|
140
|
+
- fichiers joints
|
|
141
|
+
- annotations
|
|
142
|
+
- table des matières automatique
|
|
143
|
+
- recherche plein texte
|
|
100
144
|
|
|
101
|
-
|
|
102
|
-
{
|
|
103
|
-
"mcpServers": {
|
|
104
|
-
"living-ai-documentation": {
|
|
105
|
-
"type": "http",
|
|
106
|
-
"url": "http://localhost:4321/mcp"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
```
|
|
145
|
+
Les fichiers sont classés par dossiers réels et par catégories extraites du nom :
|
|
111
146
|
|
|
112
|
-
|
|
147
|
+
```text
|
|
148
|
+
PROCESSUS/2026_06_30_10_00_[GUIDE]_preparer_une_reunion.md
|
|
149
|
+
```
|
|
113
150
|
|
|
114
|
-
|
|
151
|
+
Ici :
|
|
115
152
|
|
|
116
|
-
|
|
153
|
+
- `PROCESSUS` est le dossier
|
|
154
|
+
- `GUIDE` est la catégorie
|
|
155
|
+
- `preparer_une_reunion` est le titre
|
|
117
156
|
|
|
118
157
|
---
|
|
119
158
|
|
|
120
|
-
##
|
|
159
|
+
## Git et versions
|
|
121
160
|
|
|
122
|
-
|
|
123
|
-
- **Pattern de nom de fichier** , par défaut `YYYY_MM_DD_HH_mm_[Category]_title.md`. Le pattern est configurable ; la date, la catégorie et le titre sont extraits. Les fichiers qui ne correspondent pas apparaissent sous **General**.
|
|
124
|
-
- **Dossiers → catégories → docs** dans la barre latérale. Les noms de dossiers deviennent les libellés ; les préfixes numériques (`1_TUTORIAL`, `2_REFERENCE`) contrôlent l'ordre sans s'afficher dans l'UI.
|
|
125
|
-
- **Les ADR** sont l'enregistrement canonique des décisions. Le serveur MCP impose un frontmatter normalisé (`**date:**`, `**status:**`, `**description:**`, `**tags:**`) et un statut initial `To be validated` que seul un humain peut promouvoir.
|
|
126
|
-
- **`sourceRoot`** pointe vers le code du projet. Les tools MCP source (`list_source_files`, `read_source_file`, `search_source`) et l'attache de métadonnées en dépendent. Valeur par défaut : le parent du dossier de documentation.
|
|
127
|
-
- **Métadonnées de fichiers source + jauge de fiabilité** , liez un document aux fichiers source qu'il décrit. Chaque liaison stocke un SHA-256. La jauge dans l'en-tête du document (`🔴 → 🟡 → 🟢`) reflète le ratio `unchanged / total`. Dès qu'un fichier lié est modifié ou supprimé, la dérive est visible. Les **god files** (`package.json`, lock files, manifests, barrels) sont exclus par convention.
|
|
128
|
-
- **Les diagrammes sont des vues dérivées** , ils citent les documents sur lesquels ils s'appuient (`evidence`). Ils ne peuvent pas introduire des concepts absents de la documentation.
|
|
161
|
+
L'intégration Git est optionnelle, mais fortement recommandée.
|
|
129
162
|
|
|
130
|
-
|
|
163
|
+
Elle permet :
|
|
131
164
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
| Documents | `list_documents` | Inventaire : `id`, `title`, `category`, `folder`, `linkHref`. |
|
|
140
|
-
| | `read_document` | Contenu Markdown brut d'un document. |
|
|
141
|
-
| | `create_document` | Crée un nouveau fichier `.md` (nom de fichier dérivé du pattern configuré, paramètre `date` optionnel pour la rétrodocumentation). |
|
|
142
|
-
| | `update_document` | Écrase un document existant (correction de dérive, supersession). |
|
|
143
|
-
| Diagrammes | `list_diagrams` | Liste les diagrammes sauvegardés. |
|
|
144
|
-
| | `read_diagram` | Lit les nœuds + arêtes d'un diagramme. |
|
|
145
|
-
| | `create_diagram` | Crée / écrase un diagramme (garde-fous côté serveur appliquent la progression C4 et les labels d'arêtes). |
|
|
146
|
-
| Code source (fallback) | `list_source_files` | Liste les fichiers sous `sourceRoot` (ignore : `node_modules`, `dist`, `.git`…). |
|
|
147
|
-
| | `read_source_file` | Lit un fichier sous `sourceRoot`. |
|
|
148
|
-
| | `search_source` | Recherche texte de type grep sous `sourceRoot`. |
|
|
149
|
-
| Métadonnées | `list_metadata` | Liaisons de fichiers source d'un document. |
|
|
150
|
-
| | `get_accuracy` | Statut par entrée (`unchanged` / `modified` / `missing`) + accuracy pondérée ∈ [0, 1]. |
|
|
151
|
-
| | `add_metadata` | Lie un fichier source (chemin sous `sourceRoot`), enregistre le SHA-256. **Ignore les god files.** |
|
|
152
|
-
| | `remove_metadata` | Détache une liaison (idempotent , pour les renommages/suppressions). |
|
|
153
|
-
| | `refresh_metadata` | Re-hashe chaque liaison (re-baseline après une mise à jour). |
|
|
154
|
-
| Audit ADR | `list_adrs_below_accuracy` | Jusqu'à 10 ADR dont l'accuracy < 80 %, triés du plus dégradé au moins dégradé. Exclut `SuperSeeded` et les non-ADR. |
|
|
155
|
-
| | `review_adr_relevance` | Rapport factuel sur un ADR + fichiers en dérive à relire. Retourne un `state` qui pilote l'arbre de décision du LLM. |
|
|
156
|
-
| Rétrodocumentation | `retrodocument_adrs_from_git` | Jusqu'à 200 commits git (du plus ancien) classés `candidate` / `trivial` / `merge`, avec flags god-file. Pour backfiller les ADR manquants. |
|
|
157
|
-
|
|
158
|
-
### Prompts (10)
|
|
159
|
-
|
|
160
|
-
| Groupe | Prompt | Quand |
|
|
161
|
-
| ---------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
162
|
-
| Cycle de vie ADR | `create-adr` | Une fonctionnalité vient d'être implémentée ou modifiée. Enregistre la décision, supplante un ADR antérieur le cas échéant. |
|
|
163
|
-
| | `audit-adrs-drift` | Audit par lot : ramener chaque ADR en dérive à un état clair (re-baseline ou supersession confirmée par l'utilisateur). |
|
|
164
|
-
| | `review-adr-relevance` | Examen d'un seul ADR à la lumière des fichiers source liés. |
|
|
165
|
-
| | `retrodocument-adrs-from-git` | Backfill d'ADR depuis l'historique git quand le projet en manque. |
|
|
166
|
-
| Diagrammes | `generate-context-diagram` | DÉFAUT. Diagramme C4 de contexte, gardé côté serveur. |
|
|
167
|
-
| | `generate-container-diagram` | Sur demande explicite uniquement. Diagramme C4 de conteneur d'un système. |
|
|
168
|
-
| | `generate-uml-diagram` | Sur demande explicite uniquement. UML classe/séquence/état/activité/cas d'utilisation. |
|
|
169
|
-
| | `generate-screen-guide` | Sur demande explicite uniquement. Capture d'écran annotée avec callouts post-it. |
|
|
170
|
-
| | `update-diagram-from-docs` | Relit les documents source pour mettre à jour les diagrammes existants. |
|
|
171
|
-
| | `flow`, `erd` | Diagrammes de flux linéaire / entité-relation. |
|
|
172
|
-
|
|
173
|
-
Un `GET http://localhost:4321/mcp` retourne les schémas live des tools + prompts pour inspection.
|
|
165
|
+
- commits automatiques après les sauvegardes
|
|
166
|
+
- push désactivé ou push tous les N commits
|
|
167
|
+
- avertissement si Git n'est pas configuré
|
|
168
|
+
- détection des changements hors dossier documentaire
|
|
169
|
+
- bouton <kbd>Versions</kbd> sur les documents
|
|
170
|
+
- diff visuel entre HEAD et un commit sélectionné
|
|
171
|
+
- restauration de blocs depuis une ancienne version
|
|
174
172
|
|
|
175
|
-
|
|
173
|
+
Living Documentation ne commit que le dossier documentaire configuré. Les changements hors de ce dossier sont ignorés et signalés.
|
|
176
174
|
|
|
177
|
-
|
|
175
|
+
---
|
|
178
176
|
|
|
179
|
-
|
|
180
|
-
- **Panneau Snippets** (`🧩 Snippets`) , constructions Markdown préfabriquées au curseur : blocs repliables, liens (intra-doc, inter-doc, ancre), listes, blocs de code, blockquotes, séparateurs, images. Plus un **éditeur de tableaux** (grille dynamique → tableau Markdown aligné) et un **éditeur d'arborescence** (indentation → arbre ASCII avec `├──` / `└──`). Sélectionner un snippet existant **détecte son type** et pré-remplit le formulaire pour édition.
|
|
181
|
-
- **Collage d'image** , collez depuis le presse-papier pendant l'édition, auto-upload vers `<docs>/images/`, inséré en Markdown.
|
|
182
|
-
- **Pièces jointes** , glissez, déposez, collez ou choisissez tout fichier non-image (PDF, archive, document bureautique). Uploadé sous `<docs>/files/`, inséré comme un pill trombone. Extensions bloquées et limites de taille configurables dans l'Admin.
|
|
183
|
-
- **Recherche plein-texte** , filtre instantané par nom de fichier + recherche serveur dans le contenu ; pour chaque fichier, liste chaque occurrence, les surligne et permet de naviguer vers elles.
|
|
184
|
-
- **Préfixe de recherche `metadata://<nomdefichier>`** , recherche inversée : quels documents référencent cette pièce jointe ?
|
|
185
|
-
- **Annotations** , marqueurs de surlignage persistants par document (jaune / rose / vert / bleu).
|
|
186
|
-
- **Navigation par ancre** , `[label](#heading-slug)` scrolle correctement après rendu asynchrone ; IDs auto-générés.
|
|
187
|
-
- **Mode sombre** , suit la préférence système, basculable manuellement. Coloration syntaxique toujours en mode sombre.
|
|
177
|
+
## Agents et MCP
|
|
188
178
|
|
|
189
|
-
|
|
179
|
+
Living Documentation expose un serveur MCP local sur :
|
|
190
180
|
|
|
191
|
-
|
|
181
|
+
```text
|
|
182
|
+
http://localhost:4321/mcp
|
|
183
|
+
```
|
|
192
184
|
|
|
193
|
-
|
|
185
|
+
Les agents compatibles MCP peuvent utiliser les tools internes pour :
|
|
194
186
|
|
|
195
|
-
|
|
187
|
+
- lister et lire les documents
|
|
188
|
+
- créer ou mettre à jour un document
|
|
189
|
+
- gérer les métadonnées
|
|
190
|
+
- générer des diagrammes
|
|
191
|
+
- générer des images via un provider image configuré
|
|
192
|
+
- lire le sourceRoot quand c'est nécessaire
|
|
193
|
+
- sauvegarder un contexte d'exécution
|
|
196
194
|
|
|
197
|
-
|
|
195
|
+
L'endpoint `GET /mcp` retourne les schémas live des tools et prompts disponibles. Le README ne duplique volontairement pas cette liste : elle évolue avec le produit.
|
|
198
196
|
|
|
199
|
-
|
|
200
|
-
- **`kind` architectural vs `renderAs` visuel** , sépare le concept (`software_system`, `database`, `queue`, `api`, `cloud_service`…) de la forme (`box`, `ellipse`, `database`, `actor`, `post-it`…). Le MCP choisit des valeurs par défaut pertinentes pour chaque `kind`.
|
|
201
|
-
- **Provenance documentaire (`evidence`)** , chaque nœud/arête architectural peut citer le document et la section qui le justifient. L'éditeur signale les warnings d'evidence manquante.
|
|
202
|
-
- **Bibliothèques de formes personnalisées** sur `/shape-editor` , définissez vos propres formes (icônes SVG, ports, couleurs par défaut) et réutilisez-les dans tous les diagrammes.
|
|
203
|
-
- **Ports** pour arêtes ancrées, **guides d'alignement**, **undo/redo**, **snap-to-grid**, **collage d'images**, **export PNG**, **deep-link** vers un diagramme par id.
|
|
197
|
+
### Exemple Claude Code
|
|
204
198
|
|
|
205
|
-
|
|
199
|
+
```bash
|
|
200
|
+
claude mcp add --transport http living-ai-documentation http://localhost:4321/mcp
|
|
201
|
+
```
|
|
206
202
|
|
|
207
|
-
|
|
203
|
+
### Exemple Claude Desktop
|
|
208
204
|
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"mcpServers": {
|
|
208
|
+
"living-ai-documentation": {
|
|
209
|
+
"type": "http",
|
|
210
|
+
"url": "http://localhost:4321/mcp"
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
209
214
|
```
|
|
210
|
-
docs/
|
|
211
|
-
├── 2024_01_15_09_30_[DevOps]_deploy.md → catégorie : DevOps
|
|
212
|
-
├── 1_tutorial/ → dossier : Tutorial (préfixe caché dans l'UI)
|
|
213
|
-
│ └── 2024_03_01_10_00_[Onboarding]_setup.md → dossier : Tutorial / catégorie : Onboarding
|
|
214
|
-
├── adrs/
|
|
215
|
-
│ └── 2024_04_01_10_15_[Architecture]_event_sourcing.md
|
|
216
|
-
└── 2_reference/
|
|
217
|
-
└── api.md → dossier : Reference / catégorie : General
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
- Le tag `[Category]` est extrait du nom de fichier quel que soit le dossier.
|
|
221
|
-
- Les fichiers sans `[Category]` tombent sous **General**. **General** est toujours rendu en premier.
|
|
222
|
-
- Les dossiers sont triés alphabétiquement , préfixez par `1_`, `2_`… pour forcer un ordre ; le préfixe est caché dans l'UI mais visible au survol.
|
|
223
|
-
- L'imbrication de sous-dossiers est supportée récursivement.
|
|
224
215
|
|
|
225
|
-
|
|
216
|
+
Même endpoint pour Cursor, Continue ou tout client MCP compatible Streamable HTTP.
|
|
226
217
|
|
|
227
218
|
---
|
|
228
219
|
|
|
229
|
-
## Configuration
|
|
220
|
+
## Configuration
|
|
221
|
+
|
|
222
|
+
La configuration est stockée dans `.living-doc.json`, dans le dossier documentaire.
|
|
230
223
|
|
|
231
|
-
|
|
224
|
+
Exemple :
|
|
232
225
|
|
|
233
226
|
```json
|
|
234
227
|
{
|
|
235
228
|
"filenamePattern": "YYYY_MM_DD_HH_mm_[Category]_title",
|
|
236
229
|
"title": "Living Documentation",
|
|
237
230
|
"theme": "system",
|
|
231
|
+
"language": "fr",
|
|
238
232
|
"port": 4321,
|
|
239
|
-
"
|
|
240
|
-
"
|
|
241
|
-
"
|
|
233
|
+
"sourceRoot": "..",
|
|
234
|
+
"extraFiles": [],
|
|
235
|
+
"gitIntegration": {
|
|
236
|
+
"mode": "enabled",
|
|
237
|
+
"pushMode": "never",
|
|
238
|
+
"pushEveryCommits": 1,
|
|
239
|
+
"commitMessage": "docs: update living documentation"
|
|
240
|
+
}
|
|
242
241
|
}
|
|
243
242
|
```
|
|
244
243
|
|
|
245
|
-
|
|
246
|
-
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
247
|
-
| `filenamePattern` | Convention de nom de fichier utilisée pour extraire date / catégorie / titre. Le token `[Category]` est obligatoire, exactement une fois. |
|
|
248
|
-
| `extraFiles` | Fichiers Markdown ordonnés **hors** du dossier docs (ex. `README.md`, `CLAUDE.md`). Affichés en premier dans General. |
|
|
249
|
-
| `sourceRoot` | Où vit votre code (relatif au dossier docs). Défaut : `..`. Utilisé par les tools MCP source + métadonnées. |
|
|
250
|
-
| `blockedFileExtensions` | Liste de sécurité des extensions de pièces jointes, éditable depuis l'Admin. |
|
|
251
|
-
|
|
252
|
-
**Tous les chemins sont relatifs POSIX** pour que `.living-doc.json` reste portable. Les chemins absolus legacy sont migrés silencieusement à la première lecture.
|
|
253
|
-
|
|
254
|
-

|
|
244
|
+
Points importants :
|
|
255
245
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
| ----------------------- | --------------------------- | ------------------------------------------------------------------ |
|
|
262
|
-
| PDF (par document) | `POST /api/export/html` | Boîte de dialogue d'impression du navigateur depuis le HTML rendu. |
|
|
263
|
-
| HTML , mode Notion | `POST /api/export/html` | Bundle HTML unique adapté à l'import Notion. |
|
|
264
|
-
| HTML , mode Confluence | `POST /api/export/html` | Bundle HTML zippé adapté à l'import Confluence. |
|
|
265
|
-
| Bundle Markdown | `POST /api/export/markdown` | Zip de tous les documents avec liens normalisés. |
|
|
246
|
+
- les chemins sont stockés en relatif quand c'est possible
|
|
247
|
+
- `sourceRoot` sert aux tools source et aux agents
|
|
248
|
+
- `[Category]` est utilisé pour classer les documents
|
|
249
|
+
- Git peut rester non configuré, désactivé, ou activé explicitement
|
|
250
|
+
- les extensions de fichiers jointes peuvent être bloquées dans Admin
|
|
266
251
|
|
|
267
252
|
---
|
|
268
253
|
|
|
269
|
-
##
|
|
254
|
+
## Exports
|
|
270
255
|
|
|
271
|
-
|
|
272
|
-
| --------------- | --------------------------------------------------------------------------------------------------------- |
|
|
273
|
-
| `/` | Viewer , sidebar, rendu de document, édition inline, snippets, recherche, pièces jointes. |
|
|
274
|
-
| `/admin` | Config , titre, thème, pattern de nom de fichier, extra files, source root, liste de sécurité des fichiers. |
|
|
275
|
-
| `/diagram?id=` | Éditeur de diagrammes (vis-network) avec conventions C4, ports, guides d'alignement, undo/redo. |
|
|
276
|
-
| `/shape-editor` | Éditeur de bibliothèques de formes personnalisées , icônes SVG, couleurs par défaut, ports. |
|
|
277
|
-
| `/context` | Page de contexte IA , instructions, règles, mémoire, **explorateur MCP** (testez les tools en live dans le navigateur). |
|
|
256
|
+
Living Documentation sait exporter :
|
|
278
257
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
<details>
|
|
284
|
-
<summary>API HTTP complète (cliquer pour déplier)</summary>
|
|
285
|
-
|
|
286
|
-
| Méthode | Endpoint | Description |
|
|
287
|
-
| -------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
|
|
288
|
-
| `GET` | `/api/documents` | Liste les documents avec métadonnées (inclut les extra files). |
|
|
289
|
-
| `GET` | `/api/documents/:id` | Contenu du document + HTML rendu. |
|
|
290
|
-
| `POST` | `/api/documents` | Crée à partir de `{ title, category, folder?, content?, date? }`. |
|
|
291
|
-
| `PUT` | `/api/documents/:id` | Sauvegarde le contenu sur disque. |
|
|
292
|
-
| `DELETE` | `/api/documents/:id` | Supprime un document. |
|
|
293
|
-
| `GET` | `/api/documents/search?q=` | Recherche plein-texte. |
|
|
294
|
-
| `GET` | `/api/config` | Lit la configuration. |
|
|
295
|
-
| `PUT` | `/api/config` | Met à jour la configuration (`title`, `theme`, `filenamePattern`, `extraFiles`, `sourceRoot`, `blockedFileExtensions`…). |
|
|
296
|
-
| `GET` | `/api/browse?path=` | Liste les dossiers et fichiers `.md` à un chemin donné. |
|
|
297
|
-
| `POST` | `/api/browse/mkdir` | Crée un dossier sous la racine docs. |
|
|
298
|
-
| `POST` | `/api/images/upload` | Upload d'une image base64 → `<docs>/images/`. |
|
|
299
|
-
| `POST` | `/api/files/upload` | Upload d'une pièce jointe base64 → `<docs>/files/`. |
|
|
300
|
-
| `GET` | `/api/files` | Liste toutes les pièces jointes (ordre chronologique). |
|
|
301
|
-
| `PUT` | `/api/files/:filename` | Remplace une pièce jointe. |
|
|
302
|
-
| `DELETE` | `/api/files/:filename` | Supprime une pièce jointe. |
|
|
303
|
-
| `GET` | `/api/metadata/:docId` | Rapport de fiabilité pour un document. |
|
|
304
|
-
| `POST` | `/api/metadata/:docId` | Ajoute ou remplace une liaison. |
|
|
305
|
-
| `DELETE` | `/api/metadata/:docId` | Retire une liaison. |
|
|
306
|
-
| `POST` | `/api/metadata/:docId/refresh` | Re-baseline les hashes. |
|
|
307
|
-
| `GET` | `/api/browse-source?path=` | Navigue dans l'arbre source ancré sur `sourceRoot`. |
|
|
308
|
-
| `GET` | `/api/diagrams` | Liste les diagrammes sauvegardés. |
|
|
309
|
-
| `GET` | `/api/diagrams/:id` | Lit un diagramme (nœuds + arêtes). |
|
|
310
|
-
| `PUT` | `/api/diagrams/:id` | Crée ou met à jour un diagramme. |
|
|
311
|
-
| `DELETE` | `/api/diagrams/:id` | Supprime un diagramme. |
|
|
312
|
-
| `GET` | `/api/shape-libraries` | Liste les bibliothèques de formes personnalisées. |
|
|
313
|
-
| `PUT` | `/api/shape-libraries/:id` | Sauvegarde une bibliothèque de formes. |
|
|
314
|
-
| `GET` | `/api/annotations[/:docId]` | Liste les annotations (tous les docs / un doc). |
|
|
315
|
-
| `POST` | `/api/annotations/:docId` | Ajoute une annotation. |
|
|
316
|
-
| `DELETE` | `/api/annotations/:docId/:id` | Supprime une annotation. |
|
|
317
|
-
| `POST` | `/api/export/html` | Export HTML , modes Notion / Confluence. |
|
|
318
|
-
| `POST` | `/api/export/markdown` | Export bundle Markdown. |
|
|
319
|
-
| `GET` | `/api/wordcloud?path=&ext=` | Concatène récursivement les fichiers source correspondants en texte brut. |
|
|
320
|
-
| `POST` | `/mcp` | Endpoint Model Context Protocol (Streamable HTTP). |
|
|
321
|
-
| `GET` | `/mcp` | Résumé live des schémas tools + prompts. |
|
|
322
|
-
|
|
323
|
-
</details>
|
|
258
|
+
- un document en HTML imprimable / PDF navigateur
|
|
259
|
+
- un bundle HTML pour Notion ou Confluence
|
|
260
|
+
- un bundle Markdown complet
|
|
261
|
+
- des diagrammes en image ou `.drawio` selon le cas
|
|
324
262
|
|
|
325
263
|
---
|
|
326
264
|
|
|
327
|
-
##
|
|
265
|
+
## Développement local
|
|
328
266
|
|
|
329
267
|
```bash
|
|
330
268
|
git clone https://github.com/craftskillz/living-documentation.git
|
|
331
269
|
cd living-documentation
|
|
332
270
|
npm install
|
|
333
|
-
npm run
|
|
334
|
-
npm run dev -- ./documentation # Vite (UI sur :5174, HMR) + backend Express (:4321)
|
|
335
|
-
npm run build # tsc (serveur) + vite build (UI → dist/frontend-svelte)
|
|
336
|
-
npm run test:e2e # Playwright end-to-end (~3 s, ~30 specs MCP)
|
|
337
|
-
npm run test:coverage # couverture c8 V8-natif
|
|
271
|
+
npm run dev -- ./documentation
|
|
338
272
|
```
|
|
339
273
|
|
|
340
|
-
En
|
|
274
|
+
En développement :
|
|
341
275
|
|
|
342
|
-
|
|
276
|
+
- UI Vite : [http://localhost:5174](http://localhost:5174)
|
|
277
|
+
- backend Express : [http://localhost:4321](http://localhost:4321)
|
|
278
|
+
- proxy Vite : `/api`, `/mcp`, `/images`, `/files`
|
|
343
279
|
|
|
344
|
-
|
|
280
|
+
Commandes utiles :
|
|
345
281
|
|
|
346
|
-
|
|
282
|
+
```bash
|
|
283
|
+
npm run build
|
|
284
|
+
npm run test:e2e
|
|
285
|
+
npm run test:coverage
|
|
286
|
+
npm run setup-hooks
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Pour tester le package comme il sera publié :
|
|
347
290
|
|
|
348
291
|
```bash
|
|
349
|
-
# Lancer l'artefact de production exact, puis ouvrir http://localhost:4321
|
|
350
292
|
npm run build
|
|
351
293
|
node dist/bin/cli.js ./documentation
|
|
352
294
|
|
|
353
|
-
|
|
354
|
-
npm pack # → living-ai-documentation-<version>.tgz
|
|
295
|
+
npm pack
|
|
355
296
|
npx ./living-ai-documentation-*.tgz ./documentation
|
|
356
|
-
|
|
357
|
-
npm pack --dry-run # inspecter exactement quels fichiers seraient publiés
|
|
358
297
|
```
|
|
359
298
|
|
|
360
|
-
> En production, il n'y a pas de `:5174`.
|
|
299
|
+
> En production, il n'y a pas de serveur Vite sur `:5174`. Le CLI sert l'UI, l'API et MCP depuis Express, sur le port configuré.
|
|
300
|
+
|
|
301
|
+
---
|
|
361
302
|
|
|
362
|
-
|
|
303
|
+
## Contribution
|
|
304
|
+
|
|
305
|
+
Le dépôt applique un contrat de README bilingue : si vous modifiez `README.fr.md`, vous devez aussi mettre à jour `README.md`, et inversement.
|
|
306
|
+
|
|
307
|
+
Activez les hooks locaux après le clone :
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
npm run setup-hooks
|
|
311
|
+
```
|
|
363
312
|
|
|
364
|
-
|
|
313
|
+
La même vérification tourne en CI via `.github/workflows/readme-sync.yml`.
|
|
365
314
|
|
|
366
315
|
---
|
|
367
316
|
|
|
368
317
|
## Licence
|
|
369
318
|
|
|
370
|
-
[AGPL-3.0](./LICENSE)
|
|
319
|
+
[AGPL-3.0](./LICENSE), © Youssef MEDAGHRI-ALAOUI.
|