linksee-memory 0.11.1 → 0.11.2

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
@@ -425,6 +425,23 @@ All editors share the same `~/.linksee-memory/memory.db`. A decision made in Cla
425
425
 
426
426
  Default: `~/.linksee-memory/memory.db`. Override with `LINKSEE_MEMORY_DIR` env var.
427
427
 
428
+ ### Uninstall
429
+
430
+ ```bash
431
+ # 1. Remove the MCP server registration
432
+ claude mcp remove linksee
433
+
434
+ # 2. Remove the hooks from settings.json (edit the file, delete the linksee entries):
435
+ # ~/.claude/settings.json → the Stop hook running "npx -y linksee-memory sync"
436
+ # <project>/.claude/settings.json → the SessionStart/PreToolUse hooks running "npx -y linksee-memory guard"
437
+
438
+ # 3. Remove the installed skill and all local memory (optional)
439
+ rm -rf ~/.claude/skills/linksee-memory
440
+ rm -rf ~/.linksee-memory # deletes all stored memory — nothing is kept anywhere else
441
+ ```
442
+
443
+ Nothing ever leaves your machine, so step 3 fully erases everything Linksee stored.
444
+
428
445
  ## What's new in v0.9
429
446
 
430
447
  | Feature | Detail |
@@ -787,6 +804,11 @@ After install, in a new Claude session ask: *"Can you remember that I prefer Typ
787
804
 
788
805
  ## Changelog
789
806
 
807
+ ### v0.11.2 — More cold-start hardening (2026-06-16)
808
+
809
+ - **`stats` works on a fresh database** instead of crashing with `no such table` — it ensures the schema exists first (it may be the first command a new user runs).
810
+ - **`map --help`** prints usage instead of trying to import a map.
811
+
790
812
  ### v0.11.1 — Cold-start fixes (2026-06-16)
791
813
 
792
814
  - **Run any CLI through the package name:** `npx -y linksee-memory setup` (and `map`, `sync`, `guard`, `stats`, `import`, `install-skill`). A fresh user couldn't reach the standalone bins (`linksee-memory-setup`, …) via `npx` — npx resolves package names, not sibling bin names — so the one-command install 404'd. The main bin now dispatches subcommands; the standalone bins remain as aliases.
@@ -39,6 +39,20 @@ for (let i = 0; i < argv.length; i++) {
39
39
  const sub = positionals[0] ?? 'import';
40
40
  const arg1 = positionals[1]; // the node-id / file / topic for explain|blast|affects|where
41
41
  const mapPath = flagValue(argv, 'file', join(process.cwd(), 'map.yaml'));
42
+ if (argv.includes('--help') || argv.includes('-h') || sub === 'help') {
43
+ process.stdout.write(`linksee-memory map — navigate your product map (map.yaml) and catch drift\n\n` +
44
+ `Usage: npx -y linksee-memory map <command> [args]\n\n` +
45
+ ` where [<file>] where am I? (no arg = infer from recent edits) → node + what it affects\n` +
46
+ ` explain <node> why this status? — declared vs reality + file:line evidence + fix\n` +
47
+ ` affects <node> what to change together if you touch this node\n` +
48
+ ` status whole-project health % + what needs attention\n` +
49
+ ` next the prioritized next fix candidate(s)\n` +
50
+ ` reconcile re-check the map against the real code/files\n` +
51
+ ` inspect --json machine-readable dump (CI / tooling)\n` +
52
+ ` blueprint stage x node board (colors = live verdict)\n\n` +
53
+ `Flags: --file <map.yaml> --root <repo> --lang ja\n`);
54
+ process.exit(0);
55
+ }
42
56
  const db = openDb();
43
57
  runMigrations(db);
44
58
  // Graceful exit when there's no map yet (the cold-user state) — never a raw stack trace.
package/dist/bin/stats.js CHANGED
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  // linksee-memory-stats — summary of the local memory DB.
3
3
  // Usage:
4
- // npx linksee-memory-stats
5
- // npx linksee-memory-stats --json
6
- // npx linksee-memory-stats --per-entity 10
4
+ // npx -y linksee-memory stats
5
+ // npx -y linksee-memory stats --json
6
+ // npx -y linksee-memory stats --per-entity 10
7
7
  //
8
8
  // Safe to run anytime (read-only).
9
9
  import { statSync } from 'node:fs';
10
- import { openDb, getDbPath } from '../db/migrate.js';
10
+ import { openDb, runMigrations, getDbPath } from '../db/migrate.js';
11
11
  function parseArgs() {
12
12
  const argv = process.argv.slice(2);
13
13
  const a = { json: false, perEntity: 5, help: false };
@@ -68,6 +68,7 @@ function main() {
68
68
  }
69
69
  catch { /* no db yet */ }
70
70
  const db = openDb();
71
+ runMigrations(db); // ensure schema exists — `stats` may be the first command a fresh user runs
71
72
  const counts = {
72
73
  entities: db.prepare('SELECT COUNT(*) as c FROM entities').get().c,
73
74
  memories: db.prepare('SELECT COUNT(*) as c FROM memories').get().c,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linksee-memory",
3
- "version": "0.11.1",
3
+ "version": "0.11.2",
4
4
  "mcpName": "io.github.michielinksee/linksee-memory",
5
5
  "description": "Local-first agent memory MCP — cross-agent brain with drift detection, 6-layer structured memory + token-saving file diff cache",
6
6
  "type": "module",