@mcptoolshop/claude-synergy 0.0.0 → 1.0.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 ADDED
@@ -0,0 +1,340 @@
1
+ <p align="center">
2
+ <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.md">English</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
+ </p>
4
+
5
+ <p align="center"><img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/claude-synergy/readme.png" alt="Claude Synergy" width="400"></p>
6
+
7
+ Un miroir local et consultable de tous les journaux de modifications d'Anthropic et des outils de développement d'IA associés, ainsi qu'une couche **Synergy** organisée décrivant les flux de travail inter-produits, afin que l'agent LLM intégré à l'outil sache ce que l'outil peut faire.
8
+
9
+ <p align="center">
10
+
11
+ [![tests](https://github.com/mcp-tool-shop-org/claude-synergy/actions/workflows/test.yml/badge.svg)](https://github.com/mcp-tool-shop-org/claude-synergy/actions/workflows/test.yml) [![npm](https://img.shields.io/npm/v/@mcptoolshop/claude-synergy)](https://www.npmjs.com/package/@mcptoolshop/claude-synergy) [![license](https://img.shields.io/badge/license-MIT-blue)](#license) [![landing page](https://img.shields.io/badge/landing%20page-live-brightgreen)](https://mcp-tool-shop-org.github.io/claude-synergy/)
12
+
13
+ </p>
14
+
15
+ ```bash
16
+ $ hk query redact
17
+ 2026-05-11 anthropic-cli@1.7.1 [changed] redact api-key headers in debug logs
18
+ 2026-05-11 anthropic-sdk-java@2.31.0 [changed] redact api-key headers in debug logs
19
+ 2026-05-11 anthropic-sdk-go@1.42.0 [changed] redact api-key headers in debug logs
20
+ 2026-05-07 anthropic-sdk-typescript@0.95.1 [changed] redact api-key headers in debug logs
21
+
22
+ 4 results
23
+ ```
24
+
25
+ Une seule requête FTS révèle une correction de sécurité coordonnée entre les SDK qui n'est signalée par aucun journal de modifications individuel comme une CVE. C'est la démonstration clé : des schémas émergent lorsque tous les journaux de modifications sont côte à côte.
26
+
27
+ Repo: [github.com/mcp-tool-shop-org/claude-synergy](https://github.com/mcp-tool-shop-org/claude-synergy)
28
+
29
+ ---
30
+
31
+ ## Le problème
32
+
33
+ Claude Code CLI est publié quotidiennement. L'API Claude est publiée presque aussi souvent. Les SDK sont publiés à chaque nouvelle version de l'CLI. Claude Design, Cowork, Chat et Mobile sont intégrés dans le centre d'aide unifié. L'écosystème MCP publie environ 200 à 300 nouveaux serveurs par semaine. De plus, il existe 7 plateformes majeures d'outils de développement d'IA (Cursor, Aider, Continue, Copilot, Cody, Windsurf), chacune publiant ses propres journaux de modifications selon son propre rythme.
34
+
35
+ L'agent LLM intégré à l'un de ces outils a une date de fin de formation fixe. L'écart se creuse chaque jour. Des fonctionnalités sont publiées dont l'agent ignore l'existence. Des bogues sont corrigés, mais l'agent continue de les contourner. Des variables d'environnement et des indicateurs sont ajoutés que l'agent ne suggère jamais. Les flux de travail inter-produits qui combinent plusieurs plateformes restent découverts.
36
+
37
+ **Ce dépôt comble ce fossé.** La section Synergy en fait un produit plutôt qu'un simple miroir.
38
+
39
+ ---
40
+
41
+ ## Ce qui se trouve ici
42
+
43
+ ```
44
+ claude-synergy/
45
+ ├── products/ # 44 product directories (1,186 release files)
46
+ │ ├── claude-code/ # Anthropic CLI — 117 releases
47
+ │ ├── claude-agent-sdk-{python,typescript}/ # Agent SDKs
48
+ │ ├── anthropic-sdk-{python,typescript,go,java,csharp,ruby,php}/ # 7 language SDKs
49
+ │ ├── claude-api/ # Platform release notes
50
+ │ ├── anthropic-apps/ # Design / Cowork / Chat / Mobile (Help Center feed)
51
+ │ ├── claude-code-action/ # GitHub Action
52
+ │ ├── anthropic-cli/ # `ant` CLI
53
+ │ ├── mcp-{python,typescript,go,java,csharp,kotlin,ruby,swift,rust,php}-sdk/
54
+ │ ├── mcp-{spec,inspector,registry,mcpb,conformance}/
55
+ │ ├── cursor/ # RSS feed
56
+ │ ├── aider/ # raw HISTORY.md
57
+ │ ├── continue-{dev,cli}/ # GH releases
58
+ │ ├── cody-enterprise/ # filtered Sourcegraph RSS
59
+ │ ├── github-copilot/ # HTML scrape (github.blog)
60
+ │ ├── vscode-copilot-chat/ # HTML scrape (code.visualstudio.com)
61
+ │ ├── windsurf/ # Playwright fetcher (CSR-only changelog)
62
+ │ ├── skills/ # Anthropic Skills catalog
63
+ │ └── plugins-{official,community,knowledge-work}/ # Plugin marketplaces
64
+ ├── synergies/ # 12 curated cross-product workflows
65
+ ├── src/ # TypeScript implementation
66
+ ├── test/ # 382 tests (unit, integration, regression, smoke)
67
+ ├── data/claude-synergy.db # SQLite database (created by `hk init`)
68
+ ├── schema.sql # Tier 2a tables (products, releases, changes, entities, FTS5, …)
69
+ ├── schema-vec.sql # Tier 2b tables (chunks, chunks_vec, chunks_fts)
70
+ ├── SOURCES.md # 5-tier source landscape with fetch strategies
71
+ └── URGENT_FINDINGS.md # 23 actionable items surfaced from the corpus
72
+ ```
73
+
74
+ **Chiffres clés (à partir de la version 1.0.0) :** 44 produits / 1 186 fichiers de publication / 6 042 modifications / 1 225 entités / 12 synergies / 382 tests.
75
+
76
+ ---
77
+
78
+ ## Statut — toutes les étapes ont été réalisées
79
+
80
+ | Étape | Statut | Ce qui s'y trouve |
81
+ |------|--------|--------------|
82
+ | **1 — corpus Markdown (bootstrap)** | ✅ réalisé | Study-swarm a alimenté 706 fichiers de publication de janvier à mai 2026 ; étendu à 1 186 par l'étape 4. |
83
+ | **2a — SQLite + FTS5 + CLI** | ✅ réalisé | CLI `hk` ; 15 sous-commandes ; ingestion inférieure à 300 ms. |
84
+ | **2b — sqlite-vec + récupération contextuelle** | ✅ réalisé | Fournisseur adaptable (aucun/structuré/ollama/claude-haiku contexte × ollama/voyage embed × aucun/ollama-judge/voyage/cohere rerank). |
85
+ | **3 — synchronisation + serveur MCP** | ✅ réalisé | `hk fetch / sync / seed-markers` ; `claude-synergy-mcp` expose 8 outils via stdio. |
86
+ | **4a — extension au-delà d'Anthropic** | ✅ réalisé | +15 SDK MCP, Cursor (RSS), Aider (HISTORY.md), Continue.dev, Cody Enterprise (RSS filtré). |
87
+ | **4b — récupérateur HTML** | ✅ réalisé | GitHub Copilot + VS Code Chat (Windsurf nécessite Playwright — v0.7). |
88
+ | **4c — ingestion HTML→Markdown avec turndown** | ✅ réalisé | Les corps HTML (Copilot/VS Code/Cursor) génèrent désormais des lignes individuelles pour FTS5 + l'extraction d'entités. |
89
+ | **4d — Playwright + registre MCP + configuration YAML** | ✅ réalisé | Windsurf via Playwright ; Smithery + registre MCP officiel comme catalogues de l'étape 4 ; les produits sont regroupés dans `products.yaml`. |
90
+
91
+ Feuille de route pour la version 0.8+ : consultable dans [URGENT_FINDINGS.md](URGENT_FINDINGS.md) et les problèmes.
92
+
93
+ ---
94
+
95
+ ## Sécurité et modèle de données
96
+
97
+ Cet outil fonctionne localement. **Données concernées :** une base de données SQLite dérivée et des fichiers de publication au format Markdown, tous pouvant être recréés. **Réseau :** uniquement des connexions HTTPS sortantes lorsque vous exécutez `hk fetch`/`hk sync` (API GitHub, flux RSS, pages de modifications, registres MCP) ou `hk embed` avec un fournisseur distant (Voyage, Cohere). **Secrets :** lit les variables d'environnement `GITHUB_TOKEN`, `VOYAGE_API_KEY`, `COHERE_API_KEY`, `ANTHROPIC_API_KEY` — jamais enregistrées, jamais stockées sur le disque. **Aucune télémétrie.** Consultez [SECURITY.md](SECURITY.md) pour connaître la politique de signalement.
98
+
99
+ ---
100
+
101
+ ## Installation
102
+
103
+ ```bash
104
+ git clone https://github.com/mcp-tool-shop-org/claude-synergy
105
+ cd claude-synergy
106
+ pnpm install
107
+ pnpm build # produces dist/cli.js + dist/mcp-server.js
108
+ npm link # makes `hk` and `claude-synergy-mcp` available globally
109
+ ```
110
+
111
+ Pour le développement sans compilation, utilisez `npx tsx src/cli.ts ...` directement. **Particularité de pnpm 10 :** `pnpm dev` ignore les arguments de la CLI après `--` ; utilisez `npx tsx` pour le développement.
112
+
113
+ ---
114
+
115
+ ## Interface CLI — 15 commandes
116
+
117
+ ```
118
+ # DB lifecycle
119
+ hk init # create DB with schema
120
+ hk ingest # parse products/*/releases/*.md → DB (idempotent)
121
+ hk embed # generate chunks + embeddings (sqlite-vec)
122
+ hk fetch [--product X] # incremental pull from sources
123
+ hk sync # combined fetch → ingest → embed (cron-friendly)
124
+ hk seed-markers # one-time setup after initial corpus
125
+
126
+ # Search
127
+ hk query "managed agents" # FTS5 keyword search
128
+ hk hybrid "credential exfiltration" # FTS5 + vec hybrid via RRF (+ optional --rerank)
129
+
130
+ # Entity lookups
131
+ hk env-var CLAUDE_CODE_WORKFLOWS # when introduced + history
132
+ hk command code-review # slash command + rename history
133
+ hk model claude-opus-4-7 # model launch + mentions across products
134
+ hk cve CVE-2025-66414 # CVE references in corpus
135
+
136
+ # Browsing
137
+ hk latest [--product X] [--limit N] # recent releases
138
+ hk products # list all 44 with counts
139
+ hk top env_var # most-mentioned by entity type
140
+ # (env_var, slash_command, cli_option,
141
+ # model_id, beta_header, cve, ghsa,
142
+ # hook_event, setting_key)
143
+ ```
144
+
145
+ ---
146
+
147
+ ## Exemples de flux de travail
148
+
149
+ **Déterminer quand une variable d'environnement Claude Code a été introduite :**
150
+ ```
151
+ $ hk env-var CLAUDE_CODE_WORKFLOWS
152
+ env var CLAUDE_CODE_WORKFLOWS — 1 mention:
153
+
154
+ 2026-05-21 claude-code@2.1.147 [added]
155
+ Added the `Workflow` tool for deterministic multi-agent orchestration.
156
+ It is off by default — set `CLAUDE_CODE_WORKFLOWS=1` to enable
157
+ ```
158
+
159
+ **Suivre les modifications incompatibles entre les différentes SDK :**
160
+ ```
161
+ $ hk query TodoWrite --limit 5
162
+ 2026-05-15 claude-agent-sdk-python@0.2.82 [breaking] Headless and SDK sessions now use Task tools...
163
+ 2026-05-14 claude-agent-sdk-typescript@0.3.142 [breaking] Headless and SDK sessions now use Task tools...
164
+ 2026-05-08 claude-agent-sdk-typescript@0.2.136 [deprecated] Deprecated TodoWrite tool...
165
+ ```
166
+
167
+ **Planifier une migration de modèle :**
168
+ ```
169
+ $ hk model claude-opus-4-20250514
170
+ model id claude-opus-4-20250514 — 2 mentions:
171
+
172
+ 2026-04-14 anthropic-sdk-python@0.94.0 [deprecated]
173
+ Deprecation of the Claude Sonnet 4 model and the Claude Opus 4 model,
174
+ with retirement on the Claude API scheduled for June 15, 2026...
175
+ ```
176
+
177
+ **Recherche sémantique sur l'ensemble du corpus :**
178
+ ```
179
+ $ hk hybrid "credential exfiltration" --limit 3
180
+ 2026-03-25 claude-code@2.1.83 [added] vec#5 rrf=0.0154
181
+ Added `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1` to strip Anthropic and
182
+ cloud provider credentials from subprocess environments...
183
+ ```
184
+
185
+ La requête ne contient jamais "env_scrub" ; le système le détecte par similarité sémantique. La recherche FTS5 classique ne le trouve pas du tout.
186
+
187
+ ---
188
+
189
+ ## Serveur MCP : donnez à vos agents accès à ce corpus
190
+
191
+ `claude-synergy-mcp` expose 8 outils via le flux standard. Connectez-vous à Claude Code (ou à n'importe quel hôte MCP) via `~/.claude/.mcp.json` ou le fichier `.mcp.json` de votre projet :
192
+
193
+ ```json
194
+ {
195
+ "mcpServers": {
196
+ "claude-synergy": {
197
+ "command": "claude-synergy-mcp",
198
+ "env": {
199
+ "CLAUDE_SYNERGY_DB": "/path/to/claude-synergy/data/claude-synergy.db"
200
+ }
201
+ }
202
+ }
203
+ }
204
+ ```
205
+
206
+ Pour le fichier `.vscode/mcp.json` de GitHub Copilot, utilisez le wrapper `servers` au lieu de `mcpServers` (voir [synergy 12](synergies/12-mcp-config-format-gotcha.md)).
207
+
208
+ Outils exposés :
209
+
210
+ | Outil | Fonctionnalité |
211
+ |---|---|
212
+ | `search` | FTS5 + recherche vectorielle ; réordonnancement optionnel. Mode par défaut pour les requêtes en langage naturel. |
213
+ | `lookup_entity` | Historique précis des entités : variables d'environnement, commandes, identifiants de modèles, CVE, etc. |
214
+ | `latest_releases` | Dernières versions disponibles pour les différents produits (ou un seul). |
215
+ | `get_release` | Contenu complet d'une version. |
216
+ | `list_products` | Énumération avec nombre d'occurrences + dernière version. |
217
+ | `top_entities` | Entités les plus mentionnées par type. |
218
+ | `list_synergies` | Flux de travail inter-produits sélectionnés. |
219
+ | `read_synergy` | Texte intégral d'un fichier de synergie. |
220
+
221
+ ---
222
+
223
+ ## Sources : 5 niveaux, 6 stratégies de récupération
224
+
225
+ Vue d'ensemble complète dans [SOURCES.md](SOURCES.md).
226
+
227
+ - **Niveau 1 (Dépôts GitHub)** — `gh api repos/<owner>/<repo>/releases` pour 22 produits, y compris les SDK Anthropic (7 langages), les SDK Agent (2), l'interface de ligne de commande ant, claude-code-action, claude-code-security-review, et 15 SDK de l'écosystème MCP.
228
+ - **Niveau 2 (Markdown brut)** — `anthropics/claude-code/CHANGELOG.md` + `Aider-AI/aider/HISTORY.md`
229
+ - **Niveau 3 (HTML / RSS)** — `platform.claude.com/docs/release-notes`, `support.claude.com/articles/12138966`, `cursor.com/changelog/rss.xml`, `sourcegraph.com/changelog/featured.rss` (filtré), `github.blog/changelog/label/copilot/`, `code.visualstudio.com/updates/v1_NNN`
230
+ - **Niveau 4 (Catalogue)** — `anthropics/skills`, `claude-plugins-{official,community}`, `knowledge-work-plugins`
231
+ - **Niveau 5 (Conseils)** — Compte X `@ClaudeCodeLog` ; miroir de changelog de marckrenn.
232
+
233
+ Stratégies de récupération : `gh-releases | rss | raw-changelog | html-scrape | catalog | playwright`. Nouveau produit = une entrée dans `products.yaml`.
234
+
235
+ ---
236
+
237
+ ## Synergies : ce qui est débloqué
238
+
239
+ 12 flux de travail inter-produits sélectionnés. Chacun décrit un modèle de composition, le déclencheur qui le rend pertinent et les preuves de changelog qui le rendent possible. Exemples :
240
+
241
+ - **08 — Format SKILL.md universel** (Code + Cursor + Codex) : un seul auteur de compétence, trois agents le lisent.
242
+ - **09 — MCP sur sept plateformes** (Code + Cursor + Continue + Copilot + Windsurf + Cody + API) : un seul binaire, tous les agents.
243
+ - **10 — Anthropic BYOK sur les plateformes** : une seule clé API alimente Claude dans 7 éditeurs avec une facturation unifiée.
244
+ - **11 — Claude Code orchestre Aider** : déplace les modifications importantes vers un modèle moins coûteux, tandis que Claude planifie.
245
+ - **12 — Piège du format de configuration MCP** : Copilot utilise `servers` ; tout le monde utilise `mcpServers`.
246
+
247
+ Index complet dans [synergies/INDEX.md](synergies/INDEX.md).
248
+
249
+ ---
250
+
251
+ ## Tests
252
+
253
+ La suite Vitest couvre les niveaux unitaires, d'intégration, de régression et de test de base. **[test-spec-3.md](test-spec-3.md) est la référence actuelle** à partir de la version v0.7.0 ; [test-spec.md](test-spec.md) (v1) et [test-spec-2.md](test-spec-2.md) (v2) restent dans le dépôt comme enregistrement historique de l'évolution de la conception.
254
+
255
+ ```bash
256
+ pnpm test # unit + integration + regression (~16s, 382 tests)
257
+ pnpm test:watch # interactive
258
+ pnpm test:coverage # generate coverage/index.html (thresholds: 78/75/85/78)
259
+ pnpm test:smoke # opt-in full-corpus smoke (RUN_SMOKE=1)
260
+ ```
261
+
262
+ Structure :
263
+
264
+ | Dossier | Ce qu'il couvre |
265
+ |-----|----------------|
266
+ | `test/unit/` | par module — extraction, ingestion, requête, base de données, intégration, recherche vectorielle, récupération + tous les fournisseurs + récupération-rss/changelog/html + récupération-mcp-registry + récupération-playwright + configuration des produits. |
267
+ | `test/integration/` | de bout en bout — pipeline, synchronisation, serveur MCP (JSON-RPC via le flux standard), interface de ligne de commande. |
268
+ | `test/regression/` | §8.1–§8.18 : chaque section protège contre un bug réel corrigé pendant le développement. |
269
+ | `test/smoke/` | Test complet sur l'ensemble des fichiers (1 143 fichiers) simulant les produits réels. |
270
+ | `test/fixtures/` | 3 produits factices + réponses HTTP simulées (RSS / GH / Voyage / Cohere / Ollama / Anthropic / Smithery / Registre MCP officiel). |
271
+ | `test/helpers/` | `temp-db.ts`, `fetch-mock.ts`, `mcp-client.ts`, `seed-corpus.ts`, `golden-vectors.ts`, `playwright-mock.ts`, `yaml-fixtures.ts` |
272
+
273
+ **Pas de connexion réseau par défaut dans les tests** : le serveur HTTP est simulé via `vi.spyOn(global, 'fetch')`. Utilisation de SQLite réel dans des fichiers temporaires (et non `:memory:`) car les règles de chargement de l'extension `sqlite-vec` varient selon les versions, et le stockage sur disque est la méthode standard. Playwright est chargé via une importation dynamique et simulé via `vi.doMock('playwright', ...)` pour que les tests passent sans installation d'un navigateur réel.
274
+
275
+ CI : le fichier `.github/workflows/test.yml` exécute `pnpm test:coverage` à chaque commit et à chaque pull request.
276
+
277
+ ---
278
+
279
+ ## Dépannage
280
+
281
+ **"Base de données verrouillée" ou erreurs WAL**
282
+
283
+ Un autre processus `hk` (ou un serveur MCP obsolète) maintient la base de données SQLite ouverte. Fermez les autres processus `hk`, puis réessayez. Si le problème persiste, vérifiez la présence de fichiers `-wal` ou `-shm` à côté de `data/claude-synergy.db` : ce sont des fichiers WAL normaux qui seront supprimés lorsque la dernière connexion sera fermée. Ne les supprimez pas tant qu'un autre processus a la base de données ouverte.
284
+
285
+ **"Extension sqlite-vec introuvable" / échec du chargement de sqlite-vec**
286
+
287
+ L'extension native `sqlite-vec` n'a pas pu être chargée. Causes courantes :
288
+
289
+ 1. **Version de Node trop ancienne** : `claude-synergy` nécessite Node 22+. Vérifiez avec `node -v`.
290
+ 2. **Module natif nécessitant une reconstruction** : exécutez `npm rebuild better-sqlite3` (ou `pnpm rebuild better-sqlite3`).
291
+ 3. **Incompatibilité de la plateforme** : sur Windows/ARM, `better-sqlite3` nécessite un ensemble d'outils de compilation C++. Installez les [windows-build-tools](https://github.com/nicedoc/windows-build-tools) ou les outils de développement Visual Studio avec "Développement Desktop avec C++".
292
+
293
+ Note : `sqlite-vec` est facultatif. La recherche de mots-clés FTS5 (`hk query`) fonctionne sans lui. Seules les commandes `hk embed` et `hk hybrid` nécessitent l'extension vectorielle.
294
+
295
+ **"Synchronisation échouée pour le produit X" / erreurs de fetch**
296
+
297
+ Les commandes `hk fetch` et `hk sync` appellent des API externes. Causes courantes :
298
+
299
+ - **Limite de débit de GitHub** : la stratégie `gh-releases` utilise `gh api`, qui nécessite votre `GITHUB_TOKEN`. Les requêtes non authentifiées sont limitées à 60 requêtes par heure ; authentifiez-vous avec `gh auth login` ou définissez la variable d'environnement `GITHUB_TOKEN`.
300
+ - **Réseau / proxy** : les récupérateurs RSS et HTML utilisent `fetch()`. Vérifiez la connectivité et les éventuels paramètres de proxy d'entreprise (`HTTPS_PROXY`).
301
+ - **Produit inconnu** : `hk fetch --product foo` ne fonctionne que pour les produits répertoriés dans `products.yaml`. Exécutez `hk products` pour voir tous les noms disponibles.
302
+
303
+ La synchronisation est idempotente : il est sûr de la relancer après un échec partiel. Les versions déjà récupérées sont ignorées.
304
+
305
+ **"Fournisseur d'intégration non réactif"**
306
+
307
+ La commande `hk embed` appelle un service d'intégration externe :
308
+
309
+ - **Ollama (par défaut)** : assurez-vous qu'Ollama est en cours d'exécution (`ollama serve`) et que le modèle d'intégration est téléchargé (`ollama pull nomic-embed-text`).
310
+ - **Voyage** : définissez la variable d'environnement `VOYAGE_API_KEY`. Vérifiez votre clé API sur [dash.voyageai.com](https://dash.voyageai.com).
311
+
312
+ **Incompatibilité de version du schéma / base de données corrompue**
313
+
314
+ Si la base de données a été créée avec une version de schéma antérieure et que la migration échoue, ou si les données semblent incorrectes après un crash :
315
+
316
+ ```bash
317
+ rm data/claude-synergy.db data/claude-synergy.db-wal data/claude-synergy.db-shm
318
+ hk init
319
+ hk ingest
320
+ hk embed --context structured --embedding ollama # optional, for vector search
321
+ ```
322
+
323
+ C'est sans danger : la base de données est un cache dérivé. Toutes les données sources se trouvent dans les fichiers `products/*/releases/*.md`.
324
+
325
+ ---
326
+
327
+ ## Fichiers associés
328
+
329
+ - [CONTRIBUTING.md](CONTRIBUTING.md) — Comment ajouter des produits, exécuter des tests, soumettre des demandes de modification (pull requests).
330
+ - [URGENT_FINDINGS.md](URGENT_FINDINGS.md) — 23 points d'action (vulnérabilités de sécurité, obsolescence des modèles, modifications majeures, pièges de configuration).
331
+ - [SOURCES.md](SOURCES.md) — Paysage des sources en 5 niveaux avec stratégies de récupération.
332
+ - [synergies/INDEX.md](synergies/INDEX.md) — 12 flux de travail inter-produits sélectionnés.
333
+ - [schema.sql](schema.sql) + [schema-vec.sql](schema-vec.sql) — Schémas SQLite et sqlite-vec.
334
+ - [test-spec-3.md](test-spec-3.md) (actuel) + [test-spec-2.md](test-spec-2.md), [test-spec.md](test-spec.md) (historique) — Spécifications de la suite de tests.
335
+
336
+ ---
337
+
338
+ ## Licence
339
+
340
+ MIT. Créé par <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>.