claude-code-memory 1.1.3 → 1.2.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.md CHANGED
@@ -1,21 +1,49 @@
1
1
  # memory-mcp
2
2
 
3
- Persistent memory for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Never lose context between sessions again.
3
+ [![npm version](https://img.shields.io/npm/v/claude-code-memory.svg)](https://www.npmjs.com/package/claude-code-memory)
4
+ [![npm downloads](https://img.shields.io/npm/dm/claude-code-memory.svg)](https://www.npmjs.com/package/claude-code-memory)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
6
+ [![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](package.json)
7
+ [![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](tsconfig.json)
4
8
 
5
- ## The Problem
9
+ **Persistent memory + automatic git snapshots for Claude Code.** Never lose context. Never lose code.
6
10
 
7
- Every few days, you start a new Claude Code session and have to re-explain your project — the architecture, the decisions you made, the patterns you follow, the gotchas you discovered. All that context is gone.
11
+ ```
12
+ 🧠 45 memories | 📊 2.8K tokens | 📸 23 snapshots | ⏱️ 5m ago
13
+ ```
8
14
 
9
- ## The Solution
15
+ ## Why memory-mcp?
10
16
 
11
- `memory-mcp` silently captures what matters during your sessions and makes it available to every future session — automatically.
17
+ | Problem | Solution |
18
+ |---------|----------|
19
+ | Re-explaining your project every session | Auto-captures decisions, patterns, architecture |
20
+ | Context window fills up, knowledge lost | Two-tier memory: CLAUDE.md (instant) + deep search |
21
+ | Broke something, can't remember what worked | Git snapshots on every save, instant rollback |
22
+ | No idea what Claude "knows" about your project | Visual dashboard shows all context |
23
+ | Worried about cloud storage | 100% local files, your git repo |
12
24
 
13
- ```
14
- Session 1: Claude works → hooks silently extract memories → saved
15
- Session 2: Claude starts reads CLAUDE.md instantly knows everything
25
+ ## What makes it different
26
+
27
+ - **Git Snapshots** Every memory save commits your entire project. Roll back anytime.
28
+ - **Two-Tier Memory** — CLAUDE.md loads instantly, deep store searchable mid-conversation.
29
+ - **LLM-Powered** — Haiku extracts what matters, consolidates duplicates, prunes stale info.
30
+ - **Visual Dashboard** — See your context: tokens, memories by type, snapshot history.
31
+ - **Zero friction** — No commands to run. It just works silently.
32
+
33
+ ## Quick Start
34
+
35
+ ```bash
36
+ # Install globally
37
+ npm install -g claude-code-memory
38
+
39
+ # Interactive setup (API key + hooks)
40
+ memory-mcp setup
41
+
42
+ # Initialize a project
43
+ memory-mcp init ~/Projects/my-app
16
44
  ```
17
45
 
18
- No commands to run. No "remember this". It just works.
46
+ That's it. Start coding. Memories accumulate automatically.
19
47
 
20
48
  ## How It Works
21
49
 
@@ -89,21 +117,20 @@ Claude Code hooks fire after every response (`Stop`), before context compaction
89
117
  - LLM-powered consolidation (merges overlapping memories, prunes stale ones)
90
118
  - Line-budgeted CLAUDE.md (stays under ~150 lines, most important first)
91
119
 
92
- ## Quick Start
120
+ ## Updating
121
+
122
+ To update an existing installation:
93
123
 
94
124
  ```bash
95
- # Install globally
96
- npm install -g claude-code-memory
125
+ npm install -g claude-code-memory --force
126
+ ```
97
127
 
98
- # Interactive setup (API key + hooks)
99
- memory-mcp setup
128
+ To update hooks (e.g., after a bug fix):
100
129
 
101
- # Initialize a project
102
- memory-mcp init ~/Projects/my-app
130
+ ```bash
131
+ memory-mcp setup
103
132
  ```
104
133
 
105
- That's it. Start a Claude Code session and memories will begin accumulating automatically.
106
-
107
134
  ## Requirements
108
135
 
109
136
  - [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)
@@ -116,13 +143,87 @@ That's it. Start a Claude Code session and memories will begin accumulating auto
116
143
  memory-mcp setup Interactive first-time setup
117
144
  memory-mcp init [dir] Initialize memory for a project
118
145
  memory-mcp status [dir] Show memory status and health
146
+ memory-mcp statusline [dir] Compact one-line status (great for shell prompts)
147
+ memory-mcp context [dir] Show context metrics and token usage
148
+ memory-mcp context --html Generate visual HTML dashboard
119
149
  memory-mcp search <query> Search memories by keyword
120
150
  memory-mcp ask <question> Ask a question, get answer from memory
121
151
  memory-mcp consolidate [dir] Merge duplicates, prune stale memories
122
152
  memory-mcp key [api-key] Set or check Anthropic API key
153
+ memory-mcp snapshots [dir] List git snapshot history
154
+ memory-mcp snapshot-enable Enable automatic git snapshots
155
+ memory-mcp snapshot-disable Disable git snapshots
123
156
  memory-mcp help Show help
124
157
  ```
125
158
 
159
+ ## Context Dashboard
160
+
161
+ Visualize your memory usage with `memory-mcp context`:
162
+
163
+ ```
164
+ Context Dashboard
165
+
166
+ Project: my-app
167
+
168
+ Total Context
169
+ 2.8K estimated tokens
170
+
171
+ Tier 1 CLAUDE.md (auto-loaded)
172
+ █████████████████░░░░░░░░░░░░░ 1.0K
173
+ 45 lines, 44 in memory block
174
+
175
+ Tier 2 .memory/state.json (searchable)
176
+ ██████████████████████████████ 1.8K
177
+ 29 active, 5 archived, 24 superseded
178
+
179
+ Memories by Type
180
+ architecture ███░░░░░░░░░░░░░░░░░ 8 memories (291 tokens)
181
+ decision ██████░░░░░░░░░░░░░░ 18 memories (540 tokens)
182
+ gotcha ████░░░░░░░░░░░░░░░░ 10 memories (332 tokens)
183
+ progress ██████░░░░░░░░░░░░░░ 19 memories (538 tokens)
184
+
185
+ Git Snapshots
186
+ ● Enabled on __memory-snapshots
187
+ 42 commits → origin
188
+ ```
189
+
190
+ Use `memory-mcp context --html` to generate an interactive browser dashboard.
191
+
192
+ ## Git Snapshots
193
+
194
+ Automatic project versioning tied to your working sessions. Every memory extraction commits your entire project to a hidden branch.
195
+
196
+ ```bash
197
+ # Enable during init (you'll be prompted)
198
+ memory-mcp init ~/Projects/my-app
199
+
200
+ # Or enable later
201
+ memory-mcp snapshot-enable
202
+
203
+ # View snapshot history
204
+ memory-mcp snapshots
205
+
206
+ # Compare two snapshots
207
+ memory-mcp snapshot-diff abc123 def456
208
+
209
+ # Restore to a previous state
210
+ memory-mcp snapshot-restore abc123
211
+
212
+ # Disable (preserves existing snapshots)
213
+ memory-mcp snapshot-disable
214
+ ```
215
+
216
+ **How it works:**
217
+ - Commits go to `__memory-snapshots` branch (invisible in normal workflow)
218
+ - Optional push to remote (e.g., origin)
219
+ - Commit messages include what memories were extracted
220
+ - Full project state captured, not just memory files
221
+
222
+ **Use cases:**
223
+ - Roll back after breaking changes
224
+ - See what your project looked like during a specific session
225
+ - Track project evolution alongside context evolution
226
+
126
227
  ## MCP Tools (used by Claude mid-conversation)
127
228
 
128
229
  When configured as an MCP server, Claude can access these tools during a session:
package/dist/cli.js CHANGED
@@ -40,6 +40,7 @@ const readline = __importStar(require("readline"));
40
40
  const store_1 = require("./store");
41
41
  const llm_1 = require("./llm");
42
42
  const git_snapshot_1 = require("./git-snapshot");
43
+ const context_1 = require("./context");
43
44
  // --- Colors (no dependencies) ---
44
45
  const c = {
45
46
  reset: "\x1b[0m",
@@ -610,6 +611,120 @@ async function cmdSnapshotDisable(projectDir) {
610
611
  ok("Git snapshots disabled");
611
612
  console.log(` ${c.dim}Existing snapshots on branch '${config.branch}' are preserved.${c.reset}\n`);
612
613
  }
614
+ // --- Statusline Command ---
615
+ function cmdStatusline(projectDir) {
616
+ const absDir = path.resolve(projectDir || ".");
617
+ const memDir = path.join(absDir, ".memory");
618
+ const statePath = path.join(memDir, "state.json");
619
+ if (!fs.existsSync(statePath)) {
620
+ console.log("🧠 memory-mcp: not initialized");
621
+ return;
622
+ }
623
+ const store = new store_1.MemoryStore(absDir);
624
+ const counts = store.getAllMemoryCount();
625
+ const metrics = (0, context_1.getContextMetrics)(absDir);
626
+ const config = store.getSnapshotConfig();
627
+ // Build compact statusline
628
+ const parts = [];
629
+ // Memory count
630
+ parts.push(`🧠 ${counts.active} memories`);
631
+ // Token estimate
632
+ parts.push(`📊 ${(0, context_1.formatTokens)(metrics.summary.totalTokens)} tokens`);
633
+ // Snapshot count if enabled
634
+ if (config?.enabled && metrics.snapshots.totalCommits > 0) {
635
+ parts.push(`📸 ${metrics.snapshots.totalCommits} snapshots`);
636
+ }
637
+ // Last updated (relative time)
638
+ const state = store.getState();
639
+ if (state.lastUpdated) {
640
+ const lastDate = new Date(state.lastUpdated);
641
+ const now = new Date();
642
+ const diffMs = now.getTime() - lastDate.getTime();
643
+ const diffMins = Math.floor(diffMs / 60000);
644
+ const diffHours = Math.floor(diffMs / 3600000);
645
+ const diffDays = Math.floor(diffMs / 86400000);
646
+ let relative;
647
+ if (diffMins < 1)
648
+ relative = "just now";
649
+ else if (diffMins < 60)
650
+ relative = `${diffMins}m ago`;
651
+ else if (diffHours < 24)
652
+ relative = `${diffHours}h ago`;
653
+ else
654
+ relative = `${diffDays}d ago`;
655
+ parts.push(`⏱️ ${relative}`);
656
+ }
657
+ console.log(parts.join(" | "));
658
+ }
659
+ // --- Context Command ---
660
+ async function cmdContext(projectDir, options) {
661
+ const absDir = path.resolve(projectDir || ".");
662
+ const metrics = (0, context_1.getContextMetrics)(absDir);
663
+ if (options?.html) {
664
+ // Generate HTML dashboard
665
+ const html = (0, context_1.generateHtmlDashboard)(absDir, metrics);
666
+ const outputPath = path.join(absDir, ".memory", "dashboard.html");
667
+ if (!fs.existsSync(path.join(absDir, ".memory"))) {
668
+ fs.mkdirSync(path.join(absDir, ".memory"), { recursive: true });
669
+ }
670
+ fs.writeFileSync(outputPath, html);
671
+ ok(`Dashboard saved to ${outputPath}`);
672
+ if (options?.open) {
673
+ const { exec } = require("child_process");
674
+ exec(`open "${outputPath}"`);
675
+ }
676
+ return;
677
+ }
678
+ // CLI output
679
+ heading("Context Dashboard");
680
+ console.log(` ${c.bold}Project:${c.reset} ${path.basename(absDir)}\n`);
681
+ // Token summary
682
+ console.log(` ${c.bold}${c.cyan}Total Context${c.reset}`);
683
+ console.log(` ${c.bold}${(0, context_1.formatTokens)(metrics.summary.totalTokens)}${c.reset} estimated tokens\n`);
684
+ const maxTokens = Math.max(metrics.summary.tier1Tokens, metrics.summary.tier2Tokens, 1);
685
+ console.log(` ${c.blue}Tier 1${c.reset} CLAUDE.md (auto-loaded)`);
686
+ console.log(` ${(0, context_1.asciiBar)(metrics.summary.tier1Tokens, maxTokens, 30)} ${(0, context_1.formatTokens)(metrics.summary.tier1Tokens)}`);
687
+ console.log(` ${c.dim}${metrics.claudeMd.lines} lines, ${metrics.claudeMd.memoryBlockLines} in memory block${c.reset}\n`);
688
+ console.log(` ${c.green}Tier 2${c.reset} .memory/state.json (searchable)`);
689
+ console.log(` ${(0, context_1.asciiBar)(metrics.summary.tier2Tokens, maxTokens, 30)} ${(0, context_1.formatTokens)(metrics.summary.tier2Tokens)}`);
690
+ console.log(` ${c.dim}${metrics.memoryStore.activeMemories} active, ${metrics.memoryStore.archivedMemories} archived, ${metrics.memoryStore.supersededMemories} superseded${c.reset}\n`);
691
+ // Memory by type
692
+ if (Object.keys(metrics.memoryStore.byType).length > 0) {
693
+ console.log(` ${c.bold}Memories by Type${c.reset}`);
694
+ const typeOrder = ["architecture", "decision", "pattern", "gotcha", "progress", "context"];
695
+ const typeColors = {
696
+ architecture: c.blue,
697
+ decision: c.red,
698
+ pattern: c.green,
699
+ gotcha: c.yellow,
700
+ progress: c.magenta,
701
+ context: c.cyan,
702
+ };
703
+ for (const type of typeOrder) {
704
+ const data = metrics.memoryStore.byType[type];
705
+ if (data) {
706
+ const color = typeColors[type] || c.gray;
707
+ const bar = (0, context_1.asciiBar)(data.tokens, metrics.summary.tier2Tokens || 1, 20);
708
+ console.log(` ${color}${type.padEnd(12)}${c.reset} ${bar} ${data.count.toString().padStart(3)} memories (${(0, context_1.formatTokens)(data.tokens)})`);
709
+ }
710
+ }
711
+ console.log("");
712
+ }
713
+ // Snapshots
714
+ console.log(` ${c.bold}Git Snapshots${c.reset}`);
715
+ if (metrics.snapshots.enabled) {
716
+ console.log(` ${c.green}●${c.reset} Enabled on ${c.cyan}${metrics.snapshots.branch}${c.reset}`);
717
+ console.log(` ${c.bold}${metrics.snapshots.totalCommits}${c.reset} commits${metrics.snapshots.remote ? ` → ${metrics.snapshots.remote}` : " (local)"}`);
718
+ if (metrics.snapshots.latestCommit) {
719
+ console.log(` ${c.dim}Latest: ${metrics.snapshots.latestCommit} (${metrics.snapshots.latestDate})${c.reset}`);
720
+ }
721
+ }
722
+ else {
723
+ console.log(` ${c.yellow}○${c.reset} Disabled`);
724
+ console.log(` ${c.dim}Run 'memory-mcp snapshot-enable' to enable${c.reset}`);
725
+ }
726
+ console.log(`\n ${c.dim}Use 'memory-mcp context --html' to generate a visual dashboard${c.reset}\n`);
727
+ }
613
728
  // --- Help ---
614
729
  function printHelp() {
615
730
  console.log(`
@@ -626,6 +741,8 @@ ${c.bold}COMMANDS${c.reset}
626
741
  ${c.cyan}ask${c.reset} <question> [dir] Ask a question, get answer from memory
627
742
  ${c.cyan}consolidate${c.reset} [dir] Merge duplicates, prune stale memories
628
743
  ${c.cyan}key${c.reset} [api-key] Set or check Anthropic API key
744
+ ${c.cyan}context${c.reset} [dir] [--html] Show context metrics and token usage
745
+ ${c.cyan}statusline${c.reset} [dir] Show compact one-line status (for prompts)
629
746
  ${c.cyan}snapshots${c.reset} [dir] List git snapshot history
630
747
  ${c.cyan}snapshot-enable${c.reset} [dir] Enable git snapshots (after git init)
631
748
  ${c.cyan}snapshot-disable${c.reset} [dir] Disable git snapshots
@@ -684,6 +801,13 @@ async function main() {
684
801
  return cmdConsolidate(args[1]);
685
802
  case "key":
686
803
  return cmdKey(args[1]);
804
+ case "context":
805
+ const htmlFlag = args.includes("--html");
806
+ const openFlag = args.includes("--open");
807
+ const contextDir = args.find(a => !a.startsWith("--") && a !== "context");
808
+ return cmdContext(contextDir, { html: htmlFlag, open: openFlag });
809
+ case "statusline":
810
+ return cmdStatusline(args[1]);
687
811
  case "snapshots":
688
812
  return cmdSnapshots(args[1]);
689
813
  case "snapshot-enable":
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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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * context.ts - Context visualization and token counting
3
+ *
4
+ * Provides metrics about memory usage, token counts, and context distribution.
5
+ */
6
+ export interface ContextMetrics {
7
+ claudeMd: {
8
+ exists: boolean;
9
+ lines: number;
10
+ chars: number;
11
+ tokens: number;
12
+ memoryBlockLines: number;
13
+ memoryBlockTokens: number;
14
+ };
15
+ memoryStore: {
16
+ exists: boolean;
17
+ totalMemories: number;
18
+ activeMemories: number;
19
+ archivedMemories: number;
20
+ supersededMemories: number;
21
+ totalChars: number;
22
+ totalTokens: number;
23
+ byType: Record<string, {
24
+ count: number;
25
+ tokens: number;
26
+ }>;
27
+ };
28
+ snapshots: {
29
+ enabled: boolean;
30
+ branch: string;
31
+ remote: string | null;
32
+ totalCommits: number;
33
+ latestCommit: string | null;
34
+ latestDate: string | null;
35
+ };
36
+ summary: {
37
+ tier1Tokens: number;
38
+ tier2Tokens: number;
39
+ totalTokens: number;
40
+ tier1Percentage: number;
41
+ snapshotCount: number;
42
+ };
43
+ }
44
+ export declare function estimateTokens(text: string): number;
45
+ export declare function getContextMetrics(projectDir: string): ContextMetrics;
46
+ /**
47
+ * Generate ASCII bar chart
48
+ */
49
+ export declare function asciiBar(value: number, max: number, width?: number): string;
50
+ /**
51
+ * Format token count with K suffix
52
+ */
53
+ export declare function formatTokens(tokens: number): string;
54
+ /**
55
+ * Generate HTML dashboard
56
+ */
57
+ export declare function generateHtmlDashboard(projectDir: string, metrics: ContextMetrics): string;
58
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,WAAW,cAAc;IAE7B,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,WAAW,EAAE;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3D,CAAC;IAGF,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IAGF,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAqHpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAI/E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CA6RzF"}
@@ -0,0 +1,463 @@
1
+ "use strict";
2
+ /**
3
+ * context.ts - Context visualization and token counting
4
+ *
5
+ * Provides metrics about memory usage, token counts, and context distribution.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.estimateTokens = estimateTokens;
42
+ exports.getContextMetrics = getContextMetrics;
43
+ exports.asciiBar = asciiBar;
44
+ exports.formatTokens = formatTokens;
45
+ exports.generateHtmlDashboard = generateHtmlDashboard;
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ const store_1 = require("./store");
49
+ const git_snapshot_1 = require("./git-snapshot");
50
+ // Rough token estimation: ~4 chars per token for English text
51
+ const CHARS_PER_TOKEN = 4;
52
+ function estimateTokens(text) {
53
+ return Math.ceil(text.length / CHARS_PER_TOKEN);
54
+ }
55
+ function getContextMetrics(projectDir) {
56
+ const claudeMdPath = path.join(projectDir, "CLAUDE.md");
57
+ const memDir = path.join(projectDir, ".memory");
58
+ const statePath = path.join(memDir, "state.json");
59
+ // CLAUDE.md metrics
60
+ let claudeMd = {
61
+ exists: false,
62
+ lines: 0,
63
+ chars: 0,
64
+ tokens: 0,
65
+ memoryBlockLines: 0,
66
+ memoryBlockTokens: 0,
67
+ };
68
+ if (fs.existsSync(claudeMdPath)) {
69
+ const content = fs.readFileSync(claudeMdPath, "utf-8");
70
+ claudeMd.exists = true;
71
+ claudeMd.lines = content.split("\n").length;
72
+ claudeMd.chars = content.length;
73
+ claudeMd.tokens = estimateTokens(content);
74
+ // Extract memory block
75
+ const startMarker = "<!-- MEMORY:START -->";
76
+ const endMarker = "<!-- MEMORY:END -->";
77
+ const startIdx = content.indexOf(startMarker);
78
+ const endIdx = content.indexOf(endMarker);
79
+ if (startIdx !== -1 && endIdx !== -1) {
80
+ const memoryBlock = content.slice(startIdx, endIdx + endMarker.length);
81
+ claudeMd.memoryBlockLines = memoryBlock.split("\n").length;
82
+ claudeMd.memoryBlockTokens = estimateTokens(memoryBlock);
83
+ }
84
+ }
85
+ // Memory store metrics
86
+ let memoryStore = {
87
+ exists: false,
88
+ totalMemories: 0,
89
+ activeMemories: 0,
90
+ archivedMemories: 0,
91
+ supersededMemories: 0,
92
+ totalChars: 0,
93
+ totalTokens: 0,
94
+ byType: {},
95
+ };
96
+ if (fs.existsSync(statePath)) {
97
+ const store = new store_1.MemoryStore(projectDir);
98
+ const state = store.getState();
99
+ const counts = store.getAllMemoryCount();
100
+ memoryStore.exists = true;
101
+ memoryStore.totalMemories = counts.total;
102
+ memoryStore.activeMemories = counts.active;
103
+ memoryStore.archivedMemories = counts.archived;
104
+ memoryStore.supersededMemories = counts.superseded;
105
+ // Calculate tokens by type
106
+ for (const memory of state.memories) {
107
+ const tokens = estimateTokens(memory.content);
108
+ memoryStore.totalChars += memory.content.length;
109
+ memoryStore.totalTokens += tokens;
110
+ if (!memoryStore.byType[memory.type]) {
111
+ memoryStore.byType[memory.type] = { count: 0, tokens: 0 };
112
+ }
113
+ memoryStore.byType[memory.type].count++;
114
+ memoryStore.byType[memory.type].tokens += tokens;
115
+ }
116
+ }
117
+ // Snapshot metrics
118
+ let snapshots = {
119
+ enabled: false,
120
+ branch: "__memory-snapshots",
121
+ remote: null,
122
+ totalCommits: 0,
123
+ latestCommit: null,
124
+ latestDate: null,
125
+ };
126
+ if (fs.existsSync(statePath)) {
127
+ const store = new store_1.MemoryStore(projectDir);
128
+ const config = store.getSnapshotConfig();
129
+ if (config) {
130
+ snapshots.enabled = config.enabled;
131
+ snapshots.branch = config.branch;
132
+ snapshots.remote = config.remote || null;
133
+ if (config.enabled) {
134
+ const snapshotList = (0, git_snapshot_1.listSnapshots)(projectDir, config.branch, 100);
135
+ snapshots.totalCommits = snapshotList.length;
136
+ if (snapshotList.length > 0) {
137
+ snapshots.latestCommit = snapshotList[0].hash.slice(0, 7);
138
+ snapshots.latestDate = snapshotList[0].date.split(" ")[0];
139
+ }
140
+ }
141
+ }
142
+ }
143
+ // Summary
144
+ const tier1Tokens = claudeMd.tokens;
145
+ const tier2Tokens = memoryStore.totalTokens;
146
+ const totalTokens = tier1Tokens + tier2Tokens;
147
+ return {
148
+ claudeMd,
149
+ memoryStore,
150
+ snapshots,
151
+ summary: {
152
+ tier1Tokens,
153
+ tier2Tokens,
154
+ totalTokens,
155
+ tier1Percentage: totalTokens > 0 ? Math.round((tier1Tokens / totalTokens) * 100) : 0,
156
+ snapshotCount: snapshots.totalCommits,
157
+ },
158
+ };
159
+ }
160
+ /**
161
+ * Generate ASCII bar chart
162
+ */
163
+ function asciiBar(value, max, width = 20) {
164
+ const filled = Math.round((value / max) * width);
165
+ const empty = width - filled;
166
+ return "█".repeat(filled) + "░".repeat(empty);
167
+ }
168
+ /**
169
+ * Format token count with K suffix
170
+ */
171
+ function formatTokens(tokens) {
172
+ if (tokens >= 1000) {
173
+ return `${(tokens / 1000).toFixed(1)}K`;
174
+ }
175
+ return String(tokens);
176
+ }
177
+ /**
178
+ * Generate HTML dashboard
179
+ */
180
+ function generateHtmlDashboard(projectDir, metrics) {
181
+ const projectName = path.basename(projectDir);
182
+ const typeColors = {
183
+ architecture: "#4a9eff",
184
+ decision: "#ff6b6b",
185
+ pattern: "#6bcb77",
186
+ gotcha: "#ffd93d",
187
+ progress: "#9b59b6",
188
+ context: "#1abc9c",
189
+ };
190
+ const typeData = Object.entries(metrics.memoryStore.byType)
191
+ .map(([type, data]) => ({
192
+ type,
193
+ count: data.count,
194
+ tokens: data.tokens,
195
+ color: typeColors[type] || "#888",
196
+ }))
197
+ .sort((a, b) => b.tokens - a.tokens);
198
+ return `<!DOCTYPE html>
199
+ <html lang="en">
200
+ <head>
201
+ <meta charset="UTF-8">
202
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
203
+ <title>memory-mcp Context Dashboard - ${projectName}</title>
204
+ <style>
205
+ * { margin: 0; padding: 0; box-sizing: border-box; }
206
+ body {
207
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
208
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
209
+ color: #fff;
210
+ min-height: 100vh;
211
+ padding: 2rem;
212
+ }
213
+ .dashboard {
214
+ max-width: 1200px;
215
+ margin: 0 auto;
216
+ }
217
+ h1 {
218
+ font-size: 2rem;
219
+ margin-bottom: 0.5rem;
220
+ background: linear-gradient(90deg, #4a9eff, #6bcb77);
221
+ -webkit-background-clip: text;
222
+ -webkit-text-fill-color: transparent;
223
+ }
224
+ .subtitle {
225
+ color: #888;
226
+ margin-bottom: 2rem;
227
+ }
228
+ .grid {
229
+ display: grid;
230
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
231
+ gap: 1.5rem;
232
+ margin-bottom: 2rem;
233
+ }
234
+ .card {
235
+ background: rgba(255,255,255,0.05);
236
+ border-radius: 12px;
237
+ padding: 1.5rem;
238
+ border: 1px solid rgba(255,255,255,0.1);
239
+ }
240
+ .card h2 {
241
+ font-size: 0.875rem;
242
+ text-transform: uppercase;
243
+ letter-spacing: 0.1em;
244
+ color: #888;
245
+ margin-bottom: 1rem;
246
+ }
247
+ .big-number {
248
+ font-size: 3rem;
249
+ font-weight: bold;
250
+ line-height: 1;
251
+ }
252
+ .big-number.blue { color: #4a9eff; }
253
+ .big-number.green { color: #6bcb77; }
254
+ .big-number.yellow { color: #ffd93d; }
255
+ .big-number.purple { color: #9b59b6; }
256
+ .label {
257
+ color: #888;
258
+ font-size: 0.875rem;
259
+ margin-top: 0.5rem;
260
+ }
261
+ .progress-bar {
262
+ height: 8px;
263
+ background: rgba(255,255,255,0.1);
264
+ border-radius: 4px;
265
+ overflow: hidden;
266
+ margin: 1rem 0;
267
+ }
268
+ .progress-fill {
269
+ height: 100%;
270
+ border-radius: 4px;
271
+ transition: width 0.3s ease;
272
+ }
273
+ .tier-breakdown {
274
+ display: flex;
275
+ gap: 1rem;
276
+ margin-top: 1rem;
277
+ }
278
+ .tier {
279
+ flex: 1;
280
+ padding: 1rem;
281
+ background: rgba(255,255,255,0.05);
282
+ border-radius: 8px;
283
+ }
284
+ .tier-name {
285
+ font-size: 0.75rem;
286
+ text-transform: uppercase;
287
+ color: #888;
288
+ }
289
+ .tier-value {
290
+ font-size: 1.5rem;
291
+ font-weight: bold;
292
+ margin-top: 0.25rem;
293
+ }
294
+ .type-list {
295
+ margin-top: 1rem;
296
+ }
297
+ .type-item {
298
+ display: flex;
299
+ align-items: center;
300
+ gap: 0.75rem;
301
+ padding: 0.5rem 0;
302
+ border-bottom: 1px solid rgba(255,255,255,0.05);
303
+ }
304
+ .type-color {
305
+ width: 12px;
306
+ height: 12px;
307
+ border-radius: 3px;
308
+ }
309
+ .type-name {
310
+ flex: 1;
311
+ }
312
+ .type-count {
313
+ color: #888;
314
+ font-size: 0.875rem;
315
+ }
316
+ .type-tokens {
317
+ font-weight: bold;
318
+ min-width: 60px;
319
+ text-align: right;
320
+ }
321
+ .snapshot-info {
322
+ display: flex;
323
+ flex-direction: column;
324
+ gap: 0.5rem;
325
+ }
326
+ .snapshot-row {
327
+ display: flex;
328
+ justify-content: space-between;
329
+ padding: 0.5rem 0;
330
+ border-bottom: 1px solid rgba(255,255,255,0.05);
331
+ }
332
+ .snapshot-label { color: #888; }
333
+ .snapshot-value { font-weight: 500; }
334
+ .status-badge {
335
+ display: inline-block;
336
+ padding: 0.25rem 0.75rem;
337
+ border-radius: 12px;
338
+ font-size: 0.75rem;
339
+ font-weight: 500;
340
+ }
341
+ .status-badge.enabled {
342
+ background: rgba(107, 203, 119, 0.2);
343
+ color: #6bcb77;
344
+ }
345
+ .status-badge.disabled {
346
+ background: rgba(255, 107, 107, 0.2);
347
+ color: #ff6b6b;
348
+ }
349
+ .footer {
350
+ text-align: center;
351
+ color: #555;
352
+ font-size: 0.875rem;
353
+ margin-top: 2rem;
354
+ }
355
+ .footer a {
356
+ color: #4a9eff;
357
+ text-decoration: none;
358
+ }
359
+ </style>
360
+ </head>
361
+ <body>
362
+ <div class="dashboard">
363
+ <h1>🧠 memory-mcp</h1>
364
+ <p class="subtitle">${projectName} - Context Dashboard</p>
365
+
366
+ <div class="grid">
367
+ <!-- Total Tokens -->
368
+ <div class="card">
369
+ <h2>Total Context</h2>
370
+ <div class="big-number blue">${formatTokens(metrics.summary.totalTokens)}</div>
371
+ <div class="label">estimated tokens</div>
372
+ <div class="progress-bar">
373
+ <div class="progress-fill" style="width: ${metrics.summary.tier1Percentage}%; background: linear-gradient(90deg, #4a9eff, #6bcb77);"></div>
374
+ </div>
375
+ <div class="tier-breakdown">
376
+ <div class="tier">
377
+ <div class="tier-name">Tier 1 (CLAUDE.md)</div>
378
+ <div class="tier-value" style="color: #4a9eff;">${formatTokens(metrics.summary.tier1Tokens)}</div>
379
+ </div>
380
+ <div class="tier">
381
+ <div class="tier-name">Tier 2 (state.json)</div>
382
+ <div class="tier-value" style="color: #6bcb77;">${formatTokens(metrics.summary.tier2Tokens)}</div>
383
+ </div>
384
+ </div>
385
+ </div>
386
+
387
+ <!-- Memories -->
388
+ <div class="card">
389
+ <h2>Memories</h2>
390
+ <div class="big-number green">${metrics.memoryStore.activeMemories}</div>
391
+ <div class="label">active memories</div>
392
+ <div class="type-list">
393
+ ${typeData.map(t => `
394
+ <div class="type-item">
395
+ <div class="type-color" style="background: ${t.color};"></div>
396
+ <div class="type-name">${t.type}</div>
397
+ <div class="type-count">${t.count}</div>
398
+ <div class="type-tokens">${formatTokens(t.tokens)}</div>
399
+ </div>
400
+ `).join("")}
401
+ </div>
402
+ </div>
403
+
404
+ <!-- CLAUDE.md -->
405
+ <div class="card">
406
+ <h2>CLAUDE.md (Tier 1)</h2>
407
+ <div class="big-number purple">${metrics.claudeMd.lines}</div>
408
+ <div class="label">lines</div>
409
+ <div class="snapshot-info" style="margin-top: 1rem;">
410
+ <div class="snapshot-row">
411
+ <span class="snapshot-label">Memory block</span>
412
+ <span class="snapshot-value">${metrics.claudeMd.memoryBlockLines} lines</span>
413
+ </div>
414
+ <div class="snapshot-row">
415
+ <span class="snapshot-label">Tokens</span>
416
+ <span class="snapshot-value">${formatTokens(metrics.claudeMd.tokens)}</span>
417
+ </div>
418
+ <div class="snapshot-row">
419
+ <span class="snapshot-label">Characters</span>
420
+ <span class="snapshot-value">${metrics.claudeMd.chars.toLocaleString()}</span>
421
+ </div>
422
+ </div>
423
+ </div>
424
+
425
+ <!-- Snapshots -->
426
+ <div class="card">
427
+ <h2>Git Snapshots</h2>
428
+ <div class="big-number yellow">${metrics.snapshots.totalCommits}</div>
429
+ <div class="label">commits</div>
430
+ <div class="snapshot-info" style="margin-top: 1rem;">
431
+ <div class="snapshot-row">
432
+ <span class="snapshot-label">Status</span>
433
+ <span class="status-badge ${metrics.snapshots.enabled ? 'enabled' : 'disabled'}">
434
+ ${metrics.snapshots.enabled ? 'Enabled' : 'Disabled'}
435
+ </span>
436
+ </div>
437
+ <div class="snapshot-row">
438
+ <span class="snapshot-label">Branch</span>
439
+ <span class="snapshot-value">${metrics.snapshots.branch}</span>
440
+ </div>
441
+ <div class="snapshot-row">
442
+ <span class="snapshot-label">Remote</span>
443
+ <span class="snapshot-value">${metrics.snapshots.remote || 'local only'}</span>
444
+ </div>
445
+ ${metrics.snapshots.latestCommit ? `
446
+ <div class="snapshot-row">
447
+ <span class="snapshot-label">Latest</span>
448
+ <span class="snapshot-value">${metrics.snapshots.latestCommit} (${metrics.snapshots.latestDate})</span>
449
+ </div>
450
+ ` : ''}
451
+ </div>
452
+ </div>
453
+ </div>
454
+
455
+ <div class="footer">
456
+ Generated by <a href="https://github.com/yuvalsuede/memory-mcp">memory-mcp</a> |
457
+ <code>npm install -g claude-code-memory</code>
458
+ </div>
459
+ </div>
460
+ </body>
461
+ </html>`;
462
+ }
463
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-memory",
3
- "version": "1.1.3",
3
+ "version": "1.2.1",
4
4
  "mcpName": "io.github.yuvalsuede/memory-mcp",
5
5
  "description": "Persistent memory for Claude Code — never lose context between sessions",
6
6
  "main": "dist/index.js",