@clauderecallhq/cli 0.12.1 → 0.12.5

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.md CHANGED
@@ -16,7 +16,7 @@ Claude Recall indexes every Claude Code session you've ever run, surfaces what m
16
16
  <br />
17
17
 
18
18
  [![npm](https://img.shields.io/npm/v/@clauderecallhq/cli?style=flat-square&color=f97316&label=npm)](https://www.npmjs.com/package/@clauderecallhq/cli)
19
- [![Node](https://img.shields.io/badge/node-%E2%89%A522-43853d?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)
19
+ [![Node](https://img.shields.io/badge/node-%E2%89%A520-43853d?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)
20
20
  [![TypeScript](https://img.shields.io/badge/typescript-strict-3178c6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
21
21
  [![Local-first](https://img.shields.io/badge/local--first-127.0.0.1%20only-0b0c0f?style=flat-square)](#privacy--security)
22
22
  [![License](https://img.shields.io/badge/license-proprietary-1a1a2e?style=flat-square)](#license)
@@ -101,23 +101,49 @@ Claude picks up where you left off instead of asking you to explain it again.
101
101
  <tr>
102
102
  <td width="50%" valign="top">
103
103
 
104
- ### Search Everything
105
- Full-text search across 100,000+ messages in milliseconds. BM25 ranking, highlighted snippets, inline `#tag` filters.
104
+ ### Context Re-injection &nbsp;<sub>← the moat</sub>
105
+ Pipe any past session straight into a new Claude Code conversation as condensed markdown. Claude picks up where you left off instead of asking you to re-explain it. **Nothing else in this category has it.**
106
+
107
+ ```bash
108
+ recall context <id> | claude
109
+ recall context <id> --prelude "continue this" | claude
110
+ recall context <id> --since 2h | claude
111
+ ```
112
+
113
+ </td>
114
+ <td width="50%" valign="top">
115
+
116
+ ### Threads &nbsp;<sub>NEW · v0.15a</sub>
117
+ Group related sessions into a DAG you can see, rename, and walk. Drag-to-reparent in the graph view. Right-click rename. Bulk-generate coherent titles across an entire thread with one click.
118
+
119
+ ```bash
120
+ recall thread list
121
+ recall thread create "auth-refactor"
122
+ recall thread add <thread> <session>
123
+ ```
124
+
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <td width="50%" valign="top">
129
+
130
+ ### Full-Text Search
131
+ FTS5 BM25 ranking across every message, every session, in milliseconds. Highlighted snippets, inline `#tag` filters, project + date scoping.
106
132
 
107
133
  ```bash
108
134
  recall search "zod schema"
109
- recall search "auth #auth-fix"
135
+ recall search "auth #auth-fix" -p Pest-Control
110
136
  ```
111
137
 
112
138
  </td>
113
139
  <td width="50%" valign="top">
114
140
 
115
- ### Context Re-injection
116
- The core feature. Pipe any past session into a new Claude Code conversation as condensed markdown. Runs locally, never touches the network.
141
+ ### On-Device Vector Search &nbsp;<sub>Pro</sub>
142
+ Local **768-dimension embeddings** via `bge-base-en-v1.5` ONNX. Three-lane RRF fusion (BM25 + summary + vectors) finds sessions by *meaning*, not keywords. Your code never leaves your laptop.
117
143
 
118
144
  ```bash
119
- recall context <id> | claude
120
- recall context <id> --prelude "continue this" | claude
145
+ recall semantic install
146
+ recall similar <session-id>
121
147
  ```
122
148
 
123
149
  </td>
@@ -130,8 +156,7 @@ Per-session and per-project token + dollar totals. Daily sparkline. Top-10 heavi
130
156
 
131
157
  ```bash
132
158
  recall stats <id>
133
- recall stats --project Tools
134
- recall stats --days 7
159
+ recall stats --project Tools --days 7
135
160
  ```
136
161
 
137
162
  </td>
@@ -150,19 +175,14 @@ recall blame <sha>
150
175
  <tr>
151
176
  <td width="50%" valign="top">
152
177
 
153
- ### Semantic Search
154
- Conceptual search powered by your local `claude` CLI. Find "the session where I debugged the worker memory leak" without remembering exact words.
155
-
156
- ```bash
157
- recall semantic on
158
- recall semantic backfill
159
- ```
178
+ ### Auto-Tagging
179
+ Let Claude label your sessions automatically. Two modes: **MCP mode** (zero-setup, runs through your existing Claude Code subscription at no extra cost) or **BYOK** (paste your own Anthropic API key). Off by default, fully opt-in.
160
180
 
161
181
  </td>
162
182
  <td width="50%" valign="top">
163
183
 
164
- ### MCP Server
165
- Expose Recall to Claude Desktop, Claude Code, or any MCP client as native tools. Read-only by default, opt-in write tools with rate limiting and audit logging.
184
+ ### MCP Server &nbsp;<sub>31 tools</sub>
185
+ Expose Recall to Claude Desktop, Claude Code, or any MCP client as native tools. **13 read tools always on**, **18 write tools** opt-in with rate limiting and append-only audit logging.
166
186
 
167
187
  ```bash
168
188
  recall mcp
@@ -174,14 +194,36 @@ recall mcp --allow-writes
174
194
  <tr>
175
195
  <td width="50%" valign="top">
176
196
 
177
- ### Collections & Tags
178
- Hand-curated hierarchical groupings of sessions that cut across projects. Human-readable aliases. Auto-tagging via your Anthropic API key or Claude CLI (zero extra cost).
197
+ ### Collections, Tags & Notes
198
+ Hand-curated hierarchical collections that cut across projects. Flat tags. Markdown notes per session. Aliases. Pins. Cross-session diff. Every write is reversible -- three-layer durability with plain-text mirrors on disk.
179
199
 
180
200
  </td>
181
201
  <td width="50%" valign="top">
182
202
 
183
203
  ### Web UI
184
- Beautiful dark-mode three-pane layout. Virtualized transcript rendering (10,000-message sessions open instantly). `Cmd+K` command palette. Multi-select. Export to markdown, HTML, or PDF.
204
+ Dark-mode three-pane layout. **Virtualized transcript** (10,000-message sessions open instantly). `Cmd+K` command palette. Cross-session diff. First-60-seconds onboarding tour. Export to markdown, HTML, or print-ready PDF.
205
+
206
+ </td>
207
+ </tr>
208
+ <tr>
209
+ <td width="50%" valign="top">
210
+
211
+ ### Rediscovery &nbsp;<sub>"For you"</sub>
212
+ Three rotating cards in the left pane surface forgotten sessions worth revisiting: a 60+-day-old session that overlaps with what you've been working on, your top-cost session this week, and the session that authored your current `HEAD`.
213
+
214
+ ```bash
215
+ recall digest
216
+ ```
217
+
218
+ </td>
219
+ <td width="50%" valign="top">
220
+
221
+ ### IDE Extension
222
+ **VS Code · Cursor · Windsurf · VS Code Insiders.** Tag terminal tabs from inside your editor -- terminal names sync to Recall so sessions get meaningful aliases with zero CLI ceremony, live as you rename tabs.
223
+
224
+ ```bash
225
+ recall install-extension
226
+ ```
185
227
 
186
228
  </td>
187
229
  </tr>
@@ -190,16 +232,17 @@ Beautiful dark-mode three-pane layout. Virtualized transcript rendering (10,000-
190
232
  <br />
191
233
 
192
234
  <details>
193
- <summary><strong>More: VS Code extension, cross-session diff, onboarding, keyboard shortcuts...</strong></summary>
235
+ <summary><strong>More: secrets redaction, memory health, audit log, keyboard shortcuts...</strong></summary>
194
236
 
195
237
  <br />
196
238
 
197
- - **VS Code / Cursor / Windsurf extension** -- auto-names sessions using terminal tab names via process-tree matching
198
- - **Cross-session diff** -- split view of two transcripts with shareable `cmp=` URL
199
- - **First-run onboarding** -- a 3-step tour that demos the moat in the first 60 seconds
200
- - **Multi-select sessions** -- `Cmd+Click` to toggle, `Shift+Click` for range, right-click to copy IDs
201
- - **Export** -- condensed markdown, full markdown, self-contained dark-mode HTML, print-ready PDF
202
- - **Cmd+K command palette** -- jump to any session, action, or setting in one keystroke
239
+ - **Secrets redaction** -- API keys, auth tokens, passwords, private-key blobs are detected by pattern and replaced with placeholders **before** text lands in the searchable index or any export. Original JSONLs untouched.
240
+ - **Memory health scores** -- every session gets a freshness score; surfaces stale data so you know when to re-run a backfill.
241
+ - **MCP audit log** -- every write tool call lands in `mcp_audit_events` with status (ok / error / rate_limited). Pure local, no telemetry.
242
+ - **First-60-seconds onboarding** -- 3-step modal demos the moat (`recall context <id> | claude`) the moment you open the web UI.
243
+ - **Cmd+K command palette** -- jump to any session, action, or setting in one keystroke.
244
+ - **Multi-select sessions** -- `Cmd+Click` toggle, `Shift+Click` range, right-click to copy IDs.
245
+ - **Three-layer durability** -- every write goes to SQLite + an append-only history column + a plain-text mirror on disk. Source JSONLs at `~/.claude/projects/` are strictly read-only.
203
246
 
204
247
  #### Keyboard Shortcuts
205
248
 
@@ -336,27 +379,34 @@ All writes are rate-limited (default 60/min), zod-validated, and audited to `~/.
336
379
  ## How It Works
337
380
 
338
381
  ```
339
- ~/.claude/projects/**/*.jsonl <-- Claude Code's session files (read-only)
382
+ ~/.claude/projects/**/*.jsonl <-- Claude Code's session files (read-only to Recall)
340
383
  |
341
384
  v chokidar file watcher
342
- ~/.recall/db.sqlite <-- indexed database (FTS5 full-text search)
385
+ ~/.recall/db.sqlite <-- indexed database (FTS5 + sqlite-vec 768d)
386
+ |
387
+ +-- background embedding worker (idle-aware, transactional)
388
+ +-- git correlator (read-only `git log` scoped to session cwd)
389
+ +-- semantic / auto-tag scanner (opt-in, off by default)
343
390
  |
344
391
  +-----+-----+
345
392
  | |
346
393
  CLI HTTP server (Hono, 127.0.0.1 only)
347
394
  | |
348
- recall ... Web UI (React + Tailwind SPA)
395
+ recall ... Web UI (React + Tailwind SPA, Vite-bundled)
396
+ MCP server (stdio, 31 tools, opt-in writes)
349
397
  ```
350
398
 
351
399
  ### Data stays local
352
400
 
353
401
  | Path | What |
354
402
  |---|---|
355
- | `~/.recall/db.sqlite` | Indexed database (projects, sessions, messages, FTS5, aliases, notes, tags, collections, semantic summaries, commit links, usage rollups, audit logs) |
403
+ | `~/.recall/db.sqlite` | Indexed database (projects, sessions, messages, FTS5, vectors, aliases, notes, tags, collections, threads, semantic summaries, commit links, usage rollups, audit logs) |
356
404
  | `~/.recall/aliases.json` | Plain-text mirror of every alias with full edit history |
357
405
  | `~/.recall/notes/<session>.md` | One markdown file per session note |
358
406
  | `~/.recall/tags.json` | Current tag state + append-only event log |
359
407
  | `~/.recall/collections.json` | Current tree state + append-only event log |
408
+ | `~/.recall/semantic/<id>.json` | Per-session summary + keywords (semantic mode) |
409
+ | `~/.recall/license.jwt` | Activated Pro license (offline-validatable, dead-man clause) |
360
410
 
361
411
  <br />
362
412
 
@@ -368,8 +418,16 @@ All writes are rate-limited (default 60/min), zod-validated, and audited to `~/.
368
418
 
369
419
  Claude Recall is **local-first by design**, not as an afterthought.
370
420
 
371
- - The daemon binds to **`127.0.0.1` only**. Never `0.0.0.0`, never a public interface.
372
- - **No telemetry.** No analytics. No outbound network calls. The only exception is a one-time license check when you activate a Pro key.
421
+ - **The daemon binds to `127.0.0.1` only.** Never `0.0.0.0`, never a public interface.
422
+ - **No telemetry. No analytics. No background phone-home.** The daemon, file watcher, indexer, and web UI never make outbound network calls. Your session content never leaves your machine.
423
+ - **The only outbound calls are user-initiated**, never automatic, and never transmit your session data:
424
+
425
+ | Command | Endpoint | What it sends | What it gets |
426
+ |---|---|---|---|
427
+ | `recall activate <key>` | `clauderecall.com` | The license key only | A signed JWT for offline validation |
428
+ | `recall semantic install` | `huggingface.co` | Nothing about you | The `bge-base-en-v1.5` ONNX model file |
429
+
430
+ Both are optional and not required for core indexing, search, or context re-injection. Skip them and Recall is fully air-gapped.
373
431
  - **No cloud. No account.** Your data lives at `~/.recall/` and nowhere else.
374
432
  - **Source sessions are never modified.** Claude Code's JSONL files at `~/.claude/projects/` are strictly read-only to Recall.
375
433
  - **Never-delete-data invariant.** Every write enforces three independent durability layers: SQLite with history columns, plain-text mirror on disk, and source JSONLs untouched. Renaming, clearing, or removing anything is always additive -- the prior value is archived, never destroyed.
@@ -433,14 +491,36 @@ recall stats --backfill # one-shot usage backfill
433
491
  recall correlate # link sessions to commits
434
492
  recall blame <sha> # commit -> session reverse lookup
435
493
 
436
- # Semantic search
437
- recall semantic on # enable conceptual search
438
- recall semantic status # backfill progress
439
- recall semantic backfill # run now
494
+ # Semantic / vector search (Pro)
495
+ recall semantic install # download on-device embedding model
496
+ recall semantic status # model + backfill progress
497
+ recall semantic reindex # re-embed everything
498
+ recall similar <id> # cosine kNN over session chunks
499
+
500
+ # Threads (v0.15a)
501
+ recall thread list # all threads, newest first
502
+ recall thread create <name> # new thread
503
+ recall thread add <t> <s> # attach session to thread
504
+
505
+ # Rediscovery
506
+ recall digest # today's "For you" picks
507
+ recall digest --json # machine-readable
440
508
 
441
509
  # MCP server
442
510
  recall mcp # stdio, read-only
443
511
  recall mcp --allow-writes # opt-in write tools
512
+
513
+ # Pro license
514
+ recall activate <key> # one-time activation, offline forever
515
+ recall license # show license status
516
+
517
+ # IDE extension
518
+ recall install-extension # auto-install for VS Code / Cursor / Windsurf
519
+
520
+ # Maintenance
521
+ recall health # memory health scores per project
522
+ recall paste # archive clipboard content into Recall (opt-in)
523
+ recall audit-secrets # scan index for residual secrets
444
524
  ```
445
525
 
446
526
  </details>
@@ -455,13 +535,16 @@ recall mcp --allow-writes # opt-in write tools
455
535
 
456
536
  | Layer | Technology |
457
537
  |---|---|
458
- | CLI + daemon | TypeScript 5 (strict), Node 22+, ESM |
538
+ | CLI + daemon | TypeScript (strict), Node 20+, ESM |
459
539
  | HTTP server | Hono + @hono/node-server |
460
540
  | Database | better-sqlite3 with FTS5 full-text search |
541
+ | Vector store | sqlite-vec (768d, on-device) |
542
+ | Embeddings | @huggingface/transformers (`bge-base-en-v1.5` ONNX) |
461
543
  | File watcher | chokidar |
462
544
  | CLI parsing | commander |
463
545
  | MCP server | @modelcontextprotocol/sdk (stdio) |
464
546
  | Validation | zod |
547
+ | Auth | jose (offline-validatable signed JWT licenses) |
465
548
  | Web UI | Vite 8 + React 19 + Tailwind CSS |
466
549
  | Data fetching | @tanstack/react-query |
467
550
  | Virtualization | @tanstack/react-virtual |
@@ -477,76 +560,109 @@ recall mcp --allow-writes # opt-in write tools
477
560
 
478
561
  Claude Recall ships on every surface a developer already works in.
479
562
 
480
- | Surface | Identity | Version | Install |
481
- |---|---|---|---|
482
- | **npm** (CLI + MCP) | [`@clauderecallhq/cli`](https://www.npmjs.com/package/@clauderecallhq/cli) | v0.12.0 | `npm i -g @clauderecallhq/cli` |
483
- | **VS Code Marketplace** | [`clauderecallhq.clauderecall-vscode`](https://marketplace.visualstudio.com/items?itemName=clauderecallhq.clauderecall-vscode) | v0.8.3 | Search "Claude Recall" in Extensions |
484
- | **MCP Registry** | [`io.github.clauderecallhq/recall`](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.clauderecallhq%2Frecall/versions/0.12.0) | v0.12.0 | Auto-discovered by MCP clients |
485
- | **Plugin Hub** | `claude-recall` | -- | `/plugin install claude-recall` in Claude Code |
486
- | **Website** | [clauderecall.com](https://clauderecall.com) | v0.4.0 | -- |
563
+ | Surface | Identity | Install |
564
+ |---|---|---|
565
+ | **npm** (CLI + MCP) | [`@clauderecallhq/cli`](https://www.npmjs.com/package/@clauderecallhq/cli) | `npm i -g @clauderecallhq/cli` |
566
+ | **VS Code Marketplace** | [`clauderecallhq.clauderecall-vscode`](https://marketplace.visualstudio.com/items?itemName=clauderecallhq.clauderecall-vscode) | Search "Claude Recall" in Extensions |
567
+ | **MCP Registry** | [`io.github.clauderecallhq/recall`](https://registry.modelcontextprotocol.io/) | Auto-discovered by MCP clients |
568
+ | **Claude Code Plugin Hub** | `claude-recall` | `/plugin install claude-recall` in Claude Code |
569
+ | **Website** | [clauderecall.com](https://clauderecall.com) | -- |
487
570
 
488
- ### How the pieces connect
571
+ The npm package ships **the CLI and the MCP server**. The VS Code extension is a thin companion that talks to the local daemon over `127.0.0.1`. The MCP Registry and Claude Code Plugin Hub both point back to the npm package -- one source of truth, one update pipeline.
489
572
 
490
- ```
491
- npm package (@clauderecallhq/cli)
492
- |
493
- +-- CLI binary: `recall`
494
- +-- MCP server: `recall mcp` (stdio transport)
495
- |
496
- +-- MCP Registry points here via npx
497
- +-- Plugin Hub points here via npx
498
- |
499
- VS Code extension (independent)
500
- +-- Talks to daemon over HTTP (127.0.0.1)
501
- +-- Does NOT run MCP tools
502
- |
503
- Website (clauderecall.com)
504
- +-- Auto-deploys on push via GitHub Actions
505
- +-- Marketing, docs, /metrics dashboard
506
- ```
573
+ <br />
574
+
575
+ ---
576
+
577
+ <br />
578
+
579
+ ## Pricing
580
+
581
+ One tier is free forever. One tier is a **one-time** purchase that works offline for life, even if we disappear. One tier is a conversation.
582
+
583
+ <table>
584
+ <tr>
585
+ <td width="33%" valign="top">
586
+
587
+ ### Free
507
588
 
508
- ### Tracking installs
589
+ **$0**
590
+ Forever. No signup. No credit card.
591
+
592
+ - Full indexing of every `~/.claude/projects/` JSON-L
593
+ - CLI: `list`, `show`, `projects`, `status`
594
+ - Web UI: browse projects, read transcripts, copy code
595
+ - Three-layer durability
509
596
 
510
597
  ```bash
511
- recall installs # npm downloads + VS Code installs in one view
512
- recall installs --json # machine-readable output
598
+ npm install -g @clauderecallhq/cli
513
599
  ```
514
600
 
515
- Live dashboard: [clauderecall.com/metrics](https://clauderecall.com/metrics)
601
+ </td>
602
+ <td width="33%" valign="top">
603
+
604
+ ### Pro &nbsp;<sub>← daily driver</sub>
605
+
606
+ **$29.69 one-time**
607
+ Pay once. Offline forever. Dead-man clause included.
608
+ *Less than two coffees a year out.*
609
+
610
+ - Full-text search (FTS5 BM25)
611
+ - On-device semantic vector search (768d, RRF fusion)
612
+ - `recall context` re-injection -- **the moat**
613
+ - MCP server (Claude Desktop / Claude Code native tools)
614
+ - VS Code / Cursor / Windsurf extension
615
+ - Aliases, tags, markdown notes, pins, date filters, cross-session diff
616
+ - Export: clean markdown, self-contained dark-mode HTML, print-ready
617
+ - Virtualized transcript (10k+ message sessions open instantly)
618
+ - Auto-tagging (API-key + MCP modes)
619
+ - Secrets redaction (client-side scrub of keys, tokens, passwords pre-index)
620
+ - **Every future personal-use feature.** One price, lifetime updates.
621
+
622
+ [**Buy Pro for $29.69 →**](https://clauderecall.com/pricing)
623
+
624
+ </td>
625
+ <td width="33%" valign="top">
516
626
 
517
- ### Publishing checklist (for maintainers)
627
+ ### Enterprise
518
628
 
519
- 1. **npm**: `npm publish --access public` (2FA required, bin entries show warning but work via `npx -p @clauderecallhq/cli recall`)
520
- 2. **VS Code**: Build .vsix in `extensions/vscode/`, upload at [marketplace.visualstudio.com/manage](https://marketplace.visualstudio.com/manage/publishers/clauderecallhq)
521
- 3. **MCP Registry**: `cd plugin && mcp-publisher publish` (requires GitHub OAuth, org membership must be Public)
522
- 4. **Plugin Hub**: Web form at `claude.ai/settings/plugins/submit`
523
- 5. **Website**: Push to `main` -- auto-deploys
629
+ **Contact us**
630
+ Priced per deal.
524
631
 
525
- ### Known issue: npx scoped bin resolution
632
+ - Shared session library with end-to-end encrypted team sync
633
+ - Team-wide tag conventions
634
+ - Local audit log (compliance-grade, not surveillance)
635
+ - SSO + per-project access control
636
+ - Priority support, named engineer
637
+ - Optional on-prem deployment
526
638
 
527
- `npx -y @clauderecallhq/cli mcp` fails because npx looks for a bin named `cli` (the unscoped package name). Workaround: `npx -p @clauderecallhq/cli recall mcp`. The MCP config in docs uses the workaround syntax.
639
+ [hello@clauderecall.com](mailto:hello@clauderecall.com)
640
+
641
+ </td>
642
+ </tr>
643
+ </table>
528
644
 
529
645
  <br />
530
646
 
531
- ---
647
+ ### How it compares to what you already pay
648
+
649
+ | Tool | Price |
650
+ |---|---|
651
+ | **Claude Recall** | **$29.69 one-time** |
652
+ | Claude Code | $20 / mo |
653
+ | Cursor | $20 / mo |
654
+ | Raycast Pro | $8–$16 / mo |
655
+ | GitHub Copilot | $10 / mo |
656
+
657
+ <sub>Prices as of April 2026.</sub>
532
658
 
533
659
  <br />
534
660
 
535
- ## Pricing
661
+ ### The dead-man clause
536
662
 
537
- | | Free | Pro |
538
- |---|---|---|
539
- | **Search** | Unlimited | Unlimited |
540
- | **Context re-injection** | Unlimited | Unlimited |
541
- | **Sessions indexed** | Unlimited | Unlimited |
542
- | **Cost analytics** | Unlimited | Unlimited |
543
- | **Git correlation** | Unlimited | Unlimited |
544
- | **MCP server** | Read-only | Read + Write |
545
- | **Semantic search** | -- | Included |
546
- | **Auto-tagging** | -- | Included |
547
- | **Price** | $0 | **$29.69 one-time** |
663
+ Your Pro license validates against our server exactly once, at activation. After that, Recall works **offline forever**. If `clauderecall.com` ever disappears, every existing license stays valid -- we'll publish the validation secret if we ever shut down, so you're never stranded.
548
664
 
549
- No subscriptions. No recurring fees. Pay once, own it forever.
665
+ Full pricing FAQ: **[clauderecall.com/pricing](https://clauderecall.com/pricing)**
550
666
 
551
667
  <br />
552
668
 
@@ -563,15 +679,21 @@ No subscriptions. No recurring fees. Pay once, own it forever.
563
679
  - [x] VS Code / Cursor / Windsurf extension
564
680
  - [x] MCP server (read-only)
565
681
  - [x] Collections (hierarchical, cross-project)
566
- - [x] Auto-tagging
682
+ - [x] Auto-tagging (MCP + BYOK modes)
567
683
  - [x] Cost / token analytics
568
684
  - [x] Git correlation
569
- - [x] Semantic search
570
685
  - [x] Cmd+K command palette
571
- - [x] Bidirectional MCP write tools
572
- - [x] First-run onboarding
686
+ - [x] Bidirectional MCP write tools (rate-limited + audited)
687
+ - [x] First-60-seconds onboarding
688
+ - [x] Rediscovery surface ("For you" cards)
689
+ - [x] **On-device vector search** (768d ONNX embeddings, RRF fusion)
690
+ - [x] **Threads** -- DAG view, drag-to-reparent, bulk title generation
691
+ - [x] **Pro license + dead-man clause** (offline-validatable JWT)
692
+ - [x] Memory health scores
693
+ - [x] Claude Code plugin manifest
573
694
  - [ ] Public launch at clauderecall.com
574
- - [ ] Team features
695
+ - [ ] Team features (E2E-encrypted sync, SSO, audit log)
696
+ - [ ] Enterprise tier (on-prem, named-engineer support)
575
697
 
576
698
  <br />
577
699
 
package/dist/cli.js CHANGED
@@ -23,7 +23,6 @@ import { runBlame } from './commands/blame.js';
23
23
  import { runDigest } from './commands/digest.js';
24
24
  import { runInstallExtension } from './commands/install-extension.js';
25
25
  import { runHealth } from './commands/health.js';
26
- import { runInstalls } from './commands/installs.js';
27
26
  import { runConfigVerification } from './commands/config-verification.js';
28
27
  import { runActivate } from './commands/activate.js';
29
28
  import { runLicenseStatus, runLicenseDeactivate } from './commands/license.js';
@@ -182,13 +181,6 @@ program
182
181
  .action(async (id, opts) => {
183
182
  await runStats(id, opts);
184
183
  });
185
- program
186
- .command('installs')
187
- .description('Show install and download metrics across npm and VS Code Marketplace.')
188
- .option('--json', 'emit JSON instead of formatted output')
189
- .action(async (opts) => {
190
- await runInstalls(opts);
191
- });
192
184
  program
193
185
  .command('correlate [id]')
194
186
  .description('Git correlation (v0.10b). Without args: correlate every session with a cwd. With a session id or prefix: correlate one. Read-only — only runs `git log` scoped to the session\'s cwd.')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clauderecallhq/cli",
3
- "version": "0.12.1",
3
+ "version": "0.12.5",
4
4
  "description": "Never lose a Claude Code session again. Local, fast, searchable memory over every session you've ever run.",
5
5
  "type": "module",
6
6
  "homepage": "https://clauderecall.com",
@@ -39,6 +39,7 @@
39
39
  "test:e2e:debug": "playwright test --debug",
40
40
  "version-bump": "node scripts/bump-versions.mjs",
41
41
  "version-bump:dry": "node scripts/bump-versions.mjs --dry-run",
42
+ "installs": "node scripts/installs.mjs",
42
43
  "prepare": "git config core.hooksPath .githooks"
43
44
  },
44
45
  "keywords": [
@@ -1,128 +0,0 @@
1
- import { c } from '../utils/format.js';
2
- const NPM_PACKAGE = '@clauderecallhq/cli';
3
- const VSCODE_EXTENSION = 'clauderecallhq.clauderecall-vscode';
4
- const SPARK_CHARS = '▁▂▃▄▅▆▇█';
5
- function sparkline(values) {
6
- if (values.length === 0)
7
- return '';
8
- const min = Math.min(...values);
9
- const max = Math.max(...values);
10
- const range = max - min || 1;
11
- return values
12
- .map((v) => SPARK_CHARS[Math.round(((v - min) / range) * (SPARK_CHARS.length - 1))])
13
- .join('');
14
- }
15
- async function fetchJson(url, init) {
16
- const res = await fetch(url, init);
17
- if (!res.ok) {
18
- throw new Error(`HTTP ${res.status} ${res.statusText}`);
19
- }
20
- return (await res.json());
21
- }
22
- async function fetchNpm() {
23
- const [weekly, monthly, range] = await Promise.all([
24
- fetchJson(`https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent(NPM_PACKAGE)}`),
25
- fetchJson(`https://api.npmjs.org/downloads/point/last-month/${encodeURIComponent(NPM_PACKAGE)}`),
26
- fetchJson(`https://api.npmjs.org/downloads/range/last-month/${encodeURIComponent(NPM_PACKAGE)}`),
27
- ]);
28
- return {
29
- lastWeek: weekly.downloads,
30
- lastMonth: monthly.downloads,
31
- dailyDownloads: range.downloads.map((d) => d.downloads),
32
- dailyDays: range.downloads.map((d) => d.day),
33
- };
34
- }
35
- async function fetchVsCode() {
36
- const body = {
37
- filters: [
38
- {
39
- criteria: [{ filterType: 7, value: VSCODE_EXTENSION }],
40
- },
41
- ],
42
- assetTypes: [],
43
- flags: 914,
44
- };
45
- const data = await fetchJson('https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery', {
46
- method: 'POST',
47
- headers: {
48
- 'Content-Type': 'application/json',
49
- Accept: 'application/json;api-version=6.0-preview.1',
50
- },
51
- body: JSON.stringify(body),
52
- });
53
- const stats = data.results?.[0]?.extensions?.[0]?.statistics ?? [];
54
- const stat = (name) => {
55
- const entry = stats.find((s) => s.statisticName === name);
56
- return entry ? entry.value : null;
57
- };
58
- return {
59
- totalInstalls: stat('install') ?? 0,
60
- totalDownloads: stat('updateCount') ?? stat('install') ?? 0,
61
- averageRating: stat('averagerating'),
62
- ratingCount: stat('ratingcount'),
63
- };
64
- }
65
- function printFormatted(result) {
66
- const { npm, vscode } = result;
67
- process.stdout.write('\n');
68
- process.stdout.write(c.bold('product installs') + '\n');
69
- // --- npm section ---
70
- process.stdout.write('\n');
71
- process.stdout.write(c.accent(`npm`) + c.dim(` · ${NPM_PACKAGE}`) + '\n');
72
- process.stdout.write(c.dim('─'.repeat(28)) + '\n');
73
- if (npm) {
74
- process.stdout.write(` last 7 days ${c.accent(String(npm.lastWeek))}\n`);
75
- process.stdout.write(` last 30 days ${c.accent(String(npm.lastMonth))}\n`);
76
- const tail = npm.dailyDownloads.slice(-8);
77
- if (tail.length > 0) {
78
- process.stdout.write(` daily trend ${sparkline(tail)} ${c.dim('(last 8 days)')}\n`);
79
- }
80
- }
81
- else {
82
- process.stdout.write(c.warn(` failed: ${result.npmError ?? 'unknown error'}`) + '\n');
83
- }
84
- // --- VS Code section ---
85
- process.stdout.write('\n');
86
- process.stdout.write(c.accent(`VS Code`) + c.dim(` · clauderecall-vscode`) + '\n');
87
- process.stdout.write(c.dim('─'.repeat(28)) + '\n');
88
- if (vscode) {
89
- process.stdout.write(` total installs ${c.accent(String(vscode.totalInstalls))}\n`);
90
- process.stdout.write(` total downloads ${c.accent(String(vscode.totalDownloads))}\n`);
91
- }
92
- else {
93
- process.stdout.write(c.warn(` failed: ${result.vscodeError ?? 'unknown error'}`) + '\n');
94
- }
95
- process.stdout.write('\n');
96
- process.stdout.write(c.dim(`fetched ${result.fetchedAt}`) + '\n');
97
- process.stdout.write('\n');
98
- }
99
- export async function runInstalls(opts) {
100
- const result = {
101
- fetchedAt: new Date().toISOString(),
102
- npm: null,
103
- vscode: null,
104
- };
105
- const [npmResult, vscodeResult] = await Promise.allSettled([fetchNpm(), fetchVsCode()]);
106
- if (npmResult.status === 'fulfilled') {
107
- result.npm = npmResult.value;
108
- }
109
- else {
110
- result.npmError =
111
- npmResult.reason instanceof Error ? npmResult.reason.message : String(npmResult.reason);
112
- }
113
- if (vscodeResult.status === 'fulfilled') {
114
- result.vscode = vscodeResult.value;
115
- }
116
- else {
117
- result.vscodeError =
118
- vscodeResult.reason instanceof Error
119
- ? vscodeResult.reason.message
120
- : String(vscodeResult.reason);
121
- }
122
- if (opts.json) {
123
- process.stdout.write(JSON.stringify(result, null, 2) + '\n');
124
- return;
125
- }
126
- printFormatted(result);
127
- }
128
- //# sourceMappingURL=installs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installs.js","sourceRoot":"","sources":["../../src/commands/installs.ts"],"names":[],"mappings":"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"}