claude-mem 3.3.7 → 3.3.9
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 +183 -46
- package/dist/bin/cli.d.ts +2 -0
- package/dist/bin/cli.js +179 -0
- package/dist/commands/compress.d.ts +2 -0
- package/dist/commands/compress.js +27 -0
- package/dist/commands/hooks.d.ts +19 -0
- package/dist/commands/hooks.js +131 -0
- package/dist/commands/install.d.ts +2 -0
- package/dist/commands/install.js +836 -0
- package/dist/commands/load-context.d.ts +2 -0
- package/dist/commands/load-context.js +151 -0
- package/dist/commands/logs.d.ts +2 -0
- package/dist/commands/logs.js +76 -0
- package/dist/commands/migrate-to-jsonl.d.ts +5 -0
- package/dist/commands/migrate-to-jsonl.js +99 -0
- package/dist/commands/restore.d.ts +1 -0
- package/dist/commands/restore.js +20 -0
- package/dist/commands/status.d.ts +1 -0
- package/dist/commands/status.js +136 -0
- package/dist/commands/trash-empty.d.ts +3 -0
- package/dist/commands/trash-empty.js +56 -0
- package/dist/commands/trash-view.d.ts +1 -0
- package/dist/commands/trash-view.js +101 -0
- package/dist/commands/trash.d.ts +6 -0
- package/dist/commands/trash.js +49 -0
- package/dist/commands/uninstall.d.ts +2 -0
- package/dist/commands/uninstall.js +107 -0
- package/dist/constants.d.ts +271 -0
- package/dist/constants.js +199 -0
- package/dist/core/compression/TranscriptCompressor.d.ts +79 -0
- package/dist/core/compression/TranscriptCompressor.js +585 -0
- package/dist/core/orchestration/PromptOrchestrator.d.ts +165 -0
- package/dist/core/orchestration/PromptOrchestrator.js +182 -0
- package/dist/lib/time-utils.d.ts +5 -0
- package/dist/lib/time-utils.js +70 -0
- package/dist/prompts/constants.d.ts +126 -0
- package/dist/prompts/constants.js +161 -0
- package/dist/prompts/index.d.ts +10 -0
- package/dist/prompts/index.js +11 -0
- package/dist/prompts/templates/analysis/AnalysisTemplates.d.ts +13 -0
- package/dist/prompts/templates/analysis/AnalysisTemplates.js +94 -0
- package/dist/prompts/templates/context/ContextTemplates.d.ts +119 -0
- package/dist/prompts/templates/context/ContextTemplates.js +399 -0
- package/dist/prompts/templates/hooks/HookTemplates.d.ts +175 -0
- package/dist/prompts/templates/hooks/HookTemplates.js +394 -0
- package/dist/prompts/templates/hooks/HookTemplates.test.d.ts +7 -0
- package/dist/prompts/templates/hooks/HookTemplates.test.js +127 -0
- package/dist/shared/config.d.ts +4 -0
- package/dist/shared/config.js +41 -0
- package/dist/shared/error-handler.d.ts +22 -0
- package/dist/shared/error-handler.js +142 -0
- package/dist/shared/logger.d.ts +19 -0
- package/dist/shared/logger.js +51 -0
- package/dist/shared/paths.d.ts +28 -0
- package/dist/shared/paths.js +100 -0
- package/dist/shared/settings.d.ts +41 -0
- package/dist/shared/settings.js +81 -0
- package/dist/shared/types.d.ts +145 -0
- package/dist/shared/types.js +78 -0
- package/docs/STATUS.md +155 -0
- package/docs/chroma-backend-migration.md +161 -0
- package/docs/landing-page-outline.md +287 -0
- package/docs/multi-platform-builds.md +96 -0
- package/docs/plans/cloud-service-plan.md +274 -0
- package/docs/plans/fix-response-format-issue.md +61 -0
- package/docs/plans/restructure-session-hook-output.md +102 -0
- package/docs/plans/session-start-hook-investigation.md +45 -0
- package/docs/plans/src-reorganization-plan.md +181 -0
- package/docs/plans/terminal-effects-decision.md +22 -0
- package/docs/plans/terminal-effects-integration.md +82 -0
- package/docs/plans/trash-bin-feature-plan.md +240 -0
- package/docs/plans/trash-bin-minimal-plan.md +102 -0
- package/docs/reference/bun-single-executable.md +584 -0
- package/docs/reference/cc-output-styles.md +99 -0
- package/docs/reference/chroma-mcp-project-memory-example.md +80 -0
- package/docs/reference/chroma-mcp-team-example.md +92 -0
- package/docs/reference/claude-code/cc-hooks.md +787 -0
- package/docs/reference/claude-code/cc-status-line.md +202 -0
- package/docs/reference/claude-code/hook-configuration.md +173 -0
- package/docs/reference/claude-code/hook-responses.md +127 -0
- package/docs/reference/claude-code/hooks.md +175 -0
- package/docs/reference/claude-code/mcp-configuration.md +133 -0
- package/docs/reference/claude-code/session-start-hook.md +82 -0
- package/docs/reference/load-context-format-example.md +33 -0
- package/docs/reference/mcp-sdk/mcp-typescript-sdk-readme.md +1323 -0
- package/docs/reference/mcp-sdk/server-implementation.md +286 -0
- package/docs/reference/mcp-sdk/stdio-transport.md +345 -0
- package/docs/todos/fix-response-format-tasks.md +43 -0
- package/docs/todos/implementation-todos.md +280 -0
- package/docs/todos/restructure-hook-output-tasks.md +103 -0
- package/docs/todos/session-start-hook-fix.md +26 -0
- package/docs/todos/terminal-effects-tasks.md +42 -0
- package/docs/todos/trash-bin-implementation-todos.md +348 -0
- package/docs/todos/trash-bin-minimal-todos.md +27 -0
- package/package.json +56 -6
- package/claude-mem +0 -0
package/docs/STATUS.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# App Status Audit Template
|
|
2
|
+
|
|
3
|
+
This is the template for what each system in claude-mem actually does and its current status.
|
|
4
|
+
|
|
5
|
+
## Core Systems Status
|
|
6
|
+
|
|
7
|
+
### [X] Hooks
|
|
8
|
+
|
|
9
|
+
**Pre-Compact Hook** (`hooks/pre-compact.js`)
|
|
10
|
+
[X] Triggers when `/compact` command is run in Claude Code
|
|
11
|
+
[X] Receives transcript path from Claude Code
|
|
12
|
+
[X] Spawns compression subprocess
|
|
13
|
+
[X] Waits for compression to complete
|
|
14
|
+
[X] Returns continue:true to allow compaction
|
|
15
|
+
[] Has excessive defensive validation (35 lines) violating Make It Work First manifesto
|
|
16
|
+
|
|
17
|
+
**Session Start Hook** (`hooks/session-start.js`)
|
|
18
|
+
[X] Triggers when new Claude Code session starts
|
|
19
|
+
[X] Loads context from embedded Weaviate
|
|
20
|
+
[X] Returns context in hookSpecificOutput
|
|
21
|
+
[X] Context may be empty if no memories stored
|
|
22
|
+
[X] Perfect manifesto compliance - clean direct execution
|
|
23
|
+
|
|
24
|
+
**Session End Hook** (`hooks/session-end.js`)
|
|
25
|
+
[X] Triggers when Claude Code session ends
|
|
26
|
+
[X] Currently placeholder - just returns continue:true
|
|
27
|
+
[X] Does not trigger compression (removed in cleanup)
|
|
28
|
+
[X] Perfect minimal placeholder implementation
|
|
29
|
+
|
|
30
|
+
### [X] CLI Commands
|
|
31
|
+
|
|
32
|
+
**Compress Command** (`src/commands/compress.ts`)
|
|
33
|
+
[X] Accepts transcript file path
|
|
34
|
+
[X] Creates TranscriptCompressor instance
|
|
35
|
+
[X] Runs compression via Claude SDK
|
|
36
|
+
[X] Stores in embedded Weaviate
|
|
37
|
+
[X] Creates archive in ~/.claude-mem/archives/
|
|
38
|
+
[X] Good manifesto compliance - direct execution
|
|
39
|
+
|
|
40
|
+
**Load Context Command** (`src/commands/load-context.ts`)
|
|
41
|
+
[X] Reads memory index file
|
|
42
|
+
[X] Filters by project if specified
|
|
43
|
+
[X] Returns formatted context
|
|
44
|
+
[X] Supports JSON and session-start formats
|
|
45
|
+
[X] Simple direct implementation
|
|
46
|
+
|
|
47
|
+
**Install Command** (`src/commands/install.ts`)
|
|
48
|
+
[X] Creates ~/.claude-mem directory structure
|
|
49
|
+
[X] Copies hooks to correct location
|
|
50
|
+
[X] Sets up MCP server configuration
|
|
51
|
+
[X] Installs embedded Weaviate dependencies
|
|
52
|
+
[X] Supports user/project/local scopes
|
|
53
|
+
[] Has code duplication issues (DRY violations)
|
|
54
|
+
|
|
55
|
+
**Status Command** (`src/commands/status.ts`)
|
|
56
|
+
[X] Shows installation status
|
|
57
|
+
[X] Displays hook configuration
|
|
58
|
+
[X] Shows compressed archives count
|
|
59
|
+
[X] Verifies runtime environment
|
|
60
|
+
[X] Comprehensive diagnostic tool
|
|
61
|
+
|
|
62
|
+
### [X] Storage Backend
|
|
63
|
+
|
|
64
|
+
**Embedded Weaviate** (`src/utils/weaviate-mcp-adapter.ts`)
|
|
65
|
+
[X] Auto-starts on port 6666
|
|
66
|
+
[X] No external dependencies
|
|
67
|
+
[X] Stores entities and relations
|
|
68
|
+
[X] Hybrid search (semantic + keyword)
|
|
69
|
+
[X] Persists data between sessions
|
|
70
|
+
[X] Exponential backoff retry logic
|
|
71
|
+
[X] Advanced query parsing
|
|
72
|
+
|
|
73
|
+
**MCP Server** (`src/mcp-server.ts`)
|
|
74
|
+
[X] Implements Model Context Protocol
|
|
75
|
+
[X] Exposes memory management tools (4 tools)
|
|
76
|
+
[X] Works with Claude Code MCP integration
|
|
77
|
+
[X] Stdio transport for Claude Code
|
|
78
|
+
[X] Proper error handling
|
|
79
|
+
|
|
80
|
+
### [X] Compression Pipeline
|
|
81
|
+
|
|
82
|
+
**TranscriptCompressor** (`src/utils/TranscriptCompressor.ts`)
|
|
83
|
+
[X] Reads JSONL transcripts
|
|
84
|
+
[X] Uses Claude SDK to analyze
|
|
85
|
+
[X] Extracts entities and relations
|
|
86
|
+
[X] Stores in Weaviate
|
|
87
|
+
[X] Creates archives
|
|
88
|
+
[X] Sophisticated prompt engineering
|
|
89
|
+
[X] Tool chain extraction
|
|
90
|
+
|
|
91
|
+
## Known Issues
|
|
92
|
+
|
|
93
|
+
1. ~~**Pre-compact hook validation fortress**: 35 lines of defensive code violating manifesto~~ ✅ FIXED
|
|
94
|
+
2. **Error visibility**: Errors often silent due to "no blockers" philosophy
|
|
95
|
+
3. **Testing infrastructure**: All tests removed in commit 31c67e5 - NO ACTIVE TESTS
|
|
96
|
+
4. **Code duplication**: Significant DRY violations in install.ts and TranscriptCompressor
|
|
97
|
+
5. **Architectural confusion**: Multiple interfaces/clients for same functionality
|
|
98
|
+
6. **Client interface duplication**: Three different ways to access WeaviateMCPAdapter
|
|
99
|
+
7. ~~**Logic flow issues**: Defensive JSON parsing and nested conditionals~~ ✅ FIXED
|
|
100
|
+
8. ~~**Migrate command**: Unused mock implementation~~ ✅ DELETED
|
|
101
|
+
|
|
102
|
+
## Testing
|
|
103
|
+
|
|
104
|
+
**NO ACTIVE TESTS - All test infrastructure removed in commit 31c67e5**
|
|
105
|
+
|
|
106
|
+
Previously had comprehensive testing (now deleted):
|
|
107
|
+
- Hook simulation tests
|
|
108
|
+
- Unit tests with 100% coverage
|
|
109
|
+
- Security vulnerability testing
|
|
110
|
+
- Performance testing
|
|
111
|
+
- Integration testing
|
|
112
|
+
|
|
113
|
+
Remaining test dependencies in package.json should be removed.
|
|
114
|
+
|
|
115
|
+
## Environment Requirements
|
|
116
|
+
|
|
117
|
+
- Node.js 18+
|
|
118
|
+
- Bun (for development)
|
|
119
|
+
- Claude Code SDK (for compression)
|
|
120
|
+
- JWT_SECRET environment variable (for MCP)
|
|
121
|
+
|
|
122
|
+
## The Truth About /compact
|
|
123
|
+
|
|
124
|
+
When you run `/compact` in Claude Code:
|
|
125
|
+
1. Claude Code triggers pre-compact hook
|
|
126
|
+
2. Hook receives transcript_path in JSON via stdin
|
|
127
|
+
3. Hook performs excessive 35-line path validation (violates manifesto)
|
|
128
|
+
4. Hook spawns `claude-mem compress [transcript]`
|
|
129
|
+
5. Compression runs using TranscriptCompressor with Claude SDK
|
|
130
|
+
6. Hook returns `{continue: true, suppressOutput: true}`
|
|
131
|
+
7. Claude Code proceeds with compaction
|
|
132
|
+
|
|
133
|
+
**Current Status**: Functional but over-engineered with defensive validation.
|
|
134
|
+
|
|
135
|
+
## Audit Summary
|
|
136
|
+
|
|
137
|
+
### Working Systems:
|
|
138
|
+
- ✅ All three hooks functional (pre-compact needs refactoring)
|
|
139
|
+
- ✅ All CLI commands operational
|
|
140
|
+
- ✅ Embedded Weaviate fully implemented
|
|
141
|
+
- ✅ MCP server properly integrated
|
|
142
|
+
- ✅ Compression pipeline sophisticated and working
|
|
143
|
+
|
|
144
|
+
### Major Issues Found:
|
|
145
|
+
- ❌ Pre-compact hook has fortress validation pattern
|
|
146
|
+
- ❌ Zero test coverage (all tests deleted)
|
|
147
|
+
- ❌ Significant code duplication (DRY violations)
|
|
148
|
+
- ❌ Architectural confusion with multiple client interfaces
|
|
149
|
+
- ❌ Logic flow issues with defensive coding throughout
|
|
150
|
+
|
|
151
|
+
### Manifesto Compliance:
|
|
152
|
+
- Session hooks: ⭐ Perfect examples
|
|
153
|
+
- Pre-compact hook: ❌ Major violation
|
|
154
|
+
- CLI commands: ✅ Generally good
|
|
155
|
+
- Overall: Mixed - documentation preaches simplicity but code is defensive
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Chroma Backend Migration Plan
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
Replace the entire Weaviate-based claude-mem backend with Chroma MCP, installed as "claude-mem" for namespacing. Use Chroma MCP directly without any adapter code.
|
|
5
|
+
|
|
6
|
+
## Current Architecture
|
|
7
|
+
```
|
|
8
|
+
Claude → claude-mem MCP Server → Weaviate Adapter → Embedded Weaviate
|
|
9
|
+
```
|
|
10
|
+
- Complex: 1,782 lines in weaviate-mcp-adapter.ts
|
|
11
|
+
- Local embedding generation via @xenova/transformers
|
|
12
|
+
- Embedded Weaviate binary management
|
|
13
|
+
- Custom MCP server implementation
|
|
14
|
+
|
|
15
|
+
## New Architecture
|
|
16
|
+
```
|
|
17
|
+
Claude → Chroma MCP (installed as "claude-mem")
|
|
18
|
+
```
|
|
19
|
+
- Simple: Direct usage of Chroma MCP tools
|
|
20
|
+
- Chroma handles all embeddings internally
|
|
21
|
+
- No custom code needed
|
|
22
|
+
- Namespaced as `mcp__claude-mem__*` tools
|
|
23
|
+
|
|
24
|
+
## Migration Steps
|
|
25
|
+
|
|
26
|
+
### 1. Install Chroma MCP as "claude-mem"
|
|
27
|
+
Add Chroma MCP with our namespace to the user's MCP configuration:
|
|
28
|
+
```bash
|
|
29
|
+
claude mcp add claude-mem -- uvx chroma-mcp --client-type persistent --data-dir ~/.claude-mem/chroma
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Update CLAUDE.md Instructions
|
|
33
|
+
Update the memory instructions to use our namespaced tools:
|
|
34
|
+
- `mcp__claude-mem__chroma_add_documents` for storing memories
|
|
35
|
+
- `mcp__claude-mem__chroma_query_documents` for searching memories
|
|
36
|
+
- `mcp__claude-mem__chroma_get_documents` for retrieving specific memories
|
|
37
|
+
- `mcp__claude-mem__chroma_list_collections` for viewing collections
|
|
38
|
+
|
|
39
|
+
### 3. Update Analysis Prompt Templates
|
|
40
|
+
Modify `/src/prompts/templates/analysis/analysisTemplates.ts` to:
|
|
41
|
+
- Change output format from entity/relation structure to document format
|
|
42
|
+
- Format memories as natural language descriptions with metadata
|
|
43
|
+
- Align with Chroma's document model expectations
|
|
44
|
+
- Example change:
|
|
45
|
+
```typescript
|
|
46
|
+
// Old format (entities/relations)
|
|
47
|
+
{
|
|
48
|
+
entities: [...],
|
|
49
|
+
relations: [...]
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// New format (documents for Chroma)
|
|
53
|
+
{
|
|
54
|
+
memories: [
|
|
55
|
+
{
|
|
56
|
+
document: "Natural language description",
|
|
57
|
+
metadata: { type, tags, context }
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 4. Remove All Backend Code
|
|
64
|
+
Since we're using Chroma MCP directly:
|
|
65
|
+
- Remove `/src/storage/adapters/weaviate-mcp-adapter.ts`
|
|
66
|
+
- Remove `/src/embeddings/` directory
|
|
67
|
+
- Remove `/src/bin/mcp-server.ts` and `/src/bin/mcp-server-cli.ts`
|
|
68
|
+
- Update install command to just add Chroma MCP
|
|
69
|
+
|
|
70
|
+
### 5. Update Memory Prompt Format
|
|
71
|
+
|
|
72
|
+
#### Storing Memories (in CLAUDE.md)
|
|
73
|
+
```markdown
|
|
74
|
+
When you learn something worth remembering, store it:
|
|
75
|
+
mcp__claude-mem__chroma_add_documents({
|
|
76
|
+
collection_name: "claude_memories",
|
|
77
|
+
documents: ["Natural language description of what you learned"],
|
|
78
|
+
ids: ["memory_" + timestamp],
|
|
79
|
+
metadatas: [{
|
|
80
|
+
type: "component/pattern/decision/fix/etc",
|
|
81
|
+
context: "what you were working on",
|
|
82
|
+
tags: "relevant,keywords"
|
|
83
|
+
}]
|
|
84
|
+
})
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### Searching Memories (in CLAUDE.md)
|
|
88
|
+
```markdown
|
|
89
|
+
To recall relevant information:
|
|
90
|
+
mcp__claude-mem__chroma_query_documents({
|
|
91
|
+
collection_name: "claude_memories",
|
|
92
|
+
query_texts: ["what you're looking for"],
|
|
93
|
+
n_results: 10,
|
|
94
|
+
where: { type: "component" } // optional filtering
|
|
95
|
+
})
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 6. Simplify Installation
|
|
99
|
+
Update `/src/commands/install.ts` to:
|
|
100
|
+
- Output only: `claude mcp add claude-mem -- uvx chroma-mcp --client-type persistent --data-dir ~/.claude-mem/chroma`
|
|
101
|
+
- Remove all Weaviate binary download logic
|
|
102
|
+
- Remove embedding model downloads
|
|
103
|
+
- Remove database initialization
|
|
104
|
+
|
|
105
|
+
### 7. Files to Remove (After Testing)
|
|
106
|
+
**Backend Code:**
|
|
107
|
+
- `/src/storage/adapters/weaviate-mcp-adapter.ts` (1,782 lines)
|
|
108
|
+
- `/src/embeddings/` (entire directory)
|
|
109
|
+
- `/src/bin/mcp-server.ts`
|
|
110
|
+
- `/src/bin/mcp-server-cli.ts`
|
|
111
|
+
|
|
112
|
+
**Documentation:**
|
|
113
|
+
- `/docs/reference/weaviate-concepts.md`
|
|
114
|
+
- `/docs/reference/embedded-weaviate.md`
|
|
115
|
+
|
|
116
|
+
**Dependencies in package.json:**
|
|
117
|
+
- `weaviate-ts-embedded`
|
|
118
|
+
- `@xenova/transformers`
|
|
119
|
+
- All embedding-related packages
|
|
120
|
+
|
|
121
|
+
### 8. Files to Keep/Update
|
|
122
|
+
- `/src/commands/install.ts` - Simplified to output install command
|
|
123
|
+
- `CLAUDE.md` - Updated with Chroma MCP instructions
|
|
124
|
+
- `README.md` - Simplified installation docs
|
|
125
|
+
|
|
126
|
+
## Testing Checklist
|
|
127
|
+
1. Run: `claude mcp add claude-mem -- uvx chroma-mcp --client-type persistent --data-dir ~/.claude-mem/chroma`
|
|
128
|
+
2. Test storing a memory:
|
|
129
|
+
```javascript
|
|
130
|
+
mcp__claude-mem__chroma_add_documents({
|
|
131
|
+
collection_name: "claude_memories",
|
|
132
|
+
documents: ["Test memory: The auth system uses OAuth2"],
|
|
133
|
+
ids: ["test_1"],
|
|
134
|
+
metadatas: [{ type: "test", tags: "auth,oauth" }]
|
|
135
|
+
})
|
|
136
|
+
```
|
|
137
|
+
3. Test searching:
|
|
138
|
+
```javascript
|
|
139
|
+
mcp__claude-mem__chroma_query_documents({
|
|
140
|
+
collection_name: "claude_memories",
|
|
141
|
+
query_texts: ["authentication"],
|
|
142
|
+
n_results: 5
|
|
143
|
+
})
|
|
144
|
+
```
|
|
145
|
+
4. Verify persistence across Claude sessions
|
|
146
|
+
5. Confirm namespacing works (tools show as `mcp__claude-mem__*`)
|
|
147
|
+
|
|
148
|
+
## Implementation Notes
|
|
149
|
+
- The project name "claude-mem" remains the same
|
|
150
|
+
- We're essentially replacing our custom MCP server with Chroma MCP
|
|
151
|
+
- All memory operations happen through Chroma's document model
|
|
152
|
+
- Collection name: `claude_memories` (single collection for all memories)
|
|
153
|
+
- Metadata fields: type, context, tags, timestamp, etc.
|
|
154
|
+
|
|
155
|
+
## End Result
|
|
156
|
+
- **Installation**: One command
|
|
157
|
+
- **Code to maintain**: Minimal (just install helper)
|
|
158
|
+
- **Memory storage**: Natural language documents with metadata
|
|
159
|
+
- **Tool namespace**: `mcp__claude-mem__*`
|
|
160
|
+
- **Data location**: `~/.claude-mem/chroma`
|
|
161
|
+
- **Complexity**: Reduced by ~2000 lines of code
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# Claude-Mem.ai Landing Page Outline
|
|
2
|
+
|
|
3
|
+
## Hero Section
|
|
4
|
+
### Headline
|
|
5
|
+
"Your AI Assistant Finally Has a Memory"
|
|
6
|
+
|
|
7
|
+
### Subheadline
|
|
8
|
+
"Transform Claude Code from forgetful to brilliant. Never explain your project twice. Build knowledge that grows with every conversation."
|
|
9
|
+
|
|
10
|
+
### Primary CTA
|
|
11
|
+
"Get Started Free" → Free installation instructions
|
|
12
|
+
|
|
13
|
+
### Secondary CTA
|
|
14
|
+
"Join Cloud Waitlist" → Coming soon cloud plans
|
|
15
|
+
|
|
16
|
+
### Hero Visual
|
|
17
|
+
- Animation showing conversation → compression → memory → context loading
|
|
18
|
+
- Dashboard preview showing organized memories
|
|
19
|
+
- Developer working seamlessly across sessions
|
|
20
|
+
|
|
21
|
+
## Problem Statement Section
|
|
22
|
+
### Headline
|
|
23
|
+
"Every Developer Knows This Pain"
|
|
24
|
+
|
|
25
|
+
### Pain Points (with icons)
|
|
26
|
+
1. **The Groundhog Day Effect**: Starting every Claude session from scratch
|
|
27
|
+
2. **Lost Breakthroughs**: Brilliant solutions buried in forgotten conversations
|
|
28
|
+
3. **Context Switching Nightmare**: Re-explaining your entire codebase repeatedly
|
|
29
|
+
4. **Knowledge Decay**: Solutions discovered and forgotten multiple times
|
|
30
|
+
5. **Team Silos**: Each developer's insights trapped in their own sessions
|
|
31
|
+
|
|
32
|
+
### Visual
|
|
33
|
+
Split-screen showing "Before" (frustrated developer) vs "After" (efficient workflow)
|
|
34
|
+
|
|
35
|
+
## Solution Overview
|
|
36
|
+
### Headline
|
|
37
|
+
"Meet Claude-Mem: Your Persistent AI Knowledge Base"
|
|
38
|
+
|
|
39
|
+
### Key Benefits
|
|
40
|
+
1. **Intelligent Memory**: AI automatically extracts and stores key insights
|
|
41
|
+
2. **Seamless Integration**: One command setup, zero friction
|
|
42
|
+
3. **Smart Context**: Relevant memories loaded automatically
|
|
43
|
+
4. **Cross-Project Learning**: Knowledge that spans all your work
|
|
44
|
+
5. **Team Sharing** (coming soon): Collective intelligence for your team
|
|
45
|
+
|
|
46
|
+
### Demo Video
|
|
47
|
+
Screen recording showing:
|
|
48
|
+
- Installation (`claude-mem install`)
|
|
49
|
+
- Working session with Claude Code
|
|
50
|
+
- Memory compression with `/compact`
|
|
51
|
+
- New session with automatic context loading
|
|
52
|
+
|
|
53
|
+
## Features Deep Dive
|
|
54
|
+
### How It Works
|
|
55
|
+
1. **Install Once, Benefit Forever**
|
|
56
|
+
- Single command setup
|
|
57
|
+
- Automatic Claude Code integration
|
|
58
|
+
- No configuration needed
|
|
59
|
+
|
|
60
|
+
2. **Invisible Intelligence**
|
|
61
|
+
- Triggers automatically on `/compact` and `/clear`
|
|
62
|
+
- AI analyzes conversations for key insights
|
|
63
|
+
- Stores patterns, solutions, and decisions
|
|
64
|
+
|
|
65
|
+
3. **Context That Follows You**
|
|
66
|
+
- Smart memory retrieval
|
|
67
|
+
- Project-aware context loading
|
|
68
|
+
- Semantic search across all sessions
|
|
69
|
+
|
|
70
|
+
### Technical Features
|
|
71
|
+
- **Local-First Architecture**: Your data stays on your machine
|
|
72
|
+
- **Vector Database**: ChromaDB for semantic search
|
|
73
|
+
- **MCP Integration**: Native Claude Code protocol support
|
|
74
|
+
- **AI-Powered Analysis**: Advanced prompt engineering for extraction
|
|
75
|
+
|
|
76
|
+
## Pricing Section
|
|
77
|
+
### Headline
|
|
78
|
+
"Choose Your Claude-Mem Experience"
|
|
79
|
+
|
|
80
|
+
### Free (Open Source)
|
|
81
|
+
**$0 Forever**
|
|
82
|
+
- ✅ Complete local installation
|
|
83
|
+
- ✅ Unlimited memory storage
|
|
84
|
+
- ✅ All core features
|
|
85
|
+
- ✅ Community support
|
|
86
|
+
- ✅ Local ChromaDB
|
|
87
|
+
- ❌ Multi-device sync
|
|
88
|
+
- ❌ Cloud backup
|
|
89
|
+
- ❌ Team sharing
|
|
90
|
+
|
|
91
|
+
**CTA**: "Install Now" → Free installation guide
|
|
92
|
+
|
|
93
|
+
### Individual Cloud Plan
|
|
94
|
+
**$9.95/month**
|
|
95
|
+
*Coming Soon - Join Waitlist*
|
|
96
|
+
- ✅ Everything in Free
|
|
97
|
+
- ✅ Multi-device synchronization
|
|
98
|
+
- ✅ Cloud backup & restore
|
|
99
|
+
- ✅ Enhanced search capabilities
|
|
100
|
+
- ✅ API access
|
|
101
|
+
- ✅ Priority support
|
|
102
|
+
- ✅ 100,000 vectors stored
|
|
103
|
+
- ✅ 10,000 API requests/month
|
|
104
|
+
|
|
105
|
+
**CTA**: "Join Waitlist" → PayPal subscription setup
|
|
106
|
+
|
|
107
|
+
### Team Plan
|
|
108
|
+
**$29.95/month** *(minimum 3 seats)*
|
|
109
|
+
*Coming Soon - Join Waitlist*
|
|
110
|
+
- ✅ Everything in Individual
|
|
111
|
+
- ✅ Shared team memories
|
|
112
|
+
- ✅ Role-based access control
|
|
113
|
+
- ✅ Admin dashboard
|
|
114
|
+
- ✅ Team usage analytics
|
|
115
|
+
- ✅ 500,000 vectors per seat
|
|
116
|
+
- ✅ 50,000 API requests/month per seat
|
|
117
|
+
- ✅ White-label options
|
|
118
|
+
|
|
119
|
+
**CTA**: "Contact Sales" → Team consultation form
|
|
120
|
+
|
|
121
|
+
### Payment Processing
|
|
122
|
+
All cloud plans use **PayPal** for subscription management:
|
|
123
|
+
- Secure payment processing
|
|
124
|
+
- Easy cancellation
|
|
125
|
+
- Automatic billing
|
|
126
|
+
- Multiple payment methods
|
|
127
|
+
- International support
|
|
128
|
+
|
|
129
|
+
## Installation Guide Section
|
|
130
|
+
### Headline
|
|
131
|
+
"Get Started in 60 Seconds"
|
|
132
|
+
|
|
133
|
+
### Step-by-Step Guide
|
|
134
|
+
```bash
|
|
135
|
+
# 1. Install claude-mem
|
|
136
|
+
npm install -g claude-mem
|
|
137
|
+
|
|
138
|
+
# 2. Set up Claude Code integration
|
|
139
|
+
claude-mem install
|
|
140
|
+
|
|
141
|
+
# 3. Restart Claude Code
|
|
142
|
+
|
|
143
|
+
# 4. Start building your knowledge base!
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Prerequisites
|
|
147
|
+
- Node.js 18.0+
|
|
148
|
+
- Claude Code installed
|
|
149
|
+
- 2GB RAM recommended
|
|
150
|
+
|
|
151
|
+
### Verification
|
|
152
|
+
```bash
|
|
153
|
+
# Check everything is working
|
|
154
|
+
claude-mem status
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Use Cases & Benefits
|
|
158
|
+
### For Solo Developers
|
|
159
|
+
- **Faster Problem Solving**: Find solutions you've used before instantly
|
|
160
|
+
- **Knowledge Accumulation**: Build expertise that persists across projects
|
|
161
|
+
- **Context Continuity**: Pick up where you left off, even weeks later
|
|
162
|
+
- **Pattern Recognition**: See how you've solved similar problems before
|
|
163
|
+
|
|
164
|
+
### For Development Teams
|
|
165
|
+
- **Shared Intelligence**: Team-wide knowledge accessible to all
|
|
166
|
+
- **Faster Onboarding**: New developers access collective wisdom
|
|
167
|
+
- **Best Practice Capture**: Proven solutions automatically documented
|
|
168
|
+
- **Institutional Memory**: Knowledge persists beyond team changes
|
|
169
|
+
|
|
170
|
+
### Real User Stories
|
|
171
|
+
> "I used to spend 20 minutes explaining my architecture every time I started a new Claude session. Now it just knows." - Sarah, Full-Stack Developer
|
|
172
|
+
|
|
173
|
+
> "Our team has built up 6 months of shared knowledge. New hires are productive on day one." - Mike, Engineering Manager
|
|
174
|
+
|
|
175
|
+
> "I found a bug fix I wrote 3 months ago in seconds. Would have taken hours to recreate." - Alex, Senior Developer
|
|
176
|
+
|
|
177
|
+
## Technical Deep Dive (Optional Expandable Section)
|
|
178
|
+
### Architecture
|
|
179
|
+
- **Vector Database**: ChromaDB for semantic search
|
|
180
|
+
- **AI Analysis**: GPT-4 powered conversation analysis
|
|
181
|
+
- **Storage**: Local SQLite + JSON archives
|
|
182
|
+
- **Integration**: Model Context Protocol (MCP)
|
|
183
|
+
|
|
184
|
+
### Security & Privacy
|
|
185
|
+
- **Local-First**: All data on your machine by default
|
|
186
|
+
- **No Tracking**: We don't see your conversations
|
|
187
|
+
- **Open Standards**: Built on MCP and ChromaDB
|
|
188
|
+
- **Your Data**: Complete ownership and control
|
|
189
|
+
|
|
190
|
+
### Advanced Features
|
|
191
|
+
- **Smart Trash**: Recoverable file deletion
|
|
192
|
+
- **Project Isolation**: Separate memories per project
|
|
193
|
+
- **Semantic Search**: Find concepts, not just keywords
|
|
194
|
+
- **Tool Chain Analysis**: Understands multi-step workflows
|
|
195
|
+
|
|
196
|
+
## FAQ Section
|
|
197
|
+
### Common Questions
|
|
198
|
+
|
|
199
|
+
**Q: How is this different from just saving chat logs?**
|
|
200
|
+
A: Claude-mem uses AI to extract the important insights, patterns, and solutions from your conversations, then makes them searchable and automatically loads relevant context in new sessions.
|
|
201
|
+
|
|
202
|
+
**Q: Does this work with other AI assistants?**
|
|
203
|
+
A: Currently built specifically for Claude Code, but we're exploring support for other platforms.
|
|
204
|
+
|
|
205
|
+
**Q: What about privacy?**
|
|
206
|
+
A: By default, everything stays local on your machine. Cloud plans are opt-in with full transparency about what's stored.
|
|
207
|
+
|
|
208
|
+
**Q: Can I try before buying cloud features?**
|
|
209
|
+
A: Absolutely! The free version is fully functional. Cloud plans add sync and team features.
|
|
210
|
+
|
|
211
|
+
**Q: How much storage does it use?**
|
|
212
|
+
A: Typical usage is 50-100MB. Large teams might use 1-2GB.
|
|
213
|
+
|
|
214
|
+
## Social Proof Section
|
|
215
|
+
### GitHub Stats
|
|
216
|
+
- ⭐ X Stars
|
|
217
|
+
- 🍴 X Forks
|
|
218
|
+
- 📦 X Weekly Downloads
|
|
219
|
+
- 🐛 X Issues Resolved
|
|
220
|
+
|
|
221
|
+
### Community
|
|
222
|
+
- 💬 Discord Community: X Members
|
|
223
|
+
- 📰 Newsletter: X Subscribers
|
|
224
|
+
- 🐦 Twitter: X Followers
|
|
225
|
+
|
|
226
|
+
## Footer
|
|
227
|
+
### Links
|
|
228
|
+
- Documentation
|
|
229
|
+
- GitHub Repository
|
|
230
|
+
- Community Discord
|
|
231
|
+
- Support
|
|
232
|
+
- Privacy Policy
|
|
233
|
+
- Terms of Service
|
|
234
|
+
|
|
235
|
+
### Contact
|
|
236
|
+
- Email: hello@claude-mem.ai
|
|
237
|
+
- Twitter: @claudemem
|
|
238
|
+
- Discord: claude-mem.ai/discord
|
|
239
|
+
|
|
240
|
+
### Newsletter Signup
|
|
241
|
+
"Get updates on cloud features and new releases"
|
|
242
|
+
|
|
243
|
+
## Technical Implementation Notes
|
|
244
|
+
|
|
245
|
+
### PayPal Integration
|
|
246
|
+
- Use PayPal Subscriptions API
|
|
247
|
+
- Webhook handling for subscription events
|
|
248
|
+
- Customer portal for plan management
|
|
249
|
+
- Automatic renewal and cancellation
|
|
250
|
+
- Support for multiple currencies
|
|
251
|
+
|
|
252
|
+
### Analytics & Tracking
|
|
253
|
+
- Privacy-focused analytics (no personal data)
|
|
254
|
+
- Conversion tracking for waitlist signups
|
|
255
|
+
- A/B testing framework for messaging
|
|
256
|
+
- Performance monitoring
|
|
257
|
+
|
|
258
|
+
### SEO Optimization
|
|
259
|
+
- Keywords: claude code memory, AI assistant memory, conversation persistence
|
|
260
|
+
- Meta descriptions and titles optimized
|
|
261
|
+
- Schema markup for products/pricing
|
|
262
|
+
- Fast loading times (<3s)
|
|
263
|
+
|
|
264
|
+
### Responsive Design
|
|
265
|
+
- Mobile-first approach
|
|
266
|
+
- Tablet optimization
|
|
267
|
+
- Desktop experience
|
|
268
|
+
- Progressive enhancement
|
|
269
|
+
|
|
270
|
+
## Content Strategy
|
|
271
|
+
### Blog Post Ideas
|
|
272
|
+
1. "Why AI Assistants Need Memory"
|
|
273
|
+
2. "Building a Knowledge Base from Your Code Conversations"
|
|
274
|
+
3. "The Future of AI-Assisted Development"
|
|
275
|
+
4. "Case Study: 10x Productivity with Persistent Context"
|
|
276
|
+
|
|
277
|
+
### Video Content
|
|
278
|
+
1. Setup and installation demo
|
|
279
|
+
2. Real-world workflow examples
|
|
280
|
+
3. Team collaboration features
|
|
281
|
+
4. Technical deep dive for developers
|
|
282
|
+
|
|
283
|
+
### Community Building
|
|
284
|
+
1. Discord server for users
|
|
285
|
+
2. GitHub discussions for feature requests
|
|
286
|
+
3. Newsletter for updates and tips
|
|
287
|
+
4. Twitter for quick updates and engagement
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Multi-Platform Build Guide
|
|
2
|
+
|
|
3
|
+
This project now supports building binaries for multiple platforms using Bun's cross-compilation capabilities.
|
|
4
|
+
|
|
5
|
+
## Supported Platforms
|
|
6
|
+
|
|
7
|
+
- **Windows x64**: `claude-mem.exe`
|
|
8
|
+
- **Linux x64**: `claude-mem-linux`
|
|
9
|
+
- **Linux ARM64**: `claude-mem-linux-arm64`
|
|
10
|
+
- **macOS ARM64**: `claude-mem-macos-arm64`
|
|
11
|
+
- **macOS x64**: `claude-mem-macos-x64`
|
|
12
|
+
|
|
13
|
+
## Building
|
|
14
|
+
|
|
15
|
+
### Build All Platforms
|
|
16
|
+
|
|
17
|
+
To build binaries for all supported platforms:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm run build:multiplatform
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This will create binaries in the `releases/binaries/` directory.
|
|
24
|
+
|
|
25
|
+
### Build for NPM Package
|
|
26
|
+
|
|
27
|
+
To build a complete npm package with all platform binaries:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm run publish
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
This creates a package in `releases/npm-package/` that includes:
|
|
34
|
+
- Platform detection wrapper script
|
|
35
|
+
- All platform-specific binaries
|
|
36
|
+
- Hooks and configuration files
|
|
37
|
+
|
|
38
|
+
## How Platform Detection Works
|
|
39
|
+
|
|
40
|
+
The npm package includes a Node.js wrapper script (`claude-mem`) that:
|
|
41
|
+
|
|
42
|
+
1. Detects the current platform using `process.platform` and `process.arch`
|
|
43
|
+
2. Maps the platform to the appropriate binary filename
|
|
44
|
+
3. Executes the correct binary with all command-line arguments
|
|
45
|
+
|
|
46
|
+
### Platform Mapping
|
|
47
|
+
|
|
48
|
+
| Platform | Architecture | Binary Filename |
|
|
49
|
+
|----------|-------------|------------------|
|
|
50
|
+
| Windows | x64 | `claude-mem.exe` |
|
|
51
|
+
| Linux | x64 | `claude-mem-linux` |
|
|
52
|
+
| Linux | arm64/aarch64 | `claude-mem-linux-arm64` |
|
|
53
|
+
| macOS | arm64 | `claude-mem-macos-arm64` |
|
|
54
|
+
| macOS | x64 | `claude-mem-macos-x64` |
|
|
55
|
+
|
|
56
|
+
## Usage
|
|
57
|
+
|
|
58
|
+
After installation via npm, users can run:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx claude-mem --help
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The wrapper will automatically select and execute the correct binary for their platform.
|
|
65
|
+
|
|
66
|
+
## Troubleshooting
|
|
67
|
+
|
|
68
|
+
### Unsupported Platform Error
|
|
69
|
+
|
|
70
|
+
If you see an "Unsupported platform" error, check that your platform/architecture combination is in the supported list above.
|
|
71
|
+
|
|
72
|
+
### Binary Not Found Error
|
|
73
|
+
|
|
74
|
+
This indicates the platform detection worked, but the expected binary file is missing from the package. This shouldn't happen with properly built packages.
|
|
75
|
+
|
|
76
|
+
## Development
|
|
77
|
+
|
|
78
|
+
### Adding New Platforms
|
|
79
|
+
|
|
80
|
+
To add support for new platforms:
|
|
81
|
+
|
|
82
|
+
1. Add the platform to the `PLATFORMS` array in `scripts/build-multiplatform.sh`
|
|
83
|
+
2. Update the platform detection logic in `scripts/claude-mem-wrapper.js`
|
|
84
|
+
3. Update this documentation
|
|
85
|
+
|
|
86
|
+
### Testing Binaries
|
|
87
|
+
|
|
88
|
+
Test that a specific binary works:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Test Linux binary
|
|
92
|
+
./releases/binaries/claude-mem-linux --help
|
|
93
|
+
|
|
94
|
+
# Test Windows binary (on Windows or with Wine)
|
|
95
|
+
./releases/binaries/claude-mem.exe --help
|
|
96
|
+
```
|