@mcptoolshop/claude-synergy 0.0.0 → 1.0.1

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,342 @@
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
+ <p align="center">
8
+ <a href="https://github.com/mcp-tool-shop-org/claude-synergy/actions/workflows/test.yml"><img src="https://github.com/mcp-tool-shop-org/claude-synergy/actions/workflows/test.yml/badge.svg" alt="tests"></a>
9
+ <a href="https://www.npmjs.com/package/@mcptoolshop/claude-synergy"><img src="https://img.shields.io/npm/v/@mcptoolshop/claude-synergy" alt="npm"></a>
10
+ <a href="#license"><img src="https://img.shields.io/badge/license-MIT-blue" alt="license"></a>
11
+ <a href="https://mcp-tool-shop-org.github.io/claude-synergy/"><img src="https://img.shields.io/badge/landing%20page-live-brightgreen" alt="landing page"></a>
12
+ </p>
13
+
14
+ 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.
15
+
16
+ ```bash
17
+ $ hk query redact
18
+ 2026-05-11 anthropic-cli@1.7.1 [changed] redact api-key headers in debug logs
19
+ 2026-05-11 anthropic-sdk-java@2.31.0 [changed] redact api-key headers in debug logs
20
+ 2026-05-11 anthropic-sdk-go@1.42.0 [changed] redact api-key headers in debug logs
21
+ 2026-05-07 anthropic-sdk-typescript@0.95.1 [changed] redact api-key headers in debug logs
22
+
23
+ 4 results
24
+ ```
25
+
26
+
27
+ 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.
28
+
29
+ Repo: [github.com/mcp-tool-shop-org/claude-synergy](https://github.com/mcp-tool-shop-org/claude-synergy)
30
+
31
+ ---
32
+
33
+ ## Le problème
34
+
35
+ 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.
36
+
37
+ 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.
38
+
39
+ **Ce dépôt comble ce fossé.** La section Synergy en fait un produit plutôt qu'un simple miroir.
40
+
41
+ ---
42
+
43
+ ## Ce qui se trouve ici
44
+
45
+ ```
46
+ claude-synergy/
47
+ ├── products/ # 44 product directories (1,186 release files)
48
+ │ ├── claude-code/ # Anthropic CLI — 117 releases
49
+ │ ├── claude-agent-sdk-{python,typescript}/ # Agent SDKs
50
+ │ ├── anthropic-sdk-{python,typescript,go,java,csharp,ruby,php}/ # 7 language SDKs
51
+ │ ├── claude-api/ # Platform release notes
52
+ │ ├── anthropic-apps/ # Design / Cowork / Chat / Mobile (Help Center feed)
53
+ │ ├── claude-code-action/ # GitHub Action
54
+ │ ├── anthropic-cli/ # `ant` CLI
55
+ │ ├── mcp-{python,typescript,go,java,csharp,kotlin,ruby,swift,rust,php}-sdk/
56
+ │ ├── mcp-{spec,inspector,registry,mcpb,conformance}/
57
+ │ ├── cursor/ # RSS feed
58
+ │ ├── aider/ # raw HISTORY.md
59
+ │ ├── continue-{dev,cli}/ # GH releases
60
+ │ ├── cody-enterprise/ # filtered Sourcegraph RSS
61
+ │ ├── github-copilot/ # HTML scrape (github.blog)
62
+ │ ├── vscode-copilot-chat/ # HTML scrape (code.visualstudio.com)
63
+ │ ├── windsurf/ # Playwright fetcher (CSR-only changelog)
64
+ │ ├── skills/ # Anthropic Skills catalog
65
+ │ └── plugins-{official,community,knowledge-work}/ # Plugin marketplaces
66
+ ├── synergies/ # 12 curated cross-product workflows
67
+ ├── src/ # TypeScript implementation
68
+ ├── test/ # 382 tests (unit, integration, regression, smoke)
69
+ ├── data/claude-synergy.db # SQLite database (created by `hk init`)
70
+ ├── schema.sql # Tier 2a tables (products, releases, changes, entities, FTS5, …)
71
+ ├── schema-vec.sql # Tier 2b tables (chunks, chunks_vec, chunks_fts)
72
+ ├── SOURCES.md # 5-tier source landscape with fetch strategies
73
+ └── URGENT_FINDINGS.md # 23 actionable items surfaced from the corpus
74
+ ```
75
+
76
+ **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.
77
+
78
+ ---
79
+
80
+ ## Statut — toutes les étapes ont été réalisées
81
+
82
+ | Étape | Statut | Ce qui s'y trouve |
83
+ |------|--------|--------------|
84
+ | **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. |
85
+ | **2a — SQLite + FTS5 + CLI** | ✅ réalisé | CLI `hk` ; 15 sous-commandes ; ingestion inférieure à 300 ms. |
86
+ | **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). |
87
+ | **3 — synchronisation + serveur MCP** | ✅ réalisé | `hk fetch / sync / seed-markers` ; `claude-synergy-mcp` expose 8 outils via stdio. |
88
+ | **4a — extension au-delà d'Anthropic** | ✅ réalisé | +15 SDK MCP, Cursor (RSS), Aider (HISTORY.md), Continue.dev, Cody Enterprise (RSS filtré). |
89
+ | **4b — récupérateur HTML** | ✅ réalisé | GitHub Copilot + VS Code Chat (Windsurf nécessite Playwright — v0.7). |
90
+ | **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. |
91
+ | **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`. |
92
+
93
+ Feuille de route pour la version 0.8+ : consultable dans [URGENT_FINDINGS.md](URGENT_FINDINGS.md) et les problèmes.
94
+
95
+ ---
96
+
97
+ ## Sécurité et modèle de données
98
+
99
+ 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.
100
+
101
+ ---
102
+
103
+ ## Installation
104
+
105
+ ```bash
106
+ git clone https://github.com/mcp-tool-shop-org/claude-synergy
107
+ cd claude-synergy
108
+ pnpm install
109
+ pnpm build # produces dist/cli.js + dist/mcp-server.js
110
+ npm link # makes `hk` and `claude-synergy-mcp` available globally
111
+ ```
112
+
113
+ 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.
114
+
115
+ ---
116
+
117
+ ## Interface CLI — 15 commandes
118
+
119
+ ```
120
+ # DB lifecycle
121
+ hk init # create DB with schema
122
+ hk ingest # parse products/*/releases/*.md → DB (idempotent)
123
+ hk embed # generate chunks + embeddings (sqlite-vec)
124
+ hk fetch [--product X] # incremental pull from sources
125
+ hk sync # combined fetch → ingest → embed (cron-friendly)
126
+ hk seed-markers # one-time setup after initial corpus
127
+
128
+ # Search
129
+ hk query "managed agents" # FTS5 keyword search
130
+ hk hybrid "credential exfiltration" # FTS5 + vec hybrid via RRF (+ optional --rerank)
131
+
132
+ # Entity lookups
133
+ hk env-var CLAUDE_CODE_WORKFLOWS # when introduced + history
134
+ hk command code-review # slash command + rename history
135
+ hk model claude-opus-4-7 # model launch + mentions across products
136
+ hk cve CVE-2025-66414 # CVE references in corpus
137
+
138
+ # Browsing
139
+ hk latest [--product X] [--limit N] # recent releases
140
+ hk products # list all 44 with counts
141
+ hk top env_var # most-mentioned by entity type
142
+ # (env_var, slash_command, cli_option,
143
+ # model_id, beta_header, cve, ghsa,
144
+ # hook_event, setting_key)
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Exemples de flux de travail
150
+
151
+ **Déterminer quand une variable d'environnement Claude Code a été introduite :**
152
+ ```
153
+ $ hk env-var CLAUDE_CODE_WORKFLOWS
154
+ env var CLAUDE_CODE_WORKFLOWS — 1 mention:
155
+
156
+ 2026-05-21 claude-code@2.1.147 [added]
157
+ Added the `Workflow` tool for deterministic multi-agent orchestration.
158
+ It is off by default — set `CLAUDE_CODE_WORKFLOWS=1` to enable
159
+ ```
160
+
161
+ **Suivre les modifications incompatibles entre les différentes SDK :**
162
+ ```
163
+ $ hk query TodoWrite --limit 5
164
+ 2026-05-15 claude-agent-sdk-python@0.2.82 [breaking] Headless and SDK sessions now use Task tools...
165
+ 2026-05-14 claude-agent-sdk-typescript@0.3.142 [breaking] Headless and SDK sessions now use Task tools...
166
+ 2026-05-08 claude-agent-sdk-typescript@0.2.136 [deprecated] Deprecated TodoWrite tool...
167
+ ```
168
+
169
+ **Planifier une migration de modèle :**
170
+ ```
171
+ $ hk model claude-opus-4-20250514
172
+ model id claude-opus-4-20250514 — 2 mentions:
173
+
174
+ 2026-04-14 anthropic-sdk-python@0.94.0 [deprecated]
175
+ Deprecation of the Claude Sonnet 4 model and the Claude Opus 4 model,
176
+ with retirement on the Claude API scheduled for June 15, 2026...
177
+ ```
178
+
179
+ **Recherche sémantique sur l'ensemble du corpus :**
180
+ ```
181
+ $ hk hybrid "credential exfiltration" --limit 3
182
+ 2026-03-25 claude-code@2.1.83 [added] vec#5 rrf=0.0154
183
+ Added `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1` to strip Anthropic and
184
+ cloud provider credentials from subprocess environments...
185
+ ```
186
+
187
+ 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.
188
+
189
+ ---
190
+
191
+ ## Serveur MCP : donnez à vos agents accès à ce corpus
192
+
193
+ `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 :
194
+
195
+ ```json
196
+ {
197
+ "mcpServers": {
198
+ "claude-synergy": {
199
+ "command": "claude-synergy-mcp",
200
+ "env": {
201
+ "CLAUDE_SYNERGY_DB": "/path/to/claude-synergy/data/claude-synergy.db"
202
+ }
203
+ }
204
+ }
205
+ }
206
+ ```
207
+
208
+ 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)).
209
+
210
+ Outils exposés :
211
+
212
+ | Outil | Fonctionnalité |
213
+ |---|---|
214
+ | `search` | FTS5 + recherche vectorielle ; réordonnancement optionnel. Mode par défaut pour les requêtes en langage naturel. |
215
+ | `lookup_entity` | Historique précis des entités : variables d'environnement, commandes, identifiants de modèles, CVE, etc. |
216
+ | `latest_releases` | Dernières versions disponibles pour les différents produits (ou un seul). |
217
+ | `get_release` | Contenu complet d'une version. |
218
+ | `list_products` | Énumération avec nombre d'occurrences + dernière version. |
219
+ | `top_entities` | Entités les plus mentionnées par type. |
220
+ | `list_synergies` | Flux de travail inter-produits sélectionnés. |
221
+ | `read_synergy` | Texte intégral d'un fichier de synergie. |
222
+
223
+ ---
224
+
225
+ ## Sources : 5 niveaux, 6 stratégies de récupération
226
+
227
+ Vue d'ensemble complète dans [SOURCES.md](SOURCES.md).
228
+
229
+ - **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.
230
+ - **Niveau 2 (Markdown brut)** — `anthropics/claude-code/CHANGELOG.md` + `Aider-AI/aider/HISTORY.md`
231
+ - **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`
232
+ - **Niveau 4 (Catalogue)** — `anthropics/skills`, `claude-plugins-{official,community}`, `knowledge-work-plugins`
233
+ - **Niveau 5 (Conseils)** — Compte X `@ClaudeCodeLog` ; miroir de changelog de marckrenn.
234
+
235
+ Stratégies de récupération : `gh-releases | rss | raw-changelog | html-scrape | catalog | playwright`. Nouveau produit = une entrée dans `products.yaml`.
236
+
237
+ ---
238
+
239
+ ## Synergies : ce qui est débloqué
240
+
241
+ 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 :
242
+
243
+ - **08 — Format SKILL.md universel** (Code + Cursor + Codex) : un seul auteur de compétence, trois agents le lisent.
244
+ - **09 — MCP sur sept plateformes** (Code + Cursor + Continue + Copilot + Windsurf + Cody + API) : un seul binaire, tous les agents.
245
+ - **10 — Anthropic BYOK sur les plateformes** : une seule clé API alimente Claude dans 7 éditeurs avec une facturation unifiée.
246
+ - **11 — Claude Code orchestre Aider** : déplace les modifications importantes vers un modèle moins coûteux, tandis que Claude planifie.
247
+ - **12 — Piège du format de configuration MCP** : Copilot utilise `servers` ; tout le monde utilise `mcpServers`.
248
+
249
+ Index complet dans [synergies/INDEX.md](synergies/INDEX.md).
250
+
251
+ ---
252
+
253
+ ## Tests
254
+
255
+ 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.
256
+
257
+ ```bash
258
+ pnpm test # unit + integration + regression (~16s, 382 tests)
259
+ pnpm test:watch # interactive
260
+ pnpm test:coverage # generate coverage/index.html (thresholds: 78/75/85/78)
261
+ pnpm test:smoke # opt-in full-corpus smoke (RUN_SMOKE=1)
262
+ ```
263
+
264
+ Structure :
265
+
266
+ | Dossier | Ce qu'il couvre |
267
+ |-----|----------------|
268
+ | `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. |
269
+ | `test/integration/` | de bout en bout — pipeline, synchronisation, serveur MCP (JSON-RPC via le flux standard), interface de ligne de commande. |
270
+ | `test/regression/` | §8.1–§8.18 : chaque section protège contre un bug réel corrigé pendant le développement. |
271
+ | `test/smoke/` | Test complet sur l'ensemble des fichiers (1 143 fichiers) simulant les produits réels. |
272
+ | `test/fixtures/` | 3 produits factices + réponses HTTP simulées (RSS / GH / Voyage / Cohere / Ollama / Anthropic / Smithery / Registre MCP officiel). |
273
+ | `test/helpers/` | `temp-db.ts`, `fetch-mock.ts`, `mcp-client.ts`, `seed-corpus.ts`, `golden-vectors.ts`, `playwright-mock.ts`, `yaml-fixtures.ts` |
274
+
275
+ **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.
276
+
277
+ CI : le fichier `.github/workflows/test.yml` exécute `pnpm test:coverage` à chaque commit et à chaque pull request.
278
+
279
+ ---
280
+
281
+ ## Dépannage
282
+
283
+ **"Base de données verrouillée" ou erreurs WAL**
284
+
285
+ 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.
286
+
287
+ **"Extension sqlite-vec introuvable" / échec du chargement de sqlite-vec**
288
+
289
+ L'extension native `sqlite-vec` n'a pas pu être chargée. Causes courantes :
290
+
291
+ 1. **Version de Node trop ancienne** : `claude-synergy` nécessite Node 22+. Vérifiez avec `node -v`.
292
+ 2. **Module natif nécessitant une reconstruction** : exécutez `npm rebuild better-sqlite3` (ou `pnpm rebuild better-sqlite3`).
293
+ 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++".
294
+
295
+ 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.
296
+
297
+ **"Synchronisation échouée pour le produit X" / erreurs de fetch**
298
+
299
+ Les commandes `hk fetch` et `hk sync` appellent des API externes. Causes courantes :
300
+
301
+ - **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`.
302
+ - **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`).
303
+ - **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.
304
+
305
+ 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.
306
+
307
+ **"Fournisseur d'intégration non réactif"**
308
+
309
+ La commande `hk embed` appelle un service d'intégration externe :
310
+
311
+ - **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`).
312
+ - **Voyage** : définissez la variable d'environnement `VOYAGE_API_KEY`. Vérifiez votre clé API sur [dash.voyageai.com](https://dash.voyageai.com).
313
+
314
+ **Incompatibilité de version du schéma / base de données corrompue**
315
+
316
+ 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 :
317
+
318
+ ```bash
319
+ rm data/claude-synergy.db data/claude-synergy.db-wal data/claude-synergy.db-shm
320
+ hk init
321
+ hk ingest
322
+ hk embed --context structured --embedding ollama # optional, for vector search
323
+ ```
324
+
325
+ 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`.
326
+
327
+ ---
328
+
329
+ ## Fichiers associés
330
+
331
+ - [CONTRIBUTING.md](CONTRIBUTING.md) — Comment ajouter des produits, exécuter des tests, soumettre des demandes de modification (pull requests).
332
+ - [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).
333
+ - [SOURCES.md](SOURCES.md) — Paysage des sources en 5 niveaux avec stratégies de récupération.
334
+ - [synergies/INDEX.md](synergies/INDEX.md) — 12 flux de travail inter-produits sélectionnés.
335
+ - [schema.sql](schema.sql) + [schema-vec.sql](schema-vec.sql) — Schémas SQLite et sqlite-vec.
336
+ - [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.
337
+
338
+ ---
339
+
340
+ ## Licence
341
+
342
+ MIT. Créé par <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>.