@agentbrain/mcp-server 1.4.41 → 1.4.56

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.
@@ -1 +1 @@
1
- {"version":3,"file":"load-context.d.ts","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAA;AAYzB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACxC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqHrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAkB7B,CAAA"}
1
+ {"version":3,"file":"load-context.d.ts","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,iBAAiB,EAKvB,MAAM,kBAAkB,CAAA;AAazB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACxC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2NrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAkB7B,CAAA"}
@@ -1,9 +1,10 @@
1
1
  // MCP tool: load_context - load context docs at session start
2
- import { readFile } from 'node:fs/promises';
2
+ import { readFile, writeFile } from 'node:fs/promises';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { join, resolve } from 'node:path';
5
5
  import { homedir } from 'node:os';
6
- import { loadAIConfig, generateContext, getCachedDoc, getGitHash, loadCache, getPendingDoomForMCP, } from '@agentbrain/core';
6
+ import { loadAIConfig, generateContext, getCachedDoc, getGitHash, loadCache, getPendingDoomForMCP, ensureGitignore, installPostCommitHook, isGitRepository, createAgentFilesShared, } from '@agentbrain/core';
7
+ import { setupRepo } from './setup-repo.js';
7
8
  /**
8
9
  * Expand path: handles ~, relative paths, etc.
9
10
  */
@@ -31,6 +32,57 @@ export async function loadContext(input) {
31
32
  const depMap = await readFile(depMapPath, 'utf-8');
32
33
  const patterns = await readFile(patternsPath, 'utf-8');
33
34
  const combined = `# Repository Context\n\n${context}\n\n---\n\n# Dependency Map\n\n${depMap}\n\n---\n\n# Patterns\n\n${patterns}`;
35
+ // Post-processing: If cache.json or setup-source.json is missing, agent wrote files directly
36
+ const cachePath = join(contextDir, 'cache.json');
37
+ const setupSourcePath = join(contextDir, 'setup-source.json');
38
+ const cacheExists = existsSync(cachePath);
39
+ const setupSourceExists = existsSync(setupSourcePath);
40
+ if (!cacheExists || !setupSourceExists) {
41
+ // Agent wrote files directly — run post-processing
42
+ try {
43
+ // Write cache.json
44
+ if (!cacheExists) {
45
+ const cache = {
46
+ gitHash: currentGitHash,
47
+ docs: {
48
+ context: {
49
+ type: 'context',
50
+ content: context,
51
+ savedAt: new Date().toISOString(),
52
+ },
53
+ 'dependency-map': {
54
+ type: 'dependency-map',
55
+ content: depMap,
56
+ savedAt: new Date().toISOString(),
57
+ },
58
+ patterns: {
59
+ type: 'patterns',
60
+ content: patterns,
61
+ savedAt: new Date().toISOString(),
62
+ },
63
+ },
64
+ savedAt: new Date().toISOString(),
65
+ };
66
+ await writeFile(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
67
+ }
68
+ // Write setup-source.json
69
+ if (!setupSourceExists) {
70
+ await writeFile(setupSourcePath, JSON.stringify({ source: 'mcp', setupAt: new Date().toISOString() }, null, 2), 'utf-8');
71
+ }
72
+ // Update .gitignore
73
+ await ensureGitignore(expandedPath);
74
+ // Install git hook if this is a git repository
75
+ if (isGitRepository(expandedPath)) {
76
+ await installPostCommitHook(expandedPath);
77
+ }
78
+ // Create agent files
79
+ await createAgentFilesShared(expandedPath);
80
+ console.error('[load_context] Post-processing completed for manually-written files');
81
+ }
82
+ catch (err) {
83
+ console.error('[load_context] Post-processing failed:', err);
84
+ }
85
+ }
34
86
  // Check if cached git hash matches current HEAD
35
87
  const cache = await loadCache(expandedPath);
36
88
  const isStale = cache && cache.gitHash !== currentGitHash;
@@ -79,14 +131,52 @@ export async function loadContext(input) {
79
131
  aiConfig = await loadAIConfig();
80
132
  }
81
133
  catch {
82
- // No API key configured - return bootstrap instructions
134
+ // No API key configured - call setupRepo internally and return friendly message
135
+ const setupData = await setupRepo({ repo_path: expandedPath });
136
+ // Format file tree
137
+ const fileTreeSection = `\n## 📁 Repository Structure\n\n${setupData.file_tree}\n`;
138
+ // Format key files (truncate for readability)
139
+ const keyFilesSection = `\n## 🔑 Key Files Found\n\n${setupData.key_files.slice(0, 10).map(f => {
140
+ const preview = f.content.slice(0, 300);
141
+ return `**${f.path}**\n\`\`\`\n${preview}${f.content.length > 300 ? '\n...(truncated)' : ''}\n\`\`\``;
142
+ }).join('\n\n')}`;
143
+ const friendlyMessage = `👋 Looks like this is your first time setting up AgentBrain for this repo! Let me help you get started.
144
+
145
+ I've scanned your repository and found ${setupData.key_files.length} key files. Now I need you to analyze the code and create three context documents:
146
+
147
+ ${fileTreeSection}
148
+ ${keyFilesSection}
149
+
150
+ ## 📝 What I Need You To Create
151
+
152
+ Based on the files above, please generate these three documents:
153
+
154
+ **1. context.md** - Architecture overview covering:
155
+ - What this codebase does (product purpose)
156
+ - Tech stack and key frameworks
157
+ - Repository structure and main directories
158
+ - Entry points and core flows
159
+
160
+ **2. dependency-map.md** - Dependency relationships covering:
161
+ - How modules/services relate to each other
162
+ - Data flow through the system
163
+ - External dependencies and their purposes
164
+
165
+ **3. patterns.md** - Coding patterns covering:
166
+ - Code conventions used consistently
167
+ - How new features should be structured
168
+ - Error handling approaches
169
+ - Important patterns developers should follow
170
+
171
+ Once you've created these documents, call **save_context()** with:
172
+ - context: [your context.md content]
173
+ - dependency_map: [your dependency-map.md content]
174
+ - patterns: [your patterns.md content]
175
+ - repo_path: "${expandedPath}"
176
+
177
+ ${setupData.hook_installed ? '\n✅ Git hook installed - context will auto-update after commits!' : '\n⚠️ Git hook installation failed - you may need to run setup again.'}`;
83
178
  return {
84
- content: 'No context found for this repository. To set up context without an API key:\n\n' +
85
- '1. Call setup_repo() to scan the repo and get instructions\n' +
86
- '2. Generate the three context documents based on what setup_repo returns\n' +
87
- '3. Call save_context() with your generated content\n\n' +
88
- 'After that, load_context will work instantly with no API key needed.\n\n' +
89
- 'Alternative: Run `agentbrain setup` in your terminal (requires API key, one-time ~$0.03)',
179
+ content: friendlyMessage,
90
180
  fromCache: false,
91
181
  tokensUsed: 0,
92
182
  doom_warning: null,
@@ -113,7 +203,7 @@ export async function loadContext(input) {
113
203
  }
114
204
  export const loadContextSchema = {
115
205
  name: 'load_context',
116
- description: 'Load combined context documentation (context.md + dependency-map.md + patterns.md). Reads from disk if files exist (no API key needed). Only generates new context if files missing (requires API key). Cached by git hash - repeat calls are free.',
206
+ description: 'Load codebase context. If first time setup, automatically scans repo and returns file tree + key files with friendly instructions. Agent then generates context documents. No API key needed.',
117
207
  inputSchema: {
118
208
  type: 'object',
119
209
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"load-context.js","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-context.js","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"save-context.d.ts","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5D,OAAO,EAAE,MAAM,CAAA;CAChB;AAgGD,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4HrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CA0B7B,CAAA"}
1
+ {"version":3,"file":"save-context.d.ts","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5D,OAAO,EAAE,MAAM,CAAA;CAChB;AAgGD,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmIrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CA0B7B,CAAA"}
@@ -140,71 +140,72 @@ export async function saveContext(input) {
140
140
  };
141
141
  await writeFile(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
142
142
  filesWritten.push('.agentbrain/cache.json');
143
- // Step 4: Update .gitignore
144
- await ensureGitignore(expandedPath);
145
- // Step 5 & 6: Create agent files based on directory detection
143
+ // Write setup-source marker for git hook behavior
144
+ const setupSourcePath = join(contextDir, 'setup-source.json');
145
+ await writeFile(setupSourcePath, JSON.stringify({ source: 'mcp', setupAt: new Date().toISOString() }, null, 2), 'utf-8');
146
+ filesWritten.push('.agentbrain/setup-source.json');
147
+ // Step 4: Update .gitignore AFTER .agentbrain/ directory and all files are confirmed to exist
148
+ // (context.md, dependency-map.md, patterns.md, cache.json, setup-source.json)
149
+ try {
150
+ await ensureGitignore(expandedPath);
151
+ console.error('[save_context] .gitignore updated');
152
+ }
153
+ catch (err) {
154
+ console.error('[save_context] .gitignore update failed:', err);
155
+ }
156
+ // Step 5 & 6: Create agent files with exclusive detection
157
+ // Only ONE agent file should be created/updated based on what exists
146
158
  const modernContent = getAgentFileContent(true);
147
159
  const legacyContent = getAgentFileContent(false);
148
160
  let message = '';
149
- // CURSOR: Check if .cursor/ directory exists
150
- const cursorDirExists = existsSync(join(expandedPath, '.cursor'));
151
- if (cursorDirExists) {
152
- // Modern Cursor: ONLY create .cursor/rules/agentbrain.mdc
153
- const modernPath = join(expandedPath, '.cursor', 'rules', 'agentbrain.mdc');
154
- const modernDir = join(expandedPath, '.cursor', 'rules');
155
- if (!existsSync(modernDir)) {
156
- await mkdir(modernDir, { recursive: true });
157
- }
158
- await updateOrAppendAgentSection(modernPath, modernContent);
161
+ // Define all paths
162
+ const cursorrules = join(expandedPath, '.cursorrules');
163
+ const cursorRulesDir = join(expandedPath, '.cursor', 'rules');
164
+ const cursorModernFile = join(cursorRulesDir, 'agentbrain.mdc');
165
+ const windsurfrules = join(expandedPath, '.windsurfrules');
166
+ const windsurfRulesDir = join(expandedPath, '.windsurf', 'rules');
167
+ const windsurfModernFile = join(windsurfRulesDir, 'agentbrain.md');
168
+ const claudePath = join(expandedPath, 'CLAUDE.md');
169
+ // Exclusive if/else if/else - stop after first match
170
+ if (existsSync(cursorrules)) {
171
+ // Legacy Cursor file exists
172
+ await updateOrAppendAgentSection(cursorrules, legacyContent);
173
+ filesWritten.push('.cursorrules');
174
+ message = 'Updated existing .cursorrules';
175
+ }
176
+ else if (existsSync(cursorRulesDir)) {
177
+ // Modern Cursor directory exists
178
+ await updateOrAppendAgentSection(cursorModernFile, modernContent);
159
179
  filesWritten.push('.cursor/rules/agentbrain.mdc');
160
- message = 'Detected Cursor (.cursor/ directory found). Created/updated .cursor/rules/agentbrain.mdc';
180
+ message = 'Updated .cursor/rules/agentbrain.mdc';
161
181
  }
162
- else {
163
- // Legacy Cursor: ONLY create .cursorrules
164
- const legacyPath = join(expandedPath, '.cursorrules');
165
- await updateOrAppendAgentSection(legacyPath, legacyContent);
166
- filesWritten.push('.cursorrules');
167
- message = 'Created/updated .cursorrules';
168
- }
169
- // WINDSURF: Check if .windsurf/ directory exists
170
- const windsurfDirExists = existsSync(join(expandedPath, '.windsurf'));
171
- if (windsurfDirExists) {
172
- // Modern Windsurf: ONLY create .windsurf/rules/agentbrain.md
173
- const modernPath = join(expandedPath, '.windsurf', 'rules', 'agentbrain.md');
174
- const modernDir = join(expandedPath, '.windsurf', 'rules');
175
- if (!existsSync(modernDir)) {
176
- await mkdir(modernDir, { recursive: true });
177
- }
178
- await updateOrAppendAgentSection(modernPath, legacyContent); // Windsurf uses plain markdown
182
+ else if (existsSync(windsurfRulesDir)) {
183
+ // Modern Windsurf directory exists
184
+ await updateOrAppendAgentSection(windsurfModernFile, legacyContent);
179
185
  filesWritten.push('.windsurf/rules/agentbrain.md');
180
- if (message)
181
- message += '; ';
182
- message += 'Detected Windsurf (.windsurf/ directory found). Created/updated .windsurf/rules/agentbrain.md';
186
+ message = 'Updated .windsurf/rules/agentbrain.md';
183
187
  }
184
- else {
185
- // Legacy Windsurf: ONLY create .windsurfrules
186
- const legacyPath = join(expandedPath, '.windsurfrules');
187
- await updateOrAppendAgentSection(legacyPath, legacyContent);
188
+ else if (existsSync(windsurfrules)) {
189
+ // Legacy Windsurf file exists
190
+ await updateOrAppendAgentSection(windsurfrules, legacyContent);
188
191
  filesWritten.push('.windsurfrules');
189
- if (message)
190
- message += '; ';
191
- message += 'Created/updated .windsurfrules';
192
+ message = 'Updated existing .windsurfrules';
193
+ }
194
+ else if (existsSync(claudePath)) {
195
+ // Claude file exists
196
+ await updateOrAppendAgentSection(claudePath, legacyContent);
197
+ filesWritten.push('CLAUDE.md');
198
+ message = 'Updated existing CLAUDE.md';
199
+ }
200
+ else {
201
+ // Nothing detected - default to modern Cursor
202
+ await mkdir(cursorRulesDir, { recursive: true });
203
+ await updateOrAppendAgentSection(cursorModernFile, modernContent);
204
+ filesWritten.push('.cursor/rules/agentbrain.mdc');
205
+ message = 'Created .cursor/rules/agentbrain.mdc (modern format)';
192
206
  }
193
- // CLAUDE: Always create/update CLAUDE.md
194
- const claudePath = join(expandedPath, 'CLAUDE.md');
195
- await updateOrAppendAgentSection(claudePath, legacyContent);
196
- filesWritten.push('CLAUDE.md');
197
- if (message)
198
- message += '; ';
199
- message += 'Created/updated CLAUDE.md';
200
207
  // Determine agent type for response
201
- let detectedAgent = 'unknown';
202
- if (cursorDirExists)
203
- detectedAgent = 'cursor';
204
- else if (windsurfDirExists)
205
- detectedAgent = 'windsurf';
206
- else if (existsSync(join(expandedPath, 'CLAUDE.md')))
207
- detectedAgent = 'claude';
208
+ let detectedAgent = detectAgentType(expandedPath);
208
209
  return {
209
210
  success: true,
210
211
  files_written: filesWritten,
@@ -1 +1 @@
1
- {"version":3,"file":"save-context.js","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save-context.js","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-repo.d.ts","sourceRoot":"","sources":["../../src/tools/setup-repo.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IACF,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAoE/E;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAc3B,CAAA"}
1
+ {"version":3,"file":"setup-repo.d.ts","sourceRoot":"","sources":["../../src/tools/setup-repo.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IACF,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA4F/E;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAc3B,CAAA"}
@@ -38,32 +38,56 @@ export async function setupRepo(input) {
38
38
  try {
39
39
  await installPostCommitHook(expandedPath);
40
40
  hookInstalled = true;
41
+ console.error('[setup_repo] Hook installed successfully');
41
42
  }
42
- catch {
43
- // Hook installation failed silently — not critical
43
+ catch (err) {
44
44
  hookInstalled = false;
45
+ console.error('[setup_repo] Hook installation failed:', err);
45
46
  }
46
47
  }
47
- // Instructions for the agent - vary based on hook installation
48
- const hookNote = hookInstalled
49
- ? '\n\nGit hook installed. Context will auto-refresh after every commit — no manual updates needed.'
50
- : '\n\nGit hook could not be installed. You can manually refresh context by calling setup_repo() again.';
51
- const instructions = `Based on the file tree and key files above, generate:
48
+ const instructions = `You MUST follow these exact steps in order.
49
+ Do not deviate. Do not skip steps. Do not generate files yourself.
52
50
 
53
- 1. context.md Architecture overview, key modules, entry points, what the codebase does, tech stack
51
+ STEP 1: Read the file tree and key files above carefully.
54
52
 
55
- 2. dependency-map.md How modules relate to each other, data flow, service relationships
53
+ STEP 2: Generate exactly THREE documents based on what you read:
56
54
 
57
- 3. patterns.mdCoding conventions, patterns used, naming conventions, error handling approach
55
+ DOCUMENT 1context.md
56
+ Write a concise architecture overview covering:
57
+ - What this codebase does (product purpose)
58
+ - Tech stack (frameworks, databases, key libraries)
59
+ - Repository layout (key directories and what they contain)
60
+ - Main entry points
61
+ - Key flows (how data moves through the system)
58
62
 
59
- Then call save_context() with all three documents.
63
+ DOCUMENT 2 dependency-map.md
64
+ Write a dependency and data flow overview covering:
65
+ - How modules/services relate to each other
66
+ - Request flow (from entry point to database)
67
+ - External dependencies and integrations
68
+ - What calls what
60
69
 
61
- Guidelines:
62
- - Be concise but thorough
63
- - Focus on what's unique to this codebase
64
- - Include specific file paths and module names
65
- - Identify the main entry points and core business logic
66
- - Note any important patterns or conventions used consistently${hookNote}`;
70
+ DOCUMENT 3 — patterns.md
71
+ Write a coding patterns and conventions guide covering:
72
+ - Code style and conventions used consistently
73
+ - How new features should be structured
74
+ - Error handling patterns
75
+ - Authentication/authorization patterns
76
+ - Anything a new developer must know to write code that fits
77
+
78
+ STEP 3: Call save_context() with ALL THREE documents.
79
+ Use these exact parameter names:
80
+ - context: [your context.md content]
81
+ - dependency_map: [your dependency-map.md content]
82
+ - patterns: [your patterns.md content]
83
+ - repo_path: "${expandedPath}"
84
+
85
+ STEP 4: Call load_context() with repo_path: "${expandedPath}"
86
+ to confirm context loads successfully from cache.
87
+
88
+ ${hookInstalled
89
+ ? 'Git hook installed. Context will auto-refresh after every commit.'
90
+ : 'Git hook could not be installed. Call setup_repo() again to retry.'}`;
67
91
  return {
68
92
  repo_path: expandedPath,
69
93
  file_tree: fileTree,
@@ -1 +1 @@
1
- {"version":3,"file":"setup-repo.js","sourceRoot":"","sources":["../../src/tools/setup-repo.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAqB;IACnD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAE3B,gDAAgD;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAE1C,4CAA4C;IAC5C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;IAEvE,gCAAgC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,kDAAkD;IAClD,MAAM,QAAQ,GAA6C,EAAE,CAAA;IAE7D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAA;YACzC,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;YACnD,aAAa,GAAG,KAAK,CAAA;QACvB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,kGAAkG;QACpG,CAAC,CAAC,sGAAsG,CAAA;IAE1G,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;gEAeyC,QAAQ,EAAE,CAAA;IAExE,OAAO;QACL,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE,aAAa;QAC7B,YAAY;KACb,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,+LAA+L;IACjM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAA"}
1
+ {"version":3,"file":"setup-repo.js","sourceRoot":"","sources":["../../src/tools/setup-repo.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAqB;IACnD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAE3B,gDAAgD;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAE1C,4CAA4C;IAC5C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;IAEvE,gCAAgC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,kDAAkD;IAClD,MAAM,QAAQ,GAA6C,EAAE,CAAA;IAE7D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAA;YACzC,aAAa,GAAG,IAAI,CAAA;YACpB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,GAAG,KAAK,CAAA;YACrB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmCL,YAAY;;+CAEiB,YAAY;;;EAGzD,aAAa;QACb,CAAC,CAAC,mEAAmE;QACrE,CAAC,CAAC,oEACJ,EAAE,CAAA;IAEA,OAAO;QACL,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE,aAAa;QAC7B,YAAY;KACb,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,+LAA+L;IACjM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentbrain/mcp-server",
3
- "version": "1.4.41",
3
+ "version": "1.4.56",
4
4
  "description": "Model Context Protocol server for AgentBrain - connect Claude, Cursor, and Windsurf to repository intelligence",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",