claude-brain 0.30.2 → 0.30.3

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.
Files changed (236) hide show
  1. package/README.md +241 -191
  2. package/VERSION +1 -1
  3. package/assets/CLAUDE-unified.md +11 -11
  4. package/assets/CLAUDE.md +29 -29
  5. package/package.json +7 -3
  6. package/packs/backend/node.json +173 -173
  7. package/packs/core/javascript.json +176 -176
  8. package/packs/core/typescript.json +222 -222
  9. package/packs/frontend/react.json +254 -254
  10. package/packs/meta/testing.json +172 -172
  11. package/scripts/postinstall.mjs +531 -531
  12. package/src/automation/decision-detector.ts +452 -452
  13. package/src/automation/phase12-manager.ts +456 -456
  14. package/src/automation/proactive-recall.ts +373 -373
  15. package/src/automation/project-detector.ts +310 -310
  16. package/src/automation/repo-scanner.ts +210 -205
  17. package/src/cli/auto-setup.ts +75 -75
  18. package/src/cli/auto-start.ts +266 -266
  19. package/src/cli/bin.ts +264 -264
  20. package/src/cli/commands/autostart.ts +90 -90
  21. package/src/cli/commands/chroma.ts +578 -577
  22. package/src/cli/commands/export-training.ts +70 -70
  23. package/src/cli/commands/export.ts +130 -130
  24. package/src/cli/commands/git-hook.ts +183 -183
  25. package/src/cli/commands/hooks.ts +217 -217
  26. package/src/cli/commands/init.ts +123 -123
  27. package/src/cli/commands/install-mcp.ts +122 -111
  28. package/src/cli/commands/models.ts +979 -979
  29. package/src/cli/commands/pack.ts +200 -200
  30. package/src/cli/commands/refresh.ts +344 -339
  31. package/src/cli/commands/reindex.ts +120 -120
  32. package/src/cli/commands/serve.ts +466 -463
  33. package/src/cli/commands/start.ts +44 -44
  34. package/src/cli/commands/status.ts +220 -203
  35. package/src/cli/commands/uninstall-mcp.ts +45 -41
  36. package/src/cli/commands/update.ts +130 -124
  37. package/src/cli/migrate-chroma.ts +106 -106
  38. package/src/cli/ui/animations.ts +80 -80
  39. package/src/cli/ui/components.ts +82 -82
  40. package/src/cli/ui/index.ts +4 -4
  41. package/src/cli/ui/logo.ts +36 -36
  42. package/src/cli/ui/theme.ts +55 -55
  43. package/src/code-intelligence/indexer.ts +352 -352
  44. package/src/code-intelligence/linker.ts +178 -178
  45. package/src/code-intelligence/parser.ts +484 -484
  46. package/src/code-intelligence/query.ts +291 -291
  47. package/src/code-intelligence/schema.ts +83 -83
  48. package/src/code-intelligence/types.ts +95 -95
  49. package/src/config/defaults.ts +52 -52
  50. package/src/config/home.ts +56 -56
  51. package/src/config/index.ts +5 -5
  52. package/src/config/loader.ts +192 -192
  53. package/src/config/schema.ts +446 -415
  54. package/src/config/validator.ts +182 -182
  55. package/src/context/assembler.ts +407 -400
  56. package/src/context/index.ts +79 -79
  57. package/src/context/progress-tracker.ts +174 -174
  58. package/src/context/standards-manager.ts +287 -287
  59. package/src/context/validator.ts +58 -58
  60. package/src/diagnostics/index.ts +122 -121
  61. package/src/health/index.ts +233 -232
  62. package/src/hooks/brain-hook.ts +134 -131
  63. package/src/hooks/capture.ts +168 -168
  64. package/src/hooks/claude-code-mastery.md +112 -112
  65. package/src/hooks/context-hook.ts +260 -245
  66. package/src/hooks/deduplicator.ts +72 -72
  67. package/src/hooks/git-capture.ts +109 -109
  68. package/src/hooks/git-hook-installer.ts +211 -207
  69. package/src/hooks/index.ts +20 -20
  70. package/src/hooks/installer.ts +306 -288
  71. package/src/hooks/interceptor-hook.ts +204 -201
  72. package/src/hooks/passive-classifier.ts +397 -397
  73. package/src/hooks/queue.ts +160 -129
  74. package/src/hooks/session-tracker.ts +312 -312
  75. package/src/hooks/types.ts +52 -52
  76. package/src/index.ts +7 -7
  77. package/src/intelligence/cross-project/generalizer.ts +283 -283
  78. package/src/intelligence/cross-project/index.ts +7 -7
  79. package/src/intelligence/hf-downloader.ts +222 -222
  80. package/src/intelligence/hf-manifest.json +78 -78
  81. package/src/intelligence/index.ts +24 -24
  82. package/src/intelligence/inference-router.ts +762 -762
  83. package/src/intelligence/model-manager.ts +263 -245
  84. package/src/intelligence/optimization/index.ts +10 -10
  85. package/src/intelligence/optimization/precompute.ts +202 -202
  86. package/src/intelligence/optimization/semantic-cache.ts +213 -207
  87. package/src/intelligence/prediction/index.ts +7 -7
  88. package/src/intelligence/prediction/recommender.ts +276 -268
  89. package/src/intelligence/reasoning/chain-retrieval.ts +243 -247
  90. package/src/intelligence/reasoning/index.ts +7 -7
  91. package/src/intelligence/temporal/evolution.ts +193 -197
  92. package/src/intelligence/temporal/index.ts +16 -16
  93. package/src/intelligence/temporal/query-processor.ts +190 -190
  94. package/src/intelligence/temporal/timeline.ts +272 -259
  95. package/src/intelligence/temporal/trends.ts +263 -263
  96. package/src/intelligence/tokenizer.ts +118 -118
  97. package/src/knowledge/entity-extractor.ts +447 -443
  98. package/src/knowledge/graph/builder.ts +185 -185
  99. package/src/knowledge/graph/linker.ts +201 -201
  100. package/src/knowledge/graph/memory-graph.ts +359 -359
  101. package/src/knowledge/graph/schema.ts +99 -99
  102. package/src/knowledge/graph/search.ts +166 -166
  103. package/src/knowledge/relationship-extractor.ts +108 -108
  104. package/src/memory/chroma/client.ts +211 -192
  105. package/src/memory/chroma/collection-manager.ts +92 -92
  106. package/src/memory/chroma/config.ts +57 -57
  107. package/src/memory/chroma/embeddings.ts +177 -175
  108. package/src/memory/chroma/index.ts +82 -82
  109. package/src/memory/chroma/migration.ts +270 -270
  110. package/src/memory/chroma/schemas.ts +69 -69
  111. package/src/memory/chroma/search.ts +319 -315
  112. package/src/memory/chroma/store.ts +755 -747
  113. package/src/memory/compression.ts +121 -121
  114. package/src/memory/consolidation/archiver.ts +162 -165
  115. package/src/memory/consolidation/merger.ts +182 -186
  116. package/src/memory/consolidation/scorer.ts +136 -136
  117. package/src/memory/database.ts +9 -0
  118. package/src/memory/dual-write.ts +145 -0
  119. package/src/memory/embeddings.ts +226 -226
  120. package/src/memory/episodic/detector.ts +108 -108
  121. package/src/memory/episodic/manager.ts +347 -351
  122. package/src/memory/episodic/summarizer.ts +179 -179
  123. package/src/memory/episodic/types.ts +52 -52
  124. package/src/memory/fts5-search.ts +692 -633
  125. package/src/memory/index.ts +943 -1060
  126. package/src/memory/migrations/add-fts5.ts +118 -108
  127. package/src/memory/patterns.ts +438 -438
  128. package/src/memory/pruning.ts +60 -60
  129. package/src/memory/schema.ts +88 -88
  130. package/src/memory/store.ts +911 -787
  131. package/src/orchestrator/handlers/decision-handler.ts +204 -204
  132. package/src/packs/index.ts +9 -9
  133. package/src/packs/loader.ts +134 -134
  134. package/src/packs/manager.ts +204 -204
  135. package/src/packs/ranker.ts +78 -78
  136. package/src/packs/types.ts +81 -81
  137. package/src/phase12/index.ts +5 -5
  138. package/src/retrieval/bm25/index.ts +300 -297
  139. package/src/retrieval/bm25/tokenizer.ts +184 -184
  140. package/src/retrieval/feedback/adaptive.ts +221 -221
  141. package/src/retrieval/feedback/index.ts +16 -16
  142. package/src/retrieval/feedback/metrics.ts +221 -221
  143. package/src/retrieval/feedback/store.ts +283 -283
  144. package/src/retrieval/fusion/index.ts +194 -194
  145. package/src/retrieval/fusion/rrf.ts +165 -165
  146. package/src/retrieval/index.ts +12 -12
  147. package/src/retrieval/pipeline.ts +375 -375
  148. package/src/retrieval/query/expander.ts +203 -203
  149. package/src/retrieval/query/index.ts +27 -27
  150. package/src/retrieval/query/intent-classifier.ts +252 -252
  151. package/src/retrieval/query/temporal-parser.ts +295 -295
  152. package/src/retrieval/reranker/index.ts +189 -188
  153. package/src/retrieval/reranker/model.ts +99 -95
  154. package/src/retrieval/service.ts +125 -125
  155. package/src/retrieval/types.ts +162 -162
  156. package/src/routing/entity-extractor.ts +454 -454
  157. package/src/routing/handlers/exploration-handler.ts +369 -0
  158. package/src/routing/handlers/index.ts +19 -0
  159. package/src/routing/handlers/memory-handler.ts +273 -0
  160. package/src/routing/handlers/mutation-handler.ts +241 -0
  161. package/src/routing/handlers/recall-handler.ts +642 -0
  162. package/src/routing/handlers/shared.ts +515 -0
  163. package/src/routing/handlers/types.ts +48 -0
  164. package/src/routing/intent-classifier.ts +552 -552
  165. package/src/routing/response-filter.ts +399 -391
  166. package/src/routing/router.ts +245 -2193
  167. package/src/routing/search-engine.ts +521 -514
  168. package/src/routing/types.ts +104 -94
  169. package/src/scripts/health-check.ts +118 -118
  170. package/src/scripts/setup.ts +122 -122
  171. package/src/server/auto-updater.ts +283 -276
  172. package/src/server/handlers/call-tool.ts +159 -159
  173. package/src/server/handlers/list-tools.ts +35 -35
  174. package/src/server/handlers/tools/auto-remember.ts +165 -165
  175. package/src/server/handlers/tools/brain.ts +86 -86
  176. package/src/server/handlers/tools/create-project.ts +135 -135
  177. package/src/server/handlers/tools/get-code-standards.ts +123 -123
  178. package/src/server/handlers/tools/get-corrections.ts +152 -152
  179. package/src/server/handlers/tools/get-patterns.ts +156 -156
  180. package/src/server/handlers/tools/get-project-context.ts +75 -75
  181. package/src/server/handlers/tools/index.ts +30 -30
  182. package/src/server/handlers/tools/init-project.ts +756 -756
  183. package/src/server/handlers/tools/list-projects.ts +126 -126
  184. package/src/server/handlers/tools/recall-similar.ts +87 -87
  185. package/src/server/handlers/tools/recognize-pattern.ts +132 -132
  186. package/src/server/handlers/tools/record-correction.ts +131 -131
  187. package/src/server/handlers/tools/remember-decision.ts +168 -168
  188. package/src/server/handlers/tools/schemas.ts +179 -179
  189. package/src/server/handlers/tools/search-code.ts +122 -122
  190. package/src/server/handlers/tools/smart-context.ts +146 -146
  191. package/src/server/handlers/tools/update-progress.ts +131 -131
  192. package/src/server/http-api.ts +215 -1229
  193. package/src/server/mcp-proxy.ts +85 -84
  194. package/src/server/mcp-server.ts +285 -284
  195. package/src/server/middleware/auth.ts +39 -0
  196. package/src/server/middleware/error-handler.ts +37 -0
  197. package/src/server/middleware/rate-limit.ts +53 -0
  198. package/src/server/middleware/validate.ts +42 -0
  199. package/src/server/pid-manager.ts +137 -136
  200. package/src/server/providers/resources.ts +581 -581
  201. package/src/server/routes/code.ts +228 -0
  202. package/src/server/routes/context.ts +26 -0
  203. package/src/server/routes/health.ts +19 -0
  204. package/src/server/routes/helpers.ts +100 -0
  205. package/src/server/routes/hooks.ts +197 -0
  206. package/src/server/routes/mcp.ts +47 -0
  207. package/src/server/routes/memory.ts +397 -0
  208. package/src/server/routes/models.ts +96 -0
  209. package/src/server/routes/projects.ts +89 -0
  210. package/src/server/routes/types.ts +21 -0
  211. package/src/server/schemas/api-schemas.ts +202 -0
  212. package/src/server/services.ts +720 -720
  213. package/src/server/utils/memory-indicator.ts +84 -84
  214. package/src/server/utils/response-formatter.ts +129 -129
  215. package/src/server/web-viewer.ts +1145 -1115
  216. package/src/setup/index.ts +38 -38
  217. package/src/tools/registry.ts +115 -115
  218. package/src/tools/schemas.ts +666 -666
  219. package/src/tools/types.ts +412 -412
  220. package/src/training/data-store.ts +320 -298
  221. package/src/training/retrain-pipeline.ts +399 -394
  222. package/src/utils/error-handler.ts +136 -136
  223. package/src/utils/index.ts +58 -58
  224. package/src/utils/kill-port.ts +55 -53
  225. package/src/utils/phase12-helper.ts +56 -56
  226. package/src/utils/safe-path.ts +43 -0
  227. package/src/utils/timing.ts +47 -47
  228. package/src/utils/transaction.ts +63 -63
  229. package/src/vault/index.ts +4 -3
  230. package/src/vault/paths.ts +106 -106
  231. package/src/vault/query.ts +4 -1
  232. package/src/vault/reader.ts +44 -1
  233. package/src/vault/watcher.ts +24 -1
  234. package/src/vault/writer.ts +487 -413
  235. package/skills/persistent-memory/SKILL.md +0 -148
  236. package/skills/persistent-memory/references/tool-reference.md +0 -90
package/README.md CHANGED
@@ -1,191 +1,241 @@
1
- # Claude Brain
2
-
3
- A locally-running development assistant that bridges Obsidian knowledge vaults with Claude Code through the Model Context Protocol (MCP).
4
-
5
- ## Features
6
-
7
- - Eliminates repetitive context explanations to Claude Code
8
- - Maintains project memory across sessions using Obsidian vault
9
- - Semantic memory system learns from past decisions (ChromaDB + SQLite)
10
- - **25 MCP tools** for context retrieval, memory storage, and intelligence
11
- - **Knowledge graph** connecting technologies, decisions, and concepts
12
- - **Episodic memory** with session detection and extractive summarization
13
- - **Hybrid retrieval** with BM25 + semantic fusion and cross-encoder reranking
14
- - **Temporal intelligence** for decision timelines, evolution tracking, and trend detection
15
- - **Multi-hop reasoning** with chain retrieval and what-if analysis
16
- - **Predictive intelligence** with context-aware recommendations
17
- - **Cross-project intelligence** for pattern discovery and knowledge transfer
18
- - **Semantic caching** with cosine similarity matching for fast repeated queries
19
- - **Event-driven orchestrator** for automatic file change handling
20
- - **Automatic duplicate prevention** for decisions (>90% similarity detection)
21
- - **Zod-validated tool inputs** for robust error handling
22
- - Runs completely locally with zero cloud dependencies
23
- - Compiles to single portable executable
24
-
25
- ## Quick Start
26
-
27
- ```bash
28
- # Install globally (requires Bun)
29
- bun install -g claude-brain
30
-
31
- # Interactive setup (vault path, log level, installs ~/.claude/CLAUDE.md)
32
- claude-brain setup
33
-
34
- # Register with Claude Code
35
- claude mcp add claude-brain -s user -- bunx claude-brain@latest
36
- ```
37
-
38
- That's it. Every Claude Code session now has 25 brain tools available.
39
-
40
- ## Zero-Install Alternative
41
-
42
- Skip the global install just register with Claude Code directly:
43
-
44
- ```bash
45
- claude mcp add claude-brain -s user -- bunx claude-brain@latest
46
- ```
47
-
48
- On first run, `~/.claude-brain/` is auto-created with default config.
49
-
50
- ## Prerequisites
51
-
52
- - [Bun](https://bun.sh) >= 1.0.0
53
- - An Obsidian vault (or any markdown folder)
54
-
55
- ## CLI Commands
56
-
57
- | Command | Description |
58
- |---------|-------------|
59
- | `claude-brain` | Start MCP server (default) |
60
- | `claude-brain setup` | Interactive setup wizard (run once per machine) |
61
- | `claude-brain install` | Register as MCP server in Claude Code |
62
- | `claude-brain uninstall` | Remove MCP server from Claude Code |
63
- | `claude-brain update` | Update package and refresh CLAUDE.md to latest |
64
- | `claude-brain health` | Run health checks |
65
- | `claude-brain diagnose` | Run diagnostics |
66
- | `claude-brain version` | Show version |
67
- | `claude-brain help` | Show help |
68
-
69
- ## Configuration
70
-
71
- Configuration lives in `~/.claude-brain/.env`. Created automatically by `claude-brain setup`, or on first run with defaults.
72
-
73
- | Variable | Description | Default |
74
- |----------|-------------|---------|
75
- | `VAULT_PATH` | Path to your Obsidian vault | `~/.claude-brain/vault` |
76
- | `LOG_LEVEL` | Log level (debug/info/warn/error) | `info` |
77
- | `NODE_ENV` | Environment | `production` |
78
- | `CLAUDE_BRAIN_HOME` | Override home directory | `~/.claude-brain/` |
79
-
80
- ## Development
81
-
82
- ```bash
83
- # Clone and install dependencies
84
- git clone <repo-url>
85
- cd claude-brain
86
- bun install
87
-
88
- # Start dev server (uses local ./data, ./logs)
89
- bun run dev
90
-
91
- # Run tests
92
- bun test
93
-
94
- # Run tests in watch mode
95
- bun test --watch
96
- ```
97
-
98
- The `dev` script sets `CLAUDE_BRAIN_HOME=.` so all data stays in the project directory.
99
-
100
- ## Building
101
-
102
- ```bash
103
- # Build standalone executable for current platform
104
- bun run build:binary
105
-
106
- # Build for all platforms (Windows, macOS, Linux)
107
- bun run build:all
108
- ```
109
-
110
- ## Project Structure
111
-
112
- ```
113
- claude-brain/
114
- ├── src/
115
- │ ├── index.ts # Entry point (thin wrapper)
116
- │ ├── cli/
117
- │ │ ├── bin.ts # CLI entry point (claude-brain command)
118
- │ │ ├── auto-setup.ts # First-run home directory initialization
119
- │ │ └── commands/ # serve, install-mcp, uninstall-mcp, update
120
- │ ├── config/
121
- │ │ ├── home.ts # ~/.claude-brain/ path resolution
122
- │ │ ├── loader.ts # Config loading (defaults → file → env)
123
- │ │ └── schema.ts # Zod config schemas
124
- │ ├── server/ # MCP server code
125
- │ │ └── handlers/tools/ # 25 tool handlers with Zod validation
126
- │ ├── vault/ # Obsidian integration
127
- │ ├── memory/ # Vector DB & embeddings
128
- │ │ ├── chroma/ # ChromaDB integration with duplicate detection
129
- │ │ ├── episodic/ # Session detection & episode management
130
- │ │ └── consolidation/ # Memory importance scoring & archival
131
- │ ├── knowledge/ # Knowledge graph & entity extraction
132
- │ │ └── graph/ # In-memory graph with search & auto-population
133
- │ ├── retrieval/ # Hybrid search (BM25 + semantic + reranking)
134
- │ ├── temporal/ # Timeline construction & trend detection
135
- ├── reasoning/ # Multi-hop chain retrieval & what-if analysis
136
- │ ├── prediction/ # Decision prediction & recommendations
137
- │ ├── cross-project/ # Cross-project pattern discovery & transfer
138
- │ ├── optimization/ # Semantic caching & precomputation
139
- │ ├── orchestrator/ # Event-driven coordination system
140
- ├── setup/ # Interactive setup wizard
141
- │ ├── context/ # Context assembly
142
- │ ├── tools/ # MCP tool definitions & registry
143
- └── utils/ # Shared utilities
144
- ├── assets/
145
- └── CLAUDE.md # Protocol file (shipped with npm package)
146
- ├── tests/ # 750+ tests
147
- └── ~/.claude-brain/ # User data (created at runtime)
148
- ├── .env # Configuration
149
- ├── data/ # SQLite + ChromaDB
150
- ├── logs/ # Log files
151
- └── vault/ # Default vault location
152
- ```
153
-
154
- ## Architecture Highlights
155
-
156
- ### Event-Driven Orchestrator
157
- The orchestrator automatically responds to file changes in your vault:
158
- - Detects new decisions in `decisions.md` files
159
- - Triggers automatic semantic indexing
160
- - Coordinates between vault, memory, and context systems
161
-
162
- ### Duplicate Prevention
163
- When storing decisions, the system:
164
- - Searches for existing decisions with >90% semantic similarity
165
- - Returns existing ID if duplicate found (prevents bloat)
166
- - Logs skipped duplicates for transparency
167
-
168
- ### Input Validation
169
- All tool inputs are validated using Zod schemas:
170
- - Clear error messages for invalid parameters
171
- - Type-safe extraction of validated inputs
172
- - Consistent validation across all 25 tools
173
-
174
- ### Embedding Cache
175
- Uses SHA-256 hashing for cache keys to prevent collisions (improved from simple hash).
176
-
177
- ### MCP Tools (25 total)
178
-
179
- | Category | Tools |
180
- |----------|-------|
181
- | Context Retrieval | `get_project_context`, `smart_context`, `recall_similar`, `get_code_standards`, `get_phase12_status` |
182
- | Memory Storage | `remember_decision`, `auto_remember`, `recognize_pattern`, `record_correction`, `update_progress` |
183
- | Project Management | `list_projects`, `create_project`, `init_project` |
184
- | Knowledge Graph | `search_knowledge_graph`, `get_episode`, `list_episodes` |
185
- | Patterns & Corrections | `get_patterns`, `get_corrections` |
186
- | Feedback | `rate_memory` |
187
- | Advanced Intelligence | `get_decision_timeline`, `analyze_decision_evolution`, `detect_trends`, `what_if_analysis`, `get_recommendations`, `find_cross_project_patterns` |
188
-
189
- ## License
190
-
191
- MIT
1
+ # Claude Brain
2
+
3
+ [![Version](https://img.shields.io/badge/version-0.30.3-blue.svg)](package.json)
4
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
+ [![Runtime](https://img.shields.io/badge/runtime-Bun-f472b6.svg)](https://bun.sh)
6
+
7
+ A locally-running development assistant that bridges Obsidian knowledge vaults with Claude Code through the Model Context Protocol (MCP).
8
+
9
+ ## Features
10
+
11
+ - Eliminates repetitive context explanations to Claude Code
12
+ - Maintains project memory across sessions using Obsidian vault
13
+ - Semantic memory system learns from past decisions (ChromaDB + SQLite)
14
+ - **25 MCP tools** for context retrieval, memory storage, and intelligence
15
+ - **Knowledge graph** connecting technologies, decisions, and concepts
16
+ - **Episodic memory** with session detection and extractive summarization
17
+ - **Hybrid retrieval** with BM25 + semantic fusion and cross-encoder reranking
18
+ - **Temporal intelligence** for decision timelines, evolution tracking, and trend detection
19
+ - **Multi-hop reasoning** with chain retrieval and what-if analysis
20
+ - **Predictive intelligence** with context-aware recommendations
21
+ - **Cross-project intelligence** for pattern discovery and knowledge transfer
22
+ - **Semantic caching** with cosine similarity matching for fast repeated queries
23
+ - **Event-driven orchestrator** for automatic file change handling
24
+ - **Automatic duplicate prevention** for decisions (>90% similarity detection)
25
+ - **Zod-validated tool inputs** for robust error handling
26
+ - Runs completely locally with zero cloud dependencies
27
+ - Compiles to single portable executable
28
+
29
+ ## Quick Start
30
+
31
+ ```bash
32
+ # Install globally (requires Bun)
33
+ bun install -g claude-brain
34
+
35
+ # Interactive setup (vault path, log level, installs ~/.claude/CLAUDE.md)
36
+ claude-brain setup
37
+
38
+ # Register with Claude Code
39
+ claude mcp add claude-brain -s user -- bunx claude-brain@latest
40
+ ```
41
+
42
+ That's it. Every Claude Code session now has 25 brain tools available.
43
+
44
+ ## Zero-Install Alternative
45
+
46
+ Skip the global install — just register with Claude Code directly:
47
+
48
+ ```bash
49
+ claude mcp add claude-brain -s user -- bunx claude-brain@latest
50
+ ```
51
+
52
+ On first run, `~/.claude-brain/` is auto-created with default config.
53
+
54
+ ## Prerequisites
55
+
56
+ - [Bun](https://bun.sh) >= 1.0.0
57
+ - An Obsidian vault (or any markdown folder)
58
+
59
+ ## CLI Commands
60
+
61
+ | Command | Description |
62
+ |---------|-------------|
63
+ | `claude-brain` | Start MCP server (default) |
64
+ | `claude-brain setup` | Interactive setup wizard (run once per machine) |
65
+ | `claude-brain install` | Register as MCP server in Claude Code |
66
+ | `claude-brain uninstall` | Remove MCP server from Claude Code |
67
+ | `claude-brain update` | Update package and refresh CLAUDE.md to latest |
68
+ | `claude-brain health` | Run health checks |
69
+ | `claude-brain diagnose` | Run diagnostics |
70
+ | `claude-brain version` | Show version |
71
+ | `claude-brain help` | Show help |
72
+
73
+ ## Documentation
74
+
75
+ Comprehensive documentation is available in the [`docs/`](docs/) directory:
76
+
77
+ | Document | Description |
78
+ |----------|-------------|
79
+ | [API Reference](docs/API.md) | Complete HTTP API reference — 27 endpoints with request/response schemas and curl examples |
80
+ | [Configuration](docs/CONFIGURATION.md) | Every config option documented with types, defaults, and environment variables |
81
+ | [Knowledge Packs](docs/PACKS.md) | Pack format, built-in packs, custom pack creation, CLI commands |
82
+ | [Hooks & Passive Learning](docs/HOOKS.md) | Hook system architecture, passive classification, git capture, session tracking |
83
+ | [Code Intelligence](docs/CODE-INTELLIGENCE.md) | Tree-sitter indexing, `search_code` tool, supported languages, code-memory linking |
84
+ | [Security Hardening](docs/SECURITY.md) | Authentication, TLS proxy configs, database security, incident response |
85
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | 16 common issues with symptoms, causes, and solutions |
86
+ | [Production Checklist](docs/PRODUCTION-CHECKLIST.md) | Pre/post deployment checklists, systemd/pm2 configs, backup & recovery |
87
+
88
+ ## Configuration
89
+
90
+ Configuration lives in `~/.claude-brain/.env`. Created automatically by `claude-brain setup`, or on first run with defaults. See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for the full reference (40+ options).
91
+
92
+ | Variable | Description | Default |
93
+ |----------|-------------|---------|
94
+ | `VAULT_PATH` | Path to your Obsidian vault | `~/.claude-brain/vault` |
95
+ | `LOG_LEVEL` | Log level (debug/info/warn/error) | `info` |
96
+ | `NODE_ENV` | Environment | `production` |
97
+ | `CLAUDE_BRAIN_HOME` | Override home directory | `~/.claude-brain/` |
98
+ | `CLAUDE_BRAIN_API_KEY` | API key for HTTP endpoint auth | *(none)* |
99
+ | `PORT` | HTTP API server port | `3333` |
100
+
101
+ ## Development
102
+
103
+ ```bash
104
+ # Clone and install dependencies
105
+ git clone <repo-url>
106
+ cd claude-brain
107
+ bun install
108
+
109
+ # Start dev server (uses local ./data, ./logs)
110
+ bun run dev
111
+
112
+ # Run tests
113
+ bun test
114
+
115
+ # Run tests in watch mode
116
+ bun test --watch
117
+ ```
118
+
119
+ The `dev` script sets `CLAUDE_BRAIN_HOME=.` so all data stays in the project directory.
120
+
121
+ ## Building
122
+
123
+ ```bash
124
+ # Build standalone executable for current platform
125
+ bun run build:binary
126
+
127
+ # Build for all platforms (Windows, macOS, Linux)
128
+ bun run build:all
129
+ ```
130
+
131
+ ## Project Structure
132
+
133
+ ```
134
+ claude-brain/
135
+ ├── src/
136
+ │ ├── index.ts # Entry point (thin wrapper)
137
+ │ ├── cli/
138
+ ├── bin.ts # CLI entry point (claude-brain command)
139
+ ├── auto-setup.ts # First-run home directory initialization
140
+ │ └── commands/ # serve, install-mcp, uninstall-mcp, update
141
+ │ ├── config/
142
+ ├── home.ts # ~/.claude-brain/ path resolution
143
+ │ ├── loader.ts # Config loading (defaults → file → env)
144
+ │ │ └── schema.ts # Zod config schemas
145
+ ├── server/ # MCP server code
146
+ │ │ └── handlers/tools/ # 25 tool handlers with Zod validation
147
+ │ ├── vault/ # Obsidian integration
148
+ ├── memory/ # Vector DB & embeddings
149
+ │ │ ├── chroma/ # ChromaDB integration with duplicate detection
150
+ │ │ ├── episodic/ # Session detection & episode management
151
+ │ │ └── consolidation/ # Memory importance scoring & archival
152
+ │ ├── knowledge/ # Knowledge graph & entity extraction
153
+ │ │ └── graph/ # In-memory graph with search & auto-population
154
+ │ ├── retrieval/ # Hybrid search (BM25 + semantic + reranking)
155
+ │ ├── temporal/ # Timeline construction & trend detection
156
+ │ ├── reasoning/ # Multi-hop chain retrieval & what-if analysis
157
+ │ ├── prediction/ # Decision prediction & recommendations
158
+ │ ├── cross-project/ # Cross-project pattern discovery & transfer
159
+ │ ├── optimization/ # Semantic caching & precomputation
160
+ │ ├── orchestrator/ # Event-driven coordination system
161
+ │ ├── setup/ # Interactive setup wizard
162
+ │ ├── context/ # Context assembly
163
+ │ ├── tools/ # MCP tool definitions & registry
164
+ │ └── utils/ # Shared utilities
165
+ ├── assets/
166
+ │ └── CLAUDE.md # Protocol file (shipped with npm package)
167
+ ├── tests/ # 750+ tests
168
+ └── ~/.claude-brain/ # User data (created at runtime)
169
+ ├── .env # Configuration
170
+ ├── data/ # SQLite + ChromaDB
171
+ ├── logs/ # Log files
172
+ └── vault/ # Default vault location
173
+ ```
174
+
175
+ ## Architecture Highlights
176
+
177
+ ### Event-Driven Orchestrator
178
+ The orchestrator automatically responds to file changes in your vault:
179
+ - Detects new decisions in `decisions.md` files
180
+ - Triggers automatic semantic indexing
181
+ - Coordinates between vault, memory, and context systems
182
+
183
+ ### Duplicate Prevention
184
+ When storing decisions, the system:
185
+ - Searches for existing decisions with >90% semantic similarity
186
+ - Returns existing ID if duplicate found (prevents bloat)
187
+ - Logs skipped duplicates for transparency
188
+
189
+ ### Input Validation
190
+ All tool inputs are validated using Zod schemas:
191
+ - Clear error messages for invalid parameters
192
+ - Type-safe extraction of validated inputs
193
+ - Consistent validation across all 25 tools
194
+
195
+ ### Embedding Cache
196
+ Uses SHA-256 hashing for cache keys to prevent collisions (improved from simple hash).
197
+
198
+ ### MCP Tools (25 total)
199
+
200
+ | Category | Tools |
201
+ |----------|-------|
202
+ | Context Retrieval | `get_project_context`, `smart_context`, `recall_similar`, `get_code_standards`, `get_phase12_status` |
203
+ | Memory Storage | `remember_decision`, `auto_remember`, `recognize_pattern`, `record_correction`, `update_progress` |
204
+ | Project Management | `list_projects`, `create_project`, `init_project` |
205
+ | Knowledge Graph | `search_knowledge_graph`, `get_episode`, `list_episodes` |
206
+ | Patterns & Corrections | `get_patterns`, `get_corrections` |
207
+ | Feedback | `rate_memory` |
208
+ | Advanced Intelligence | `get_decision_timeline`, `analyze_decision_evolution`, `detect_trends`, `what_if_analysis`, `get_recommendations`, `find_cross_project_patterns` |
209
+
210
+ ## Security
211
+
212
+ For production deployments, see [docs/SECURITY.md](docs/SECURITY.md). Key recommendations:
213
+
214
+ - **Always set `CLAUDE_BRAIN_API_KEY`** in production — generate with `openssl rand -hex 32`
215
+ - Server binds to **localhost only** by default — use a reverse proxy for remote access
216
+ - CORS is restricted to localhost — add explicit origins via `corsOrigins` config
217
+ - Rate limiting is enabled by default (200 req/60s)
218
+ - All file operations are protected against path traversal
219
+
220
+ ## API
221
+
222
+ Claude Brain exposes an HTTP API on port 3333 (default) for programmatic access. See [docs/API.md](docs/API.md) for the full reference.
223
+
224
+ ```bash
225
+ # Health check
226
+ curl http://localhost:3333/api/health
227
+
228
+ # Store a memory (requires API key)
229
+ curl -X POST http://localhost:3333/api/memory \
230
+ -H "Content-Type: application/json" \
231
+ -H "X-API-Key: your-key" \
232
+ -d '{"content": "Use ESM imports", "project": "my-app", "category": "decision"}'
233
+
234
+ # Search memories
235
+ curl "http://localhost:3333/api/search?q=imports&project=my-app" \
236
+ -H "X-API-Key: your-key"
237
+ ```
238
+
239
+ ## License
240
+
241
+ MIT
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.30.2
1
+ 0.30.2
@@ -1,11 +1,11 @@
1
- # Claude Brain
2
-
3
- Call `brain()` with what you are doing. The server handles the rest.
4
-
5
- Examples:
6
- - brain("starting work on the auth system")
7
- - brain("decided to use JWT because sessions don't scale")
8
- - brain("finished the login page, next is the dashboard")
9
- - brain("what auth patterns have we used?")
10
- - brain("the bug was a race condition, fixed by adding a mutex")
11
- - brain("React vs Vue for the new project?")
1
+ # Claude Brain
2
+
3
+ Call `brain()` with what you are doing. The server handles the rest.
4
+
5
+ Examples:
6
+ - brain("starting work on the auth system")
7
+ - brain("decided to use JWT because sessions don't scale")
8
+ - brain("finished the login page, next is the dashboard")
9
+ - brain("what auth patterns have we used?")
10
+ - brain("the bug was a race condition, fixed by adding a mutex")
11
+ - brain("React vs Vue for the new project?")
package/assets/CLAUDE.md CHANGED
@@ -1,29 +1,29 @@
1
- # Claude Brain
2
-
3
- You have persistent memory via the `brain` tool. It remembers across sessions.
4
-
5
- ## Session Start
6
- At the beginning of significant work sessions, check what you know:
7
- - `brain("What do I know about this project?")` — recalls past decisions, preferences, lessons
8
-
9
- ## During Work
10
- Call brain when you make or encounter something worth remembering:
11
- - Decisions: `brain("I decided to use JWT over sessions because the app is stateless")`
12
- - Mistakes: `brain("The bug was caused by missing CORS credentials — fixed with credentials: include")`
13
- - Preferences: `brain("User prefers explicit error messages over generic 500s")`
14
- - Updates: `brain("Changed my mind, use Postgres instead of MySQL")`
15
-
16
- ## Session End
17
- Before finishing significant work, store a 2-3 sentence summary:
18
- - `brain("Session summary: Built auth flow for expense tracker. Chose JWT for stateless architecture. Hit CORS issue on /api/login, fixed with credentials: include. User prefers Tailwind and explicit error handling.")`
19
-
20
- ## What NOT to store
21
- - File paths or creation events (captured automatically)
22
- - Progress like "read file X" or "ran tests" (too granular)
23
- - Anything already in the codebase (just read the code)
24
-
25
- ## Background
26
- Tool events are captured automatically via invisible PostToolUse/Stop hooks
27
- in ~/.claude/settings.json. These hooks capture installs, git commits, and
28
- build failures without any explicit brain() call. Your job is to add the
29
- WHY — the reasoning, preferences, and lessons that hooks cannot see.
1
+ # Claude Brain
2
+
3
+ You have persistent memory via the `brain` tool. It remembers across sessions.
4
+
5
+ ## Session Start
6
+ At the beginning of significant work sessions, check what you know:
7
+ - `brain("What do I know about this project?")` — recalls past decisions, preferences, lessons
8
+
9
+ ## During Work
10
+ Call brain when you make or encounter something worth remembering:
11
+ - Decisions: `brain("I decided to use JWT over sessions because the app is stateless")`
12
+ - Mistakes: `brain("The bug was caused by missing CORS credentials — fixed with credentials: include")`
13
+ - Preferences: `brain("User prefers explicit error messages over generic 500s")`
14
+ - Updates: `brain("Changed my mind, use Postgres instead of MySQL")`
15
+
16
+ ## Session End
17
+ Before finishing significant work, store a 2-3 sentence summary:
18
+ - `brain("Session summary: Built auth flow for expense tracker. Chose JWT for stateless architecture. Hit CORS issue on /api/login, fixed with credentials: include. User prefers Tailwind and explicit error handling.")`
19
+
20
+ ## What NOT to store
21
+ - File paths or creation events (captured automatically)
22
+ - Progress like "read file X" or "ran tests" (too granular)
23
+ - Anything already in the codebase (just read the code)
24
+
25
+ ## Background
26
+ Tool events are captured automatically via invisible PostToolUse/Stop hooks
27
+ in ~/.claude/settings.json. These hooks capture installs, git commits, and
28
+ build failures without any explicit brain() call. Your job is to add the
29
+ WHY — the reasoning, preferences, and lessons that hooks cannot see.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-brain",
3
- "version": "0.30.2",
3
+ "version": "0.30.3",
4
4
  "description": "Local development assistant bridging Obsidian vaults with Claude Code via MCP",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -50,6 +50,10 @@
50
50
  ],
51
51
  "author": "",
52
52
  "license": "MIT",
53
+ "repository": {
54
+ "type": "git",
55
+ "url": "git+https://github.com/DemGun101/2nd-Brain.git"
56
+ },
53
57
  "publishConfig": {
54
58
  "access": "public"
55
59
  },
@@ -63,7 +67,7 @@
63
67
  },
64
68
  "dependencies": {
65
69
  "@chroma-core/default-embed": "0.1.9",
66
- "@modelcontextprotocol/sdk": "^1.25.2",
70
+ "@modelcontextprotocol/sdk": "1.26.0",
67
71
  "@xenova/transformers": "2.17.2",
68
72
  "chalk": "5.6.2",
69
73
  "chromadb": "3.2.2",
@@ -72,7 +76,7 @@
72
76
  "compromise": "^14.10.0",
73
77
  "dotenv": "^17.2.3",
74
78
  "gray-matter": "^4.0.3",
75
- "hono": "4.11.5",
79
+ "hono": "4.11.9",
76
80
  "lru-cache": "11.2.5",
77
81
  "minisearch": "^6.3.0",
78
82
  "onnxruntime-web": "1.24.1",