living-ai-documentation 3.36.0 → 3.38.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 +199 -248
- package/README.md +199 -248
- 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-Bgh0849E.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/src/lib/git.d.ts +8 -0
- package/dist/src/lib/git.d.ts.map +1 -1
- package/dist/src/lib/git.js +63 -0
- package/dist/src/lib/git.js.map +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +62 -0
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/context.d.ts +18 -0
- package/dist/src/mcp/tools/context.d.ts.map +1 -0
- package/dist/src/mcp/tools/context.js +153 -0
- package/dist/src/mcp/tools/context.js.map +1 -0
- 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-CtDBIowd.js +0 -181
package/README.fr.md
CHANGED
|
@@ -6,365 +6,316 @@
|
|
|
6
6
|
|
|
7
7
|
[🇬🇧 Read in English](./README.md)
|
|
8
8
|
|
|
9
|
-
> **
|
|
9
|
+
> **Un atelier local pour générer, maintenir, versionner et automatiser votre documentation.**
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
**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.
|
|
12
|
+
|
|
13
|
+
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
14
|
|
|
13
15
|
    
|
|
14
16
|
|
|
15
17
|
```bash
|
|
16
|
-
npx living-ai-documentation@latest
|
|
17
|
-
npx living-ai-documentation@latest ./docs # servir un dossier existant
|
|
18
|
+
npx living-ai-documentation@latest
|
|
18
19
|
```
|
|
19
20
|
|
|
20
|
-

|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Pourquoi l'utiliser ?
|
|
26
|
+
|
|
27
|
+
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.
|
|
28
|
+
|
|
29
|
+
| Besoin | Ce que Living Documentation apporte |
|
|
30
|
+
| ------------------ | ------------------------------------------------------------------------------------ |
|
|
31
|
+
| Écrire vite | Éditeur Markdown, snippets, tableaux, images, fichiers joints, annotations. |
|
|
32
|
+
| Structurer | Dossiers, catégories, conventions de nommage, recherche plein texte. |
|
|
33
|
+
| Versionner | Intégration Git, commits automatiques, comparaison visuelle, restauration par blocs. |
|
|
34
|
+
| Visualiser | Éditeur de diagrammes, images, exports, liens cliquables dans les documents. |
|
|
35
|
+
| Automatiser | Workspace, providers LLM, agents réutilisables, tools MCP internes. |
|
|
36
|
+
| Garder la maîtrise | Fichiers locaux, pas de cloud imposé, pas de base de données propriétaire. |
|
|
21
37
|
|
|
22
38
|
---
|
|
23
39
|
|
|
24
|
-
##
|
|
40
|
+
## Les fonctionnalités qui changent tout
|
|
41
|
+
|
|
42
|
+
### Documentation local-first
|
|
43
|
+
|
|
44
|
+
Vos documents sont de simples fichiers Markdown dans un dossier.
|
|
45
|
+
|
|
46
|
+
- lisibles dans n'importe quel éditeur
|
|
47
|
+
- versionnables avec Git
|
|
48
|
+
- utilisables par vos LLMs
|
|
49
|
+
- portables d'un projet à l'autre
|
|
50
|
+
- faciles à sauvegarder
|
|
51
|
+
|
|
52
|
+

|
|
53
|
+
|
|
54
|
+
### Git intégré, versions et restauration
|
|
25
55
|
|
|
26
|
-
|
|
56
|
+
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.
|
|
27
57
|
|
|
28
|
-
|
|
58
|
+

|
|
29
59
|
|
|
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é. |
|
|
60
|
+
### Workspace, LLMs et agents
|
|
37
61
|
|
|
38
|
-
|
|
62
|
+
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.
|
|
39
63
|
|
|
40
|
-
|
|
64
|
+
Les agents peuvent travailler en mode **Chat only** ou avec les **tools MCP** de Living Documentation quand le provider les accepte.
|
|
41
65
|
|
|
42
|
-
|
|
66
|
+

|
|
43
67
|
|
|
44
|
-
|
|
68
|
+
### Agents lancés depuis toute l'application
|
|
69
|
+
|
|
70
|
+
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.
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
### Diagrammes et schémas
|
|
75
|
+
|
|
76
|
+
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.
|
|
77
|
+
|
|
78
|
+

|
|
79
|
+
|
|
80
|
+
### Laboratoire d'automatisation agentique
|
|
81
|
+
|
|
82
|
+
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.
|
|
83
|
+
|
|
84
|
+

|
|
45
85
|
|
|
46
86
|
---
|
|
47
87
|
|
|
48
88
|
## Démarrage rapide
|
|
49
89
|
|
|
90
|
+
Nécessite **Node.js 20.19 ou plus récent**.
|
|
91
|
+
|
|
50
92
|
```bash
|
|
51
|
-
# Assistant interactif
|
|
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.
|
|
93
|
+
# Assistant interactif : crée un starter EN ou FR
|
|
54
94
|
npx living-ai-documentation@latest
|
|
55
95
|
|
|
56
96
|
# Ou servir un dossier existant
|
|
57
97
|
npx living-ai-documentation@latest ./docs
|
|
98
|
+
|
|
99
|
+
# Port explicite
|
|
58
100
|
npx living-ai-documentation@latest ./docs --port 4000 --open
|
|
59
101
|
```
|
|
60
102
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
> L'argument du dossier doit être un **chemin relatif** (`./docs`, `../shared/docs`…). Les chemins absolus et `~` sont rejetés pour que le fichier `.living-doc.json` généré reste portable et puisse être commité.
|
|
103
|
+
Puis ouvrez :
|
|
64
104
|
|
|
65
|
-
|
|
105
|
+
- application : [http://localhost:4321](http://localhost:4321)
|
|
106
|
+
- admin : [http://localhost:4321/admin](http://localhost:4321/admin)
|
|
107
|
+
- MCP : [http://localhost:4321/mcp](http://localhost:4321/mcp)
|
|
66
108
|
|
|
67
|
-
|
|
109
|
+
Le premier lancement peut créer un starter documentaire complet, en français ou en anglais, avec des guides intégrés pour comprendre Home, Markdown, Workspace, Agents et Diagram.
|
|
68
110
|
|
|
69
|
-
|
|
70
|
-
npx living-ai-documentation@latest # zéro installation
|
|
71
|
-
npm install -g living-ai-documentation # global
|
|
72
|
-
```
|
|
111
|
+
> 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
112
|
|
|
74
113
|
---
|
|
75
114
|
|
|
76
|
-
##
|
|
115
|
+
## Ce que contient l'application
|
|
77
116
|
|
|
78
|
-
|
|
117
|
+
| Surface | Usage |
|
|
118
|
+
| --------------------- | ------------------------------------------------------------------------- |
|
|
119
|
+
| <kbd>Home</kbd> | Lire, créer, éditer, rechercher et organiser les documents Markdown. |
|
|
120
|
+
| <kbd>Workspace</kbd> | Configurer les providers LLM, MCP, agents et providers image. |
|
|
121
|
+
| <kbd>Agents</kbd> | Lancer les agents depuis n'importe quelle page. |
|
|
122
|
+
| <kbd>Diagram</kbd> | Créer et modifier des diagrammes liés aux documents. |
|
|
123
|
+
| <kbd>Files</kbd> | Parcourir les fichiers joints et assets documentaires. |
|
|
124
|
+
| <kbd>AI Context</kbd> | Inspecter le contexte IA, les règles, la mémoire et l'explorateur MCP. |
|
|
125
|
+
| <kbd>Admin</kbd> | Configurer thème, langue, Git, patterns, sécurité fichiers, debug agents. |
|
|
79
126
|
|
|
80
|
-
|
|
81
|
-
claude mcp add --transport http living-ai-documentation http://localhost:4321/mcp
|
|
82
|
-
```
|
|
127
|
+
---
|
|
83
128
|
|
|
84
|
-
|
|
129
|
+
## Écrire dans Living Documentation
|
|
85
130
|
|
|
86
|
-
|
|
87
|
-
{
|
|
88
|
-
"mcpServers": {
|
|
89
|
-
"living-ai-documentation": {
|
|
90
|
-
"type": "http",
|
|
91
|
-
"url": "http://localhost:4321/mcp"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
131
|
+
Le viewer Home est aussi un éditeur Markdown.
|
|
96
132
|
|
|
97
|
-
|
|
133
|
+
Fonctions utiles :
|
|
98
134
|
|
|
99
|
-
|
|
135
|
+
- édition inline avec sauvegarde disque
|
|
136
|
+
- snippets Markdown
|
|
137
|
+
- tableaux assistés
|
|
138
|
+
- arbres ASCII
|
|
139
|
+
- blocs repliables
|
|
140
|
+
- callouts
|
|
141
|
+
- images collées depuis le presse-papier
|
|
142
|
+
- fichiers joints
|
|
143
|
+
- annotations
|
|
144
|
+
- table des matières automatique
|
|
145
|
+
- recherche plein texte
|
|
100
146
|
|
|
101
|
-
|
|
102
|
-
{
|
|
103
|
-
"mcpServers": {
|
|
104
|
-
"living-ai-documentation": {
|
|
105
|
-
"type": "http",
|
|
106
|
-
"url": "http://localhost:4321/mcp"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
```
|
|
147
|
+
Les fichiers sont classés par dossiers réels et par catégories extraites du nom :
|
|
111
148
|
|
|
112
|
-
|
|
149
|
+
```text
|
|
150
|
+
PROCESSUS/2026_06_30_10_00_[GUIDE]_preparer_une_reunion.md
|
|
151
|
+
```
|
|
113
152
|
|
|
114
|
-
|
|
153
|
+
Ici :
|
|
115
154
|
|
|
116
|
-
|
|
155
|
+
- `PROCESSUS` est le dossier
|
|
156
|
+
- `GUIDE` est la catégorie
|
|
157
|
+
- `preparer_une_reunion` est le titre
|
|
117
158
|
|
|
118
159
|
---
|
|
119
160
|
|
|
120
|
-
##
|
|
161
|
+
## Git et versions
|
|
121
162
|
|
|
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.
|
|
163
|
+
L'intégration Git est optionnelle, mais fortement recommandée.
|
|
129
164
|
|
|
130
|
-
|
|
165
|
+
Elle permet :
|
|
131
166
|
|
|
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.
|
|
167
|
+
- commits automatiques après les sauvegardes
|
|
168
|
+
- push désactivé ou push tous les N commits
|
|
169
|
+
- avertissement si Git n'est pas configuré
|
|
170
|
+
- détection des changements hors dossier documentaire
|
|
171
|
+
- bouton <kbd>Versions</kbd> sur les documents
|
|
172
|
+
- diff visuel entre HEAD et un commit sélectionné
|
|
173
|
+
- restauration de blocs depuis une ancienne version
|
|
174
174
|
|
|
175
|
-
|
|
175
|
+
Living Documentation ne commit que le dossier documentaire configuré. Les changements hors de ce dossier sont ignorés et signalés.
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
---
|
|
178
178
|
|
|
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.
|
|
179
|
+
## Agents et MCP
|
|
188
180
|
|
|
189
|
-
|
|
181
|
+
Living Documentation expose un serveur MCP local sur :
|
|
190
182
|
|
|
191
|
-
|
|
183
|
+
```text
|
|
184
|
+
http://localhost:4321/mcp
|
|
185
|
+
```
|
|
192
186
|
|
|
193
|
-
|
|
187
|
+
Les agents compatibles MCP peuvent utiliser les tools internes pour :
|
|
194
188
|
|
|
195
|
-
|
|
189
|
+
- lister et lire les documents
|
|
190
|
+
- créer ou mettre à jour un document
|
|
191
|
+
- gérer les métadonnées
|
|
192
|
+
- générer des diagrammes
|
|
193
|
+
- générer des images via un provider image configuré
|
|
194
|
+
- lire le sourceRoot quand c'est nécessaire
|
|
195
|
+
- sauvegarder un contexte d'exécution
|
|
196
196
|
|
|
197
|
-
|
|
197
|
+
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
198
|
|
|
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.
|
|
199
|
+
### Exemple Claude Code
|
|
204
200
|
|
|
205
|
-
|
|
201
|
+
```bash
|
|
202
|
+
claude mcp add --transport http living-ai-documentation http://localhost:4321/mcp
|
|
203
|
+
```
|
|
206
204
|
|
|
207
|
-
|
|
205
|
+
### Exemple Claude Desktop
|
|
208
206
|
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
207
|
+
```json
|
|
208
|
+
{
|
|
209
|
+
"mcpServers": {
|
|
210
|
+
"living-ai-documentation": {
|
|
211
|
+
"type": "http",
|
|
212
|
+
"url": "http://localhost:4321/mcp"
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
218
216
|
```
|
|
219
217
|
|
|
220
|
-
|
|
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
|
-
|
|
225
|
-

|
|
218
|
+
Même endpoint pour Cursor, Continue ou tout client MCP compatible Streamable HTTP.
|
|
226
219
|
|
|
227
220
|
---
|
|
228
221
|
|
|
229
|
-
## Configuration
|
|
222
|
+
## Configuration
|
|
223
|
+
|
|
224
|
+
La configuration est stockée dans `.living-doc.json`, dans le dossier documentaire.
|
|
230
225
|
|
|
231
|
-
|
|
226
|
+
Exemple :
|
|
232
227
|
|
|
233
228
|
```json
|
|
234
229
|
{
|
|
235
230
|
"filenamePattern": "YYYY_MM_DD_HH_mm_[Category]_title",
|
|
236
231
|
"title": "Living Documentation",
|
|
237
232
|
"theme": "system",
|
|
233
|
+
"language": "fr",
|
|
238
234
|
"port": 4321,
|
|
239
|
-
"
|
|
240
|
-
"
|
|
241
|
-
"
|
|
235
|
+
"sourceRoot": "..",
|
|
236
|
+
"extraFiles": [],
|
|
237
|
+
"gitIntegration": {
|
|
238
|
+
"mode": "enabled",
|
|
239
|
+
"pushMode": "never",
|
|
240
|
+
"pushEveryCommits": 1,
|
|
241
|
+
"commitMessage": "docs: update living documentation"
|
|
242
|
+
}
|
|
242
243
|
}
|
|
243
244
|
```
|
|
244
245
|
|
|
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. |
|
|
246
|
+
Points importants :
|
|
251
247
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
248
|
+
- les chemins sont stockés en relatif quand c'est possible
|
|
249
|
+
- `sourceRoot` sert aux tools source et aux agents
|
|
250
|
+
- `[Category]` est utilisé pour classer les documents
|
|
251
|
+
- Git peut rester non configuré, désactivé, ou activé explicitement
|
|
252
|
+
- les extensions de fichiers jointes peuvent être bloquées dans Admin
|
|
255
253
|
|
|
256
254
|
---
|
|
257
255
|
|
|
258
|
-
##
|
|
259
|
-
|
|
260
|
-
| Format | Endpoint | Notes |
|
|
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. |
|
|
256
|
+
## Exports
|
|
266
257
|
|
|
267
|
-
|
|
258
|
+
Living Documentation sait exporter :
|
|
268
259
|
|
|
269
|
-
|
|
270
|
-
|
|
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). |
|
|
260
|
+
- un document en HTML imprimable / PDF navigateur
|
|
261
|
+
- un bundle HTML pour Notion ou Confluence
|
|
262
|
+
- un bundle Markdown complet
|
|
263
|
+
- des diagrammes en image ou `.drawio` selon le cas
|
|
278
264
|
|
|
279
265
|
---
|
|
280
266
|
|
|
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>
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## Build et test
|
|
267
|
+
## Développement local
|
|
328
268
|
|
|
329
269
|
```bash
|
|
330
270
|
git clone https://github.com/craftskillz/living-documentation.git
|
|
331
271
|
cd living-documentation
|
|
332
272
|
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
|
|
273
|
+
npm run dev -- ./documentation
|
|
338
274
|
```
|
|
339
275
|
|
|
340
|
-
En
|
|
276
|
+
En développement :
|
|
277
|
+
|
|
278
|
+
- UI Vite : [http://localhost:5174](http://localhost:5174)
|
|
279
|
+
- backend Express : [http://localhost:4321](http://localhost:4321)
|
|
280
|
+
- proxy Vite : `/api`, `/mcp`, `/images`, `/files`
|
|
341
281
|
|
|
342
|
-
|
|
282
|
+
Commandes utiles :
|
|
343
283
|
|
|
344
|
-
|
|
284
|
+
```bash
|
|
285
|
+
npm run build
|
|
286
|
+
npm run test:e2e
|
|
287
|
+
npm run test:coverage
|
|
288
|
+
npm run setup-hooks
|
|
289
|
+
```
|
|
345
290
|
|
|
346
|
-
|
|
291
|
+
Pour tester le package comme il sera publié :
|
|
347
292
|
|
|
348
293
|
```bash
|
|
349
|
-
# Lancer l'artefact de production exact, puis ouvrir http://localhost:4321
|
|
350
294
|
npm run build
|
|
351
295
|
node dist/bin/cli.js ./documentation
|
|
352
296
|
|
|
353
|
-
|
|
354
|
-
npm pack # → living-ai-documentation-<version>.tgz
|
|
297
|
+
npm pack
|
|
355
298
|
npx ./living-ai-documentation-*.tgz ./documentation
|
|
356
|
-
|
|
357
|
-
npm pack --dry-run # inspecter exactement quels fichiers seraient publiés
|
|
358
299
|
```
|
|
359
300
|
|
|
360
|
-
> En production, il n'y a pas de `:5174`.
|
|
301
|
+
> 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é.
|
|
302
|
+
|
|
303
|
+
---
|
|
361
304
|
|
|
362
|
-
|
|
305
|
+
## Contribution
|
|
306
|
+
|
|
307
|
+
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.
|
|
308
|
+
|
|
309
|
+
Activez les hooks locaux après le clone :
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
npm run setup-hooks
|
|
313
|
+
```
|
|
363
314
|
|
|
364
|
-
|
|
315
|
+
La même vérification tourne en CI via `.github/workflows/readme-sync.yml`.
|
|
365
316
|
|
|
366
317
|
---
|
|
367
318
|
|
|
368
319
|
## Licence
|
|
369
320
|
|
|
370
|
-
[AGPL-3.0](./LICENSE)
|
|
321
|
+
[AGPL-3.0](./LICENSE), © Youssef MEDAGHRI-ALAOUI.
|