@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/CHANGELOG.md +126 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.es.md +340 -0
- package/README.fr.md +340 -0
- package/README.hi.md +340 -0
- package/README.it.md +340 -0
- package/README.ja.md +340 -0
- package/README.md +337 -5
- package/README.pt-BR.md +340 -0
- package/README.zh.md +340 -0
- package/dist/chunk-HCIZPSW4.js +469 -0
- package/dist/chunk-YFGUTT22.js +754 -0
- package/dist/cli.js +2090 -0
- package/dist/fetch-playwright-HQ6OTMSQ.js +80 -0
- package/dist/ingest-3LJNQWS7.js +6 -0
- package/dist/mcp-server.js +497 -0
- package/package.json +81 -7
- package/products.yaml +456 -0
- package/schema-vec.sql +43 -0
- package/schema.sql +155 -0
- package/synergies/01-skill-portability.md +33 -0
- package/synergies/02-mcp-server-portability.md +33 -0
- package/synergies/03-design-to-code-bundle.md +33 -0
- package/synergies/04-computer-use-cross-surface.md +33 -0
- package/synergies/05-ollama-cost-shifting.md +36 -0
- package/synergies/06-agent-sdk-graduation.md +34 -0
- package/synergies/07-code-review-in-ci.md +33 -0
- package/synergies/08-universal-skill-md-format.md +46 -0
- package/synergies/09-mcp-across-seven-surfaces.md +48 -0
- package/synergies/10-anthropic-byok-across-surfaces.md +46 -0
- package/synergies/11-claude-code-orchestrates-aider.md +52 -0
- package/synergies/12-mcp-config-format-gotcha.md +60 -0
- package/synergies/INDEX.md +47 -0
package/README.md
CHANGED
|
@@ -1,9 +1,341 @@
|
|
|
1
|
-
|
|
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.fr.md">Français</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>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Source + roadmap: <https://github.com/mcp-tool-shop-org/claude-synergy>
|
|
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
6
|
|
|
7
7
|
A local, queryable mirror of every Anthropic + adjacent AI dev tool changelog — plus a curated **Synergy** layer describing cross-product workflows — so the LLM agent inside the harness knows what the harness can do.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
<p align="center">
|
|
10
|
+
|
|
11
|
+
[](https://github.com/mcp-tool-shop-org/claude-synergy/actions/workflows/test.yml) [](https://www.npmjs.com/package/@mcptoolshop/claude-synergy) [](#license) [](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
|
+
|
|
26
|
+
**A single FTS query surfaces a coordinated cross-SDK security fix that no individual changelog flagged as a CVE.** That's the killer demo: patterns emerge when every changelog is side-by-side.
|
|
27
|
+
|
|
28
|
+
Repo: [github.com/mcp-tool-shop-org/claude-synergy](https://github.com/mcp-tool-shop-org/claude-synergy)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## The problem
|
|
33
|
+
|
|
34
|
+
Claude Code CLI ships ~daily. Claude API ships almost as often. SDKs ship per-CLI-release. Claude Design, Cowork, Chat, and Mobile feed through the unified Help Center. The MCP ecosystem ships ~200-300 new servers per week. Plus there are 7 major AI dev tool surfaces (Cursor, Aider, Continue, Copilot, Cody, Windsurf) all shipping their own changelogs at their own cadences.
|
|
35
|
+
|
|
36
|
+
The LLM agent inside any one of these has a frozen training cutoff. The gap widens every day. Features ship that the agent doesn't know exist. Bugs get fixed that the agent still works around. Env vars and flags get added that the agent never suggests. Cross-product workflows that compose multiple surfaces remain undiscovered.
|
|
37
|
+
|
|
38
|
+
**This repo closes the gap.** The Synergy section makes it a product instead of a mirror.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## What's here
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
claude-synergy/
|
|
46
|
+
├── products/ # 44 product directories (1,186 release files)
|
|
47
|
+
│ ├── claude-code/ # Anthropic CLI — 117 releases
|
|
48
|
+
│ ├── claude-agent-sdk-{python,typescript}/ # Agent SDKs
|
|
49
|
+
│ ├── anthropic-sdk-{python,typescript,go,java,csharp,ruby,php}/ # 7 language SDKs
|
|
50
|
+
│ ├── claude-api/ # Platform release notes
|
|
51
|
+
│ ├── anthropic-apps/ # Design / Cowork / Chat / Mobile (Help Center feed)
|
|
52
|
+
│ ├── claude-code-action/ # GitHub Action
|
|
53
|
+
│ ├── anthropic-cli/ # `ant` CLI
|
|
54
|
+
│ ├── mcp-{python,typescript,go,java,csharp,kotlin,ruby,swift,rust,php}-sdk/
|
|
55
|
+
│ ├── mcp-{spec,inspector,registry,mcpb,conformance}/
|
|
56
|
+
│ ├── cursor/ # RSS feed
|
|
57
|
+
│ ├── aider/ # raw HISTORY.md
|
|
58
|
+
│ ├── continue-{dev,cli}/ # GH releases
|
|
59
|
+
│ ├── cody-enterprise/ # filtered Sourcegraph RSS
|
|
60
|
+
│ ├── github-copilot/ # HTML scrape (github.blog)
|
|
61
|
+
│ ├── vscode-copilot-chat/ # HTML scrape (code.visualstudio.com)
|
|
62
|
+
│ ├── windsurf/ # Playwright fetcher (CSR-only changelog)
|
|
63
|
+
│ ├── skills/ # Anthropic Skills catalog
|
|
64
|
+
│ └── plugins-{official,community,knowledge-work}/ # Plugin marketplaces
|
|
65
|
+
├── synergies/ # 12 curated cross-product workflows
|
|
66
|
+
├── src/ # TypeScript implementation
|
|
67
|
+
├── test/ # 382 tests (unit, integration, regression, smoke)
|
|
68
|
+
├── data/claude-synergy.db # SQLite database (created by `hk init`)
|
|
69
|
+
├── schema.sql # Tier 2a tables (products, releases, changes, entities, FTS5, …)
|
|
70
|
+
├── schema-vec.sql # Tier 2b tables (chunks, chunks_vec, chunks_fts)
|
|
71
|
+
├── SOURCES.md # 5-tier source landscape with fetch strategies
|
|
72
|
+
└── URGENT_FINDINGS.md # 23 actionable items surfaced from the corpus
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Live numbers (as of v1.0.0):** 44 products / 1,186 release files / 6,042 changes / 1,225 entities / 12 synergies / 382 tests.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Status — all tiers shipped
|
|
80
|
+
|
|
81
|
+
| Tier | Status | What's there |
|
|
82
|
+
|------|--------|--------------|
|
|
83
|
+
| **1 — bootstrap (markdown corpus)** | ✅ shipped | Study-swarm seeded 706 release files Jan→May 2026; extended to 1,186 by Tier 4d |
|
|
84
|
+
| **2a — SQLite + FTS5 + CLI** | ✅ shipped | `hk` CLI; 15 subcommands; sub-300ms ingest |
|
|
85
|
+
| **2b — sqlite-vec + Contextual Retrieval** | ✅ shipped | Provider-pluggable (none/structured/ollama/claude-haiku context × ollama/voyage embed × none/ollama-judge/voyage/cohere rerank) |
|
|
86
|
+
| **3 — sync + MCP server** | ✅ shipped | `hk fetch / sync / seed-markers`; `claude-synergy-mcp` exposes 8 tools over stdio |
|
|
87
|
+
| **4a — extend beyond Anthropic** | ✅ shipped | +15 MCP SDKs, Cursor (RSS), Aider (HISTORY.md), Continue.dev, Cody Enterprise (RSS filtered) |
|
|
88
|
+
| **4b — HTML-scrape fetcher** | ✅ shipped | GitHub Copilot + VS Code Chat (Windsurf needs Playwright — v0.7) |
|
|
89
|
+
| **4c — turndown HTML→markdown ingest** | ✅ shipped | HTML bodies (Copilot/VS Code/Cursor) now produce per-bullet rows for FTS5 + entity extraction |
|
|
90
|
+
| **4d — Playwright + MCP registry + YAML config** | ✅ shipped | Windsurf via Playwright; Smithery + official MCP Registry as Tier-4 catalogs; products consolidated into `products.yaml` |
|
|
91
|
+
|
|
92
|
+
Roadmap for v0.8+: tracked in [URGENT_FINDINGS.md](URGENT_FINDINGS.md) and issues.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Security & data model
|
|
97
|
+
|
|
98
|
+
This tool runs locally. **Data touched:** a derived SQLite database and markdown release files — all re-creatable. **Network:** outbound HTTPS only when you run `hk fetch`/`hk sync` (GitHub API, RSS feeds, changelog pages, MCP registries) or `hk embed` with a remote provider (Voyage, Cohere). **Secrets:** reads `GITHUB_TOKEN`, `VOYAGE_API_KEY`, `COHERE_API_KEY`, `ANTHROPIC_API_KEY` from env vars — never logged, never stored to disk. **No telemetry.** See [SECURITY.md](SECURITY.md) for reporting policy.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Install
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
git clone https://github.com/mcp-tool-shop-org/claude-synergy
|
|
106
|
+
cd claude-synergy
|
|
107
|
+
pnpm install
|
|
108
|
+
pnpm build # produces dist/cli.js + dist/mcp-server.js
|
|
109
|
+
npm link # makes `hk` and `claude-synergy-mcp` available globally
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
For dev without building, use `npx tsx src/cli.ts ...` directly. **pnpm 10 quirk:** `pnpm dev` swallows CLI flags after `--`; use `npx tsx` for development.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## CLI surface — 15 commands
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
# DB lifecycle
|
|
120
|
+
hk init # create DB with schema
|
|
121
|
+
hk ingest # parse products/*/releases/*.md → DB (idempotent)
|
|
122
|
+
hk embed # generate chunks + embeddings (sqlite-vec)
|
|
123
|
+
hk fetch [--product X] # incremental pull from sources
|
|
124
|
+
hk sync # combined fetch → ingest → embed (cron-friendly)
|
|
125
|
+
hk seed-markers # one-time setup after initial corpus
|
|
126
|
+
|
|
127
|
+
# Search
|
|
128
|
+
hk query "managed agents" # FTS5 keyword search
|
|
129
|
+
hk hybrid "credential exfiltration" # FTS5 + vec hybrid via RRF (+ optional --rerank)
|
|
130
|
+
|
|
131
|
+
# Entity lookups
|
|
132
|
+
hk env-var CLAUDE_CODE_WORKFLOWS # when introduced + history
|
|
133
|
+
hk command code-review # slash command + rename history
|
|
134
|
+
hk model claude-opus-4-7 # model launch + mentions across products
|
|
135
|
+
hk cve CVE-2025-66414 # CVE references in corpus
|
|
136
|
+
|
|
137
|
+
# Browsing
|
|
138
|
+
hk latest [--product X] [--limit N] # recent releases
|
|
139
|
+
hk products # list all 44 with counts
|
|
140
|
+
hk top env_var # most-mentioned by entity type
|
|
141
|
+
# (env_var, slash_command, cli_option,
|
|
142
|
+
# model_id, beta_header, cve, ghsa,
|
|
143
|
+
# hook_event, setting_key)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Example workflows
|
|
149
|
+
|
|
150
|
+
**Find when a Claude Code env var was introduced:**
|
|
151
|
+
```
|
|
152
|
+
$ hk env-var CLAUDE_CODE_WORKFLOWS
|
|
153
|
+
env var CLAUDE_CODE_WORKFLOWS — 1 mention:
|
|
154
|
+
|
|
155
|
+
2026-05-21 claude-code@2.1.147 [added]
|
|
156
|
+
Added the `Workflow` tool for deterministic multi-agent orchestration.
|
|
157
|
+
It is off by default — set `CLAUDE_CODE_WORKFLOWS=1` to enable
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Track a cross-SDK breaking change:**
|
|
161
|
+
```
|
|
162
|
+
$ hk query TodoWrite --limit 5
|
|
163
|
+
2026-05-15 claude-agent-sdk-python@0.2.82 [breaking] Headless and SDK sessions now use Task tools...
|
|
164
|
+
2026-05-14 claude-agent-sdk-typescript@0.3.142 [breaking] Headless and SDK sessions now use Task tools...
|
|
165
|
+
2026-05-08 claude-agent-sdk-typescript@0.2.136 [deprecated] Deprecated TodoWrite tool...
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Plan a model migration:**
|
|
169
|
+
```
|
|
170
|
+
$ hk model claude-opus-4-20250514
|
|
171
|
+
model id claude-opus-4-20250514 — 2 mentions:
|
|
172
|
+
|
|
173
|
+
2026-04-14 anthropic-sdk-python@0.94.0 [deprecated]
|
|
174
|
+
Deprecation of the Claude Sonnet 4 model and the Claude Opus 4 model,
|
|
175
|
+
with retirement on the Claude API scheduled for June 15, 2026...
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Semantic search across the whole corpus:**
|
|
179
|
+
```
|
|
180
|
+
$ hk hybrid "credential exfiltration" --limit 3
|
|
181
|
+
2026-03-25 claude-code@2.1.83 [added] vec#5 rrf=0.0154
|
|
182
|
+
Added `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1` to strip Anthropic and
|
|
183
|
+
cloud provider credentials from subprocess environments...
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The query never says "env_scrub" — vec surfaces it by semantic similarity. Pure FTS5 misses it entirely.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## MCP server — give your agents access to this corpus
|
|
191
|
+
|
|
192
|
+
`claude-synergy-mcp` exposes 8 tools over stdio. Wire into Claude Code (or any MCP host) via `~/.claude/.mcp.json` or your project's `.mcp.json`:
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"mcpServers": {
|
|
197
|
+
"claude-synergy": {
|
|
198
|
+
"command": "claude-synergy-mcp",
|
|
199
|
+
"env": {
|
|
200
|
+
"CLAUDE_SYNERGY_DB": "/path/to/claude-synergy/data/claude-synergy.db"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
For GitHub Copilot's `.vscode/mcp.json`, use the `servers` wrapper instead of `mcpServers` (see [synergy 12](synergies/12-mcp-config-format-gotcha.md)).
|
|
208
|
+
|
|
209
|
+
Tools exposed:
|
|
210
|
+
|
|
211
|
+
| Tool | Purpose |
|
|
212
|
+
|---|---|
|
|
213
|
+
| `search` | Hybrid FTS5 + vec; optional rerank. Default mode for natural-language queries. |
|
|
214
|
+
| `lookup_entity` | Exact entity history: env vars, slash commands, model IDs, CVEs, etc. |
|
|
215
|
+
| `latest_releases` | Recent releases across products (or one) |
|
|
216
|
+
| `get_release` | Full content of one release |
|
|
217
|
+
| `list_products` | Enumeration with counts + latest version |
|
|
218
|
+
| `top_entities` | Most-mentioned entities by type |
|
|
219
|
+
| `list_synergies` | Curated cross-product workflows |
|
|
220
|
+
| `read_synergy` | Full text of one synergy file |
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Sources — 5 tiers, 6 fetcher strategies
|
|
225
|
+
|
|
226
|
+
Full landscape in [SOURCES.md](SOURCES.md).
|
|
227
|
+
|
|
228
|
+
- **Tier 1 (GitHub Releases)** — `gh api repos/<owner>/<repo>/releases` for 22 products including Anthropic SDKs (7 languages), Agent SDKs (2), ant CLI, claude-code-action, claude-code-security-review, and 15 MCP ecosystem SDKs
|
|
229
|
+
- **Tier 2 (raw markdown)** — `anthropics/claude-code/CHANGELOG.md` + `Aider-AI/aider/HISTORY.md`
|
|
230
|
+
- **Tier 3 (HTML / RSS)** — `platform.claude.com/docs/release-notes`, `support.claude.com/articles/12138966`, `cursor.com/changelog/rss.xml`, `sourcegraph.com/changelog/featured.rss` (filtered), `github.blog/changelog/label/copilot/`, `code.visualstudio.com/updates/v1_NNN`
|
|
231
|
+
- **Tier 4 (catalog)** — `anthropics/skills`, `claude-plugins-{official,community}`, `knowledge-work-plugins`
|
|
232
|
+
- **Tier 5 (advisory)** — `@ClaudeCodeLog` X account; marckrenn changelog mirror
|
|
233
|
+
|
|
234
|
+
Fetch strategies: `gh-releases | rss | raw-changelog | html-scrape | catalog | playwright`. New product = one entry in `products.yaml`.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Synergies — what gets unlocked
|
|
239
|
+
|
|
240
|
+
12 curated cross-product workflows. Each describes a composition pattern, the trigger that makes it the right answer, and the changelog evidence that enables it. Examples:
|
|
241
|
+
|
|
242
|
+
- **08 — Universal SKILL.md format** (Code + Cursor + Codex): one skill author, three agents read it
|
|
243
|
+
- **09 — MCP across seven surfaces** (Code + Cursor + Continue + Copilot + Windsurf + Cody + API): one binary, every agent
|
|
244
|
+
- **10 — Anthropic BYOK across surfaces**: one API key powers Claude in 7 editors with unified billing
|
|
245
|
+
- **11 — Claude Code orchestrates Aider**: cost-shift heavy edits to a cheap model while Claude plans
|
|
246
|
+
- **12 — MCP config format gotcha**: Copilot uses `servers`; everyone else uses `mcpServers`
|
|
247
|
+
|
|
248
|
+
Full index in [synergies/INDEX.md](synergies/INDEX.md).
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Testing
|
|
253
|
+
|
|
254
|
+
Vitest suite covers unit / integration / regression / smoke tiers. **[test-spec-3.md](test-spec-3.md) is the current authority** as of v0.7.0; [test-spec.md](test-spec.md) (v1) and [test-spec-2.md](test-spec-2.md) (v2) remain in the repo as historical record of the design lineage.
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
pnpm test # unit + integration + regression (~16s, 382 tests)
|
|
258
|
+
pnpm test:watch # interactive
|
|
259
|
+
pnpm test:coverage # generate coverage/index.html (thresholds: 78/75/85/78)
|
|
260
|
+
pnpm test:smoke # opt-in full-corpus smoke (RUN_SMOKE=1)
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Layout:
|
|
264
|
+
|
|
265
|
+
| Dir | What it covers |
|
|
266
|
+
|-----|----------------|
|
|
267
|
+
| `test/unit/` | per-module — extract, ingest, query, db, embed, hybrid, fetch + every provider + fetch-rss/changelog/html + fetch-mcp-registry + fetch-playwright + products-config |
|
|
268
|
+
| `test/integration/` | end-to-end — pipeline, sync, MCP server (stdio JSON-RPC), CLI |
|
|
269
|
+
| `test/regression/` | §8.1–§8.18 — each protects against a real bug fixed during development |
|
|
270
|
+
| `test/smoke/` | opt-in full-corpus against real `products/` (1,143 files) |
|
|
271
|
+
| `test/fixtures/` | 3 fake products + mock HTTP responses (RSS / GH / Voyage / Cohere / Ollama / Anthropic / Smithery / Official MCP Registry) |
|
|
272
|
+
| `test/helpers/` | `temp-db.ts`, `fetch-mock.ts`, `mcp-client.ts`, `seed-corpus.ts`, `golden-vectors.ts`, `playwright-mock.ts`, `yaml-fixtures.ts` |
|
|
273
|
+
|
|
274
|
+
**No network in tests by default** — provider HTTP is mocked via `vi.spyOn(global, 'fetch')`. Real SQLite in temp files (not `:memory:`) because sqlite-vec extension load semantics differ across versions and on-disk is the canonical path. Playwright is loaded via dynamic import and mocked via `vi.doMock('playwright', ...)` so tests pass without a real browser install.
|
|
275
|
+
|
|
276
|
+
CI: `.github/workflows/test.yml` runs `pnpm test:coverage` on push and PR.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Troubleshooting
|
|
281
|
+
|
|
282
|
+
**"Database locked" or WAL errors**
|
|
283
|
+
|
|
284
|
+
Another `hk` process (or a stale MCP server) is holding the SQLite database open. Close other `hk` processes, then retry. If the issue persists, check for a `-wal` or `-shm` file alongside `data/claude-synergy.db` — these are normal WAL-mode files and will be cleaned up when the last connection closes. Do not delete them while another process has the DB open.
|
|
285
|
+
|
|
286
|
+
**"sqlite-vec extension not found" / sqlite-vec load failed**
|
|
287
|
+
|
|
288
|
+
The `sqlite-vec` native extension failed to load. Common causes:
|
|
289
|
+
|
|
290
|
+
1. **Node version too old** — `claude-synergy` requires Node 22+. Check with `node -v`.
|
|
291
|
+
2. **Native module needs rebuild** — run `npm rebuild better-sqlite3` (or `pnpm rebuild better-sqlite3`).
|
|
292
|
+
3. **Platform mismatch** — on Windows/ARM, `better-sqlite3` needs a C++ build toolchain. Install the [windows-build-tools](https://github.com/nicedoc/windows-build-tools) or Visual Studio Build Tools with "Desktop development with C++".
|
|
293
|
+
|
|
294
|
+
Note: `sqlite-vec` is optional. FTS5 keyword search (`hk query`) works without it. Only `hk embed` and `hk hybrid` require the vector extension.
|
|
295
|
+
|
|
296
|
+
**"Sync failed for product X" / fetch errors**
|
|
297
|
+
|
|
298
|
+
`hk fetch` and `hk sync` call external APIs. Common causes:
|
|
299
|
+
|
|
300
|
+
- **GitHub rate limit** — the `gh-releases` strategy shells out to `gh api`, which uses your `GITHUB_TOKEN`. Unauthenticated requests hit 60 req/hr; authenticate with `gh auth login` or set `GITHUB_TOKEN` in your environment.
|
|
301
|
+
- **Network / proxy** — RSS and HTML fetchers use `fetch()`. Check connectivity and any corporate proxy settings (`HTTPS_PROXY`).
|
|
302
|
+
- **Unknown product** — `hk fetch --product foo` only works for products listed in `products.yaml`. Run `hk products` to see all available names.
|
|
303
|
+
|
|
304
|
+
Sync is idempotent — safe to re-run after a partial failure. Already-fetched releases are skipped.
|
|
305
|
+
|
|
306
|
+
**"Embedding provider not responding"**
|
|
307
|
+
|
|
308
|
+
`hk embed` calls an external embedding service:
|
|
309
|
+
|
|
310
|
+
- **Ollama (default)** — ensure Ollama is running (`ollama serve`) and the embedding model is pulled (`ollama pull nomic-embed-text`).
|
|
311
|
+
- **Voyage** — set `VOYAGE_API_KEY` in your environment. Check your API key at [dash.voyageai.com](https://dash.voyageai.com).
|
|
312
|
+
|
|
313
|
+
**Schema version mismatch / corrupted database**
|
|
314
|
+
|
|
315
|
+
If the DB was created with an older schema version and migration fails, or if data looks wrong after a crash:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
rm data/claude-synergy.db data/claude-synergy.db-wal data/claude-synergy.db-shm
|
|
319
|
+
hk init
|
|
320
|
+
hk ingest
|
|
321
|
+
hk embed --context structured --embedding ollama # optional, for vector search
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
This is safe — the DB is a derived cache. All source data lives in `products/*/releases/*.md` files.
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Related files
|
|
329
|
+
|
|
330
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — how to add products, run tests, submit PRs
|
|
331
|
+
- [URGENT_FINDINGS.md](URGENT_FINDINGS.md) — 23 actionable items (security CVEs, model retirements, breaking changes, config gotchas)
|
|
332
|
+
- [SOURCES.md](SOURCES.md) — 5-tier source landscape with fetch strategies
|
|
333
|
+
- [synergies/INDEX.md](synergies/INDEX.md) — 12 curated cross-product workflows
|
|
334
|
+
- [schema.sql](schema.sql) + [schema-vec.sql](schema-vec.sql) — SQLite + sqlite-vec schemas
|
|
335
|
+
- [test-spec-3.md](test-spec-3.md) (current) + [test-spec-2.md](test-spec-2.md), [test-spec.md](test-spec.md) (historical) — test suite specs
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## License
|
|
340
|
+
|
|
341
|
+
MIT. Built by <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>.
|