responsible-vibe-mcp 4.2.7 → 4.3.0
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/package.json +2 -2
- package/packages/cli/dist/config-generator.d.ts +9 -0
- package/packages/cli/dist/config-generator.js +81 -15
- package/packages/cli/dist/config-generator.js.map +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/core/package.json +1 -1
- package/packages/docs/.vitepress/dist/404.html +1 -1
- package/packages/docs/.vitepress/dist/assets/{user_agent-setup.md.D83zBT0R.js → user_agent-setup.md.B33VzNQF.js} +1 -1
- package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +1 -1
- package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +1 -1
- package/packages/docs/.vitepress/dist/dev/LOGGING.html +1 -1
- package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +1 -1
- package/packages/docs/.vitepress/dist/hashmap.json +1 -1
- package/packages/docs/.vitepress/dist/index.html +1 -1
- package/packages/docs/.vitepress/dist/user/advanced-engineering.html +1 -1
- package/packages/docs/.vitepress/dist/user/agent-setup.html +3 -3
- package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +1 -1
- package/packages/docs/.vitepress/dist/user/custom-workflows.html +1 -1
- package/packages/docs/.vitepress/dist/user/git-commit-feature.html +1 -1
- package/packages/docs/.vitepress/dist/user/how-it-works.html +1 -1
- package/packages/docs/.vitepress/dist/user/long-term-memory.html +1 -1
- package/packages/docs/.vitepress/dist/user/tutorial.html +1 -1
- package/packages/docs/.vitepress/dist/user/workflow-selection.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/adr.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/bugfix.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/business-analysis.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/epcc.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/game-beginner.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/greenfield.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/minor.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/posts.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/slides.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/tdd.html +1 -1
- package/packages/docs/.vitepress/dist/workflows/waterfall.html +1 -1
- package/packages/docs/.vitepress/dist/workflows.html +1 -1
- package/packages/docs/package.json +1 -1
- package/packages/mcp-server/package.json +1 -1
- package/packages/visualizer/package.json +1 -1
- /package/packages/docs/.vitepress/dist/assets/{user_agent-setup.md.D83zBT0R.lean.js → user_agent-setup.md.B33VzNQF.lean.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "responsible-vibe-mcp",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "A Model Context Protocol server that acts as an intelligent conversation state manager and development guide for LLMs, featuring comprehensive long-term memory with persistent project artifacts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "packages/cli/dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@types/js-yaml": "4.0.9",
|
|
33
33
|
"js-yaml": "4.1.0",
|
|
34
34
|
"zod": "^3.25.76",
|
|
35
|
-
"@codemcp/workflows-core": "4.
|
|
35
|
+
"@codemcp/workflows-core": "4.3.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@modelcontextprotocol/inspector": "0.16.8",
|
|
@@ -5,7 +5,16 @@
|
|
|
5
5
|
* for different AI coding agents (Amazon Q, Claude Code, Gemini CLI).
|
|
6
6
|
* Each agent has its own generator class with single responsibility.
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Deep merge two objects, with values from source taking precedence
|
|
10
|
+
* Arrays are replaced, not merged
|
|
11
|
+
*/
|
|
12
|
+
declare function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): Record<string, unknown>;
|
|
8
13
|
/**
|
|
9
14
|
* Main function to generate configuration for specified agent
|
|
10
15
|
*/
|
|
11
16
|
export declare function generateConfig(agent: string, outputDir?: string): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Export deepMerge for testing
|
|
19
|
+
*/
|
|
20
|
+
export { deepMerge };
|
|
@@ -5,10 +5,42 @@
|
|
|
5
5
|
* for different AI coding agents (Amazon Q, Claude Code, Gemini CLI).
|
|
6
6
|
* Each agent has its own generator class with single responsibility.
|
|
7
7
|
*/
|
|
8
|
-
import { writeFile, mkdir } from 'node:fs/promises';
|
|
8
|
+
import { writeFile, mkdir, readFile } from 'node:fs/promises';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
|
+
import { existsSync } from 'node:fs';
|
|
10
11
|
import { generateSystemPrompt } from '@codemcp/workflows-core';
|
|
11
12
|
import { StateMachineLoader } from '@codemcp/workflows-core';
|
|
13
|
+
/**
|
|
14
|
+
* Deep merge two objects, with values from source taking precedence
|
|
15
|
+
* Arrays are replaced, not merged
|
|
16
|
+
*/
|
|
17
|
+
function deepMerge(target, source) {
|
|
18
|
+
if (!source || typeof source !== 'object') {
|
|
19
|
+
return source;
|
|
20
|
+
}
|
|
21
|
+
if (!target || typeof target !== 'object') {
|
|
22
|
+
return source;
|
|
23
|
+
}
|
|
24
|
+
const result = { ...target };
|
|
25
|
+
for (const key of Object.keys(source)) {
|
|
26
|
+
const sourceValue = source[key];
|
|
27
|
+
const targetValue = target[key];
|
|
28
|
+
if (sourceValue &&
|
|
29
|
+
typeof sourceValue === 'object' &&
|
|
30
|
+
!Array.isArray(sourceValue) &&
|
|
31
|
+
targetValue &&
|
|
32
|
+
typeof targetValue === 'object' &&
|
|
33
|
+
!Array.isArray(targetValue)) {
|
|
34
|
+
// Recursively merge nested objects
|
|
35
|
+
result[key] = deepMerge(targetValue, sourceValue);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// For primitives, arrays, or null values, use source value
|
|
39
|
+
result[key] = sourceValue;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
12
44
|
/**
|
|
13
45
|
* Abstract base class for configuration generators
|
|
14
46
|
*/
|
|
@@ -40,6 +72,27 @@ class ConfigGenerator {
|
|
|
40
72
|
throw new Error(`Failed to write file ${filePath}: ${error}`);
|
|
41
73
|
}
|
|
42
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Read and merge with existing JSON config file if it exists
|
|
77
|
+
* Returns merged config with new config taking precedence
|
|
78
|
+
*/
|
|
79
|
+
async mergeWithExistingConfig(filePath, newConfig) {
|
|
80
|
+
if (!existsSync(filePath)) {
|
|
81
|
+
return newConfig;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const existingContent = await readFile(filePath, 'utf-8');
|
|
85
|
+
const existingConfig = JSON.parse(existingContent);
|
|
86
|
+
console.log('✓ Merged with existing configuration');
|
|
87
|
+
return deepMerge(existingConfig, newConfig);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if (error instanceof SyntaxError) {
|
|
91
|
+
throw new Error(`Existing ${filePath} contains invalid JSON. Please fix the file or remove it to generate a new configuration. Error: ${error.message}`);
|
|
92
|
+
}
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
43
96
|
/**
|
|
44
97
|
* We'll be using the reduced deployable which only contains the mcp server, not the CLI
|
|
45
98
|
* On Windows, npx commands need to be prefixed with "cmd /c"
|
|
@@ -71,12 +124,13 @@ class ConfigGenerator {
|
|
|
71
124
|
/**
|
|
72
125
|
* Amazon Q Configuration Generator
|
|
73
126
|
* Generates a single comprehensive JSON file
|
|
127
|
+
* Merges with existing configuration instead of overwriting
|
|
74
128
|
*/
|
|
75
129
|
class AmazonQConfigGenerator extends ConfigGenerator {
|
|
76
130
|
async generate(outputDir) {
|
|
77
131
|
const systemPrompt = this.getSystemPrompt();
|
|
78
132
|
const mcpServers = this.getDefaultMcpConfig();
|
|
79
|
-
const
|
|
133
|
+
const newConfig = {
|
|
80
134
|
name: 'vibe',
|
|
81
135
|
description: 'Responsible vibe development',
|
|
82
136
|
prompt: systemPrompt,
|
|
@@ -122,27 +176,30 @@ class AmazonQConfigGenerator extends ConfigGenerator {
|
|
|
122
176
|
const amazonqDir = join(outputDir, '.amazonq', 'cli-agents');
|
|
123
177
|
await mkdir(amazonqDir, { recursive: true });
|
|
124
178
|
const configPath = join(amazonqDir, 'vibe.json');
|
|
125
|
-
await this.
|
|
179
|
+
const finalConfig = await this.mergeWithExistingConfig(configPath, newConfig);
|
|
180
|
+
await this.writeFile(configPath, JSON.stringify(finalConfig, null, 2));
|
|
126
181
|
}
|
|
127
182
|
}
|
|
128
183
|
/**
|
|
129
184
|
* Claude Code Configuration Generator
|
|
130
185
|
* Generates multiple files: CLAUDE.md, .mcp.json, settings.json
|
|
186
|
+
* Merges with existing configuration instead of overwriting
|
|
131
187
|
*/
|
|
132
188
|
class ClaudeConfigGenerator extends ConfigGenerator {
|
|
133
189
|
async generate(outputDir) {
|
|
134
190
|
const systemPrompt = this.getSystemPrompt();
|
|
135
191
|
const mcpServers = this.getDefaultMcpConfig();
|
|
136
|
-
// Generate CLAUDE.md (system prompt)
|
|
192
|
+
// Generate CLAUDE.md (system prompt) - always overwrite as it's generated content
|
|
137
193
|
const claudeMdPath = join(outputDir, 'CLAUDE.md');
|
|
138
194
|
await this.writeFile(claudeMdPath, systemPrompt);
|
|
139
|
-
// Generate .mcp.json (MCP server configuration)
|
|
195
|
+
// Generate .mcp.json (MCP server configuration) - merge with existing
|
|
140
196
|
const mcpConfig = {
|
|
141
197
|
mcpServers: mcpServers,
|
|
142
198
|
};
|
|
143
199
|
const mcpJsonPath = join(outputDir, '.mcp.json');
|
|
144
|
-
await this.
|
|
145
|
-
|
|
200
|
+
const finalMcpConfig = await this.mergeWithExistingConfig(mcpJsonPath, mcpConfig);
|
|
201
|
+
await this.writeFile(mcpJsonPath, JSON.stringify(finalMcpConfig, null, 2));
|
|
202
|
+
// Generate settings.json (permissions and security) - merge with existing
|
|
146
203
|
const settings = {
|
|
147
204
|
permissions: {
|
|
148
205
|
allow: [
|
|
@@ -159,19 +216,21 @@ class ClaudeConfigGenerator extends ConfigGenerator {
|
|
|
159
216
|
},
|
|
160
217
|
};
|
|
161
218
|
const settingsPath = join(outputDir, 'settings.json');
|
|
162
|
-
await this.
|
|
219
|
+
const finalSettings = await this.mergeWithExistingConfig(settingsPath, settings);
|
|
220
|
+
await this.writeFile(settingsPath, JSON.stringify(finalSettings, null, 2));
|
|
163
221
|
}
|
|
164
222
|
}
|
|
165
223
|
/**
|
|
166
224
|
* Gemini CLI Configuration Generator
|
|
167
225
|
* Generates settings.json and GEMINI.md
|
|
226
|
+
* Merges with existing configuration instead of overwriting
|
|
168
227
|
*/
|
|
169
228
|
class GeminiConfigGenerator extends ConfigGenerator {
|
|
170
229
|
async generate(outputDir) {
|
|
171
230
|
const systemPrompt = this.getSystemPrompt();
|
|
172
231
|
const mcpServers = this.getDefaultMcpConfig();
|
|
173
232
|
const allowedTools = this.getDefaultAllowedTools();
|
|
174
|
-
// Generate settings.json (comprehensive configuration)
|
|
233
|
+
// Generate settings.json (comprehensive configuration) - merge with existing
|
|
175
234
|
const settings = {
|
|
176
235
|
contextFileName: 'GEMINI.md',
|
|
177
236
|
autoAccept: false,
|
|
@@ -192,8 +251,9 @@ class GeminiConfigGenerator extends ConfigGenerator {
|
|
|
192
251
|
hideBanner: false,
|
|
193
252
|
};
|
|
194
253
|
const settingsPath = join(outputDir, 'settings.json');
|
|
195
|
-
await this.
|
|
196
|
-
|
|
254
|
+
const finalSettings = await this.mergeWithExistingConfig(settingsPath, settings);
|
|
255
|
+
await this.writeFile(settingsPath, JSON.stringify(finalSettings, null, 2));
|
|
256
|
+
// Generate GEMINI.md (context/prompt file) - always overwrite as it's generated content
|
|
197
257
|
const geminiMdContent = `# Vibe Development Agent
|
|
198
258
|
|
|
199
259
|
${systemPrompt}
|
|
@@ -214,12 +274,14 @@ ${allowedTools.map(tool => `- ${tool}`).join('\n')}
|
|
|
214
274
|
/**
|
|
215
275
|
* OpenCode Configuration Generator
|
|
216
276
|
* Generates opencode.json with agent configuration and MCP server setup
|
|
277
|
+
* Merges with existing configuration instead of overwriting
|
|
217
278
|
*/
|
|
218
279
|
class OpencodeConfigGenerator extends ConfigGenerator {
|
|
219
280
|
async generate(outputDir) {
|
|
220
281
|
const systemPrompt = this.getSystemPrompt();
|
|
221
|
-
|
|
222
|
-
|
|
282
|
+
const configPath = join(outputDir, 'opencode.json');
|
|
283
|
+
// Generate new config structure
|
|
284
|
+
const newConfig = {
|
|
223
285
|
$schema: 'https://opencode.ai/config.json',
|
|
224
286
|
mcp: {
|
|
225
287
|
'responsible-vibe-mcp': {
|
|
@@ -244,8 +306,8 @@ class OpencodeConfigGenerator extends ConfigGenerator {
|
|
|
244
306
|
},
|
|
245
307
|
},
|
|
246
308
|
};
|
|
247
|
-
const
|
|
248
|
-
await this.writeFile(configPath, JSON.stringify(
|
|
309
|
+
const finalConfig = await this.mergeWithExistingConfig(configPath, newConfig);
|
|
310
|
+
await this.writeFile(configPath, JSON.stringify(finalConfig, null, 2));
|
|
249
311
|
}
|
|
250
312
|
}
|
|
251
313
|
/**
|
|
@@ -276,4 +338,8 @@ export async function generateConfig(agent, outputDir = '.') {
|
|
|
276
338
|
await generator.generate(outputDir);
|
|
277
339
|
console.log(`✅ Configuration generated successfully for ${agent}`);
|
|
278
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Export deepMerge for testing
|
|
343
|
+
*/
|
|
344
|
+
export { deepMerge };
|
|
279
345
|
//# sourceMappingURL=config-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../src/config-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../src/config-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D;;;GAGG;AACH,SAAS,SAAS,CAChB,MAA+B,EAC/B,MAA+B;IAE/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAEtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IACE,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,CAAC;YACD,mCAAmC;YACnC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACrB,WAAsC,EACtC,WAAsC,CACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAe,eAAe;IAM5B;;;OAGG;IACO,eAAe;QACvB,IAAI,CAAC;YACH,4DAA4D;YAC5D,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,OAAe;QACzD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,uBAAuB,CACrC,QAAgB,EAChB,SAAkC;QAElC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAGhD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,oGAAoG,KAAK,CAAC,OAAO,EAAE,CACxI,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,mBAAmB;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,sBAAsB,EAAE;oBACtB,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,2BAA2B,CAAC;iBACjD;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,sBAAsB,EAAE;gBACtB,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,2BAA2B,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,sBAAsB;QAC9B,OAAO,CAAC,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC7E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,sBAAuB,SAAQ,eAAe;IAClD,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE9C,MAAM,SAAS,GAA4B;YACzC,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,8BAA8B;YAC3C,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE;gBACL,cAAc;gBACd,SAAS;gBACT,UAAU;gBACV,cAAc;gBACd,WAAW;gBACX,UAAU;gBACV,SAAS;gBACT,uBAAuB;aACxB;YACD,YAAY,EAAE;gBACZ,SAAS;gBACT,UAAU;gBACV,kCAAkC;gBAClC,sCAAsC;gBACtC,sCAAsC;gBACtC,qCAAqC;aACtC;YACD,aAAa,EAAE;gBACb,YAAY,EAAE;oBACZ,WAAW,EAAE;wBACX;4BACE,MAAM,EAAE,UAAU;yBACnB;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE;wBACX;4BACE,MAAM,EAAE,UAAU;yBACnB;qBACF;iBACF;aACF;YACD,SAAS,EAAE,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;YAChE,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,uCAAuC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,UAAU,EACV,SAAS,CACV,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,qBAAsB,SAAQ,eAAe;IACjD,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE9C,kFAAkF;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEjD,sEAAsE;QACtE,MAAM,SAAS,GAA4B;YACzC,UAAU,EAAE,UAAU;SACvB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACvD,WAAW,EACX,SAAS,CACV,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,0EAA0E;QAC1E,MAAM,QAAQ,GAA4B;YACxC,WAAW,EAAE;gBACX,KAAK,EAAE;oBACL,sCAAsC;oBACtC,0CAA0C;oBAC1C,0CAA0C;oBAC1C,yCAAyC;oBACzC,iBAAiB;oBACjB,kBAAkB;oBAClB,mBAAmB;iBACpB;gBACD,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBAC7B,IAAI,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;aAC/D;SACF,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACtD,YAAY,EACZ,QAAQ,CACT,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,qBAAsB,SAAQ,eAAe;IACjD,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEnD,6EAA6E;QAC7E,MAAM,QAAQ,GAA4B;YACxC,eAAe,EAAE,WAAW;YAC5B,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,CAAC,sBAAsB,CAAC;YACzC,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,CAAC;YACrE,SAAS,EAAE;gBACT,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,YAAY,EAAE,uBAAuB;gBACrC,UAAU,EAAE,KAAK;aAClB;YACD,sBAAsB,EAAE,KAAK;YAC7B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACtD,YAAY,EACZ,QAAQ,CACT,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,wFAAwF;QACxF,MAAM,eAAe,GAAG;;EAE1B,YAAY;;;;;;;;;EASZ,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACjD,CAAC;QACE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,uBAAwB,SAAQ,eAAe;IACnD,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEpD,gCAAgC;QAChC,MAAM,SAAS,GAA4B;YACzC,OAAO,EAAE,iCAAiC;YAC1C,GAAG,EAAE;gBACH,sBAAsB,EAAE;oBACtB,OAAO,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC;oBACxC,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,IAAI;iBACd;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,WAAW,EACT,8DAA8D;oBAChE,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE;wBACL,uBAAuB,EAAE,IAAI;qBAC9B;oBACD,UAAU,EAAE;wBACV,wCAAwC,EAAE,KAAK;wBAC/C,wCAAwC,EAAE,KAAK;wBAC/C,uCAAuC,EAAE,KAAK;qBAC/C;iBACF;aACF;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,UAAU,EACV,SAAS,CACV,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,sBAAsB;IAC1B,MAAM,CAAC,eAAe,CAAC,KAAa;QAClC,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,KAAK,aAAa;gBAChB,OAAO,IAAI,sBAAsB,EAAE,CAAC;YACtC,KAAK,QAAQ;gBACX,OAAO,IAAI,qBAAqB,EAAE,CAAC;YACrC,KAAK,QAAQ;gBACX,OAAO,IAAI,qBAAqB,EAAE,CAAC;YACrC,KAAK,UAAU;gBACb,OAAO,IAAI,uBAAuB,EAAE,CAAC;YACvC;gBACE,MAAM,IAAI,KAAK,CACb,sBAAsB,KAAK,2DAA2D,CACvF,CAAC;QACN,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,YAAoB,GAAG;IAEvB,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,KAAK,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,sBAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="app"></div>
|
|
20
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"
|
|
20
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"B33VzNQF\",\"user_crowd-mcp-integration.md\":\"L2F3yTPt\",\"user_custom-workflows.md\":\"DyDxr2X_\",\"user_git-commit-feature.md\":\"BKn5HSBm\",\"user_how-it-works.md\":\"Cz8-c1YR\",\"user_long-term-memory.md\":\"BHVmeqSD\",\"user_tutorial.md\":\"3q3JM54h\",\"user_workflow-selection.md\":\"CDpPPRiE\",\"workflows.md\":\"DKfUCqv5\",\"workflows_adr.md\":\"WqKoCOsT\",\"workflows_big-bang-conversion.md\":\"B2uRBL_k\",\"workflows_boundary-testing.md\":\"BbV9tRHk\",\"workflows_bugfix.md\":\"B2sXKKGx\",\"workflows_business-analysis.md\":\"CcOMIlu-\",\"workflows_c4-analysis.md\":\"BvkdYdaJ\",\"workflows_epcc.md\":\"BvfhyoHC\",\"workflows_game-beginner.md\":\"Dmw0yenX\",\"workflows_greenfield.md\":\"gdHw7n8T\",\"workflows_minor.md\":\"CCpon9D_\",\"workflows_posts.md\":\"BB0Bx0Eh\",\"workflows_sdd-bugfix-crowd.md\":\"CXslslqL\",\"workflows_sdd-bugfix.md\":\"Ik57ZyHx\",\"workflows_sdd-feature-crowd.md\":\"B-Tg93H_\",\"workflows_sdd-feature.md\":\"Bc_1r0_Q\",\"workflows_sdd-greenfield-crowd.md\":\"CKxmKSuU\",\"workflows_sdd-greenfield.md\":\"BRyXknCo\",\"workflows_slides.md\":\"oNvoNIvP\",\"workflows_tdd.md\":\"tQIBQZGo\",\"workflows_waterfall.md\":\"DyNeDPq_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
21
21
|
|
|
22
22
|
</body>
|
|
23
23
|
</html>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as i,c as e,o as a,a0 as t}from"./chunks/framework.gHPOTw96.js";const k=JSON.parse('{"title":"Agent Setup Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user/agent-setup.md","filePath":"user/agent-setup.md"}'),n={name:"user/agent-setup.md"};function o(l,s,p,h,r,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`<h1 id="agent-setup-guide" tabindex="-1">Agent Setup Guide <a class="header-anchor" href="#agent-setup-guide" aria-label="Permalink to "Agent Setup Guide""></a></h1><p>This guide explains how to set up AI coding agents to work with the responsible-vibe-mcp server.</p><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to "Overview""></a></h2><p>The responsible-vibe-mcp server requires proper integration with an AI coding agent. The agent needs:</p><ol><li><strong>System Prompt Configuration</strong>: Instructions on how to use the MCP tools</li><li><strong>MCP Server Connection</strong>: Configuration to connect to the responsible-vibe-mcp server</li><li><strong>Tool Permissions</strong>: Access to call the necessary MCP tools</li></ol><h2 id="quick-setup-recommended" tabindex="-1">Quick Setup (Recommended) <a class="header-anchor" href="#quick-setup-recommended" aria-label="Permalink to "Quick Setup (Recommended)""></a></h2><p>Use the automated configuration generator for your preferred agent:</p><h3 id="amazon-q-cli" tabindex="-1">Amazon Q CLI <a class="header-anchor" href="#amazon-q-cli" aria-label="Permalink to "Amazon Q CLI""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> amazonq-cli</span></span></code></pre></div><p><strong>Creates</strong>: <code>.amazonq/cli-agents/vibe.json</code></p><h3 id="claude-code" tabindex="-1">Claude Code <a class="header-anchor" href="#claude-code" aria-label="Permalink to "Claude Code""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claude</span></span></code></pre></div><p><strong>Creates</strong>: <code>CLAUDE.md</code>, <code>.mcp.json</code>, <code>settings.json</code></p><h3 id="gemini-cli" tabindex="-1">Gemini CLI <a class="header-anchor" href="#gemini-cli" aria-label="Permalink to "Gemini CLI""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> gemini</span></span></code></pre></div><p><strong>Creates</strong>: <code>settings.json</code>, <code>GEMINI.md</code></p><h3 id="opencode-cli" tabindex="-1">OpenCode CLI <a class="header-anchor" href="#opencode-cli" aria-label="Permalink to "OpenCode CLI""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> opencode</span></span></code></pre></div><p><strong>Creates</strong>: <code>opencode.json</code></p><p><em>Limitation: Until <a href="https://github.com/sst/opencode/issues/1961" target="_blank" rel="noreferrer"><code>#1961</code></a> is resolved, permissions to ask the user before executing proceed_to_phase will not be respected. Thus, RV MCP in OpenCode is currently a bit ... stressful</em></p><h2 id="manual-setup" tabindex="-1">Manual Setup <a class="header-anchor" href="#manual-setup" aria-label="Permalink to "Manual Setup""></a></h2><p>If you prefer manual configuration or use a different agent:</p><h3 id="step-1-get-the-system-prompt" tabindex="-1">Step 1: Get the System Prompt <a class="header-anchor" href="#step-1-get-the-system-prompt" aria-label="Permalink to "Step 1: Get the System Prompt""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --system-prompt</span></span></code></pre></div><p>Copy the output and configure it in your AI agent as the system prompt or rules.</p><h3 id="step-2-configure-mcp-server-connection" tabindex="-1">Step 2: Configure MCP Server Connection <a class="header-anchor" href="#step-2-configure-mcp-server-connection" aria-label="Permalink to "Step 2: Configure MCP Server Connection""></a></h3><p>Add the responsible-vibe-mcp server to your agent's MCP configuration:</p><p><strong>For Claude Desktop</strong> (<code>~/Library/Application Support/Claude/claude_desktop_config.json</code>):</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
|
1
|
+
import{_ as i,c as e,o as a,a0 as t}from"./chunks/framework.gHPOTw96.js";const k=JSON.parse('{"title":"Agent Setup Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user/agent-setup.md","filePath":"user/agent-setup.md"}'),n={name:"user/agent-setup.md"};function o(l,s,p,h,r,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`<h1 id="agent-setup-guide" tabindex="-1">Agent Setup Guide <a class="header-anchor" href="#agent-setup-guide" aria-label="Permalink to "Agent Setup Guide""></a></h1><p>This guide explains how to set up AI coding agents to work with the responsible-vibe-mcp server.</p><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to "Overview""></a></h2><p>The responsible-vibe-mcp server requires proper integration with an AI coding agent. The agent needs:</p><ol><li><strong>System Prompt Configuration</strong>: Instructions on how to use the MCP tools</li><li><strong>MCP Server Connection</strong>: Configuration to connect to the responsible-vibe-mcp server</li><li><strong>Tool Permissions</strong>: Access to call the necessary MCP tools</li></ol><h2 id="quick-setup-recommended" tabindex="-1">Quick Setup (Recommended) <a class="header-anchor" href="#quick-setup-recommended" aria-label="Permalink to "Quick Setup (Recommended)""></a></h2><p>Use the automated configuration generator for your preferred agent:</p><h3 id="amazon-q-cli" tabindex="-1">Amazon Q CLI <a class="header-anchor" href="#amazon-q-cli" aria-label="Permalink to "Amazon Q CLI""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> amazonq-cli</span></span></code></pre></div><p><strong>Creates/Updates</strong>: <code>.amazonq/cli-agents/vibe.json</code></p><h3 id="claude-code" tabindex="-1">Claude Code <a class="header-anchor" href="#claude-code" aria-label="Permalink to "Claude Code""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claude</span></span></code></pre></div><p><strong>Creates/Updates</strong>: <code>CLAUDE.md</code>, <code>.mcp.json</code>, <code>settings.json</code></p><h3 id="gemini-cli" tabindex="-1">Gemini CLI <a class="header-anchor" href="#gemini-cli" aria-label="Permalink to "Gemini CLI""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> gemini</span></span></code></pre></div><p><strong>Creates/Updates</strong>: <code>settings.json</code>, <code>GEMINI.md</code></p><h3 id="opencode-cli" tabindex="-1">OpenCode CLI <a class="header-anchor" href="#opencode-cli" aria-label="Permalink to "OpenCode CLI""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --generate-config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> opencode</span></span></code></pre></div><p><strong>Creates/Updates</strong>: <code>opencode.json</code></p><p><em>Limitation: Until <a href="https://github.com/sst/opencode/issues/1961" target="_blank" rel="noreferrer"><code>#1961</code></a> is resolved, permissions to ask the user before executing proceed_to_phase will not be respected. Thus, RV MCP in OpenCode is currently a bit ... stressful</em></p><h2 id="manual-setup" tabindex="-1">Manual Setup <a class="header-anchor" href="#manual-setup" aria-label="Permalink to "Manual Setup""></a></h2><p>If you prefer manual configuration or use a different agent:</p><h3 id="step-1-get-the-system-prompt" tabindex="-1">Step 1: Get the System Prompt <a class="header-anchor" href="#step-1-get-the-system-prompt" aria-label="Permalink to "Step 1: Get the System Prompt""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> responsible-vibe-mcp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --system-prompt</span></span></code></pre></div><p>Copy the output and configure it in your AI agent as the system prompt or rules.</p><h3 id="step-2-configure-mcp-server-connection" tabindex="-1">Step 2: Configure MCP Server Connection <a class="header-anchor" href="#step-2-configure-mcp-server-connection" aria-label="Permalink to "Step 2: Configure MCP Server Connection""></a></h3><p>Add the responsible-vibe-mcp server to your agent's MCP configuration:</p><p><strong>For Claude Desktop</strong> (<code>~/Library/Application Support/Claude/claude_desktop_config.json</code>):</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "mcpServers"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
|
3
3
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "responsible-vibe-mcp"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
|
4
4
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "command"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"npx"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
<span class="line"></span>
|
|
150
150
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Pretty-print with jq</span></span>
|
|
151
151
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cat</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .vibe/conversations/my-project-main-abc123/interactions.jsonl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> jq</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span></span></code></pre></div><p><strong>Note</strong>: All interaction data is stored locally on your system and is never transmitted to external services.</p></div></div></main><footer class="VPDocFooter" data-v-e54aa9f7 data-v-5ee41a35><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5ee41a35><span class="visually-hidden" id="doc-footer-aria-label" data-v-5ee41a35>Pager</span><div class="pager" data-v-5ee41a35><!----></div><div class="pager" data-v-5ee41a35><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5ee41a35><!--[--><span class="desc" data-v-5ee41a35>Next page</span><span class="title" data-v-5ee41a35>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
152
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"
|
|
152
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"B33VzNQF\",\"user_crowd-mcp-integration.md\":\"L2F3yTPt\",\"user_custom-workflows.md\":\"DyDxr2X_\",\"user_git-commit-feature.md\":\"BKn5HSBm\",\"user_how-it-works.md\":\"Cz8-c1YR\",\"user_long-term-memory.md\":\"BHVmeqSD\",\"user_tutorial.md\":\"3q3JM54h\",\"user_workflow-selection.md\":\"CDpPPRiE\",\"workflows.md\":\"DKfUCqv5\",\"workflows_adr.md\":\"WqKoCOsT\",\"workflows_big-bang-conversion.md\":\"B2uRBL_k\",\"workflows_boundary-testing.md\":\"BbV9tRHk\",\"workflows_bugfix.md\":\"B2sXKKGx\",\"workflows_business-analysis.md\":\"CcOMIlu-\",\"workflows_c4-analysis.md\":\"BvkdYdaJ\",\"workflows_epcc.md\":\"BvfhyoHC\",\"workflows_game-beginner.md\":\"Dmw0yenX\",\"workflows_greenfield.md\":\"gdHw7n8T\",\"workflows_minor.md\":\"CCpon9D_\",\"workflows_posts.md\":\"BB0Bx0Eh\",\"workflows_sdd-bugfix-crowd.md\":\"CXslslqL\",\"workflows_sdd-bugfix.md\":\"Ik57ZyHx\",\"workflows_sdd-feature-crowd.md\":\"B-Tg93H_\",\"workflows_sdd-feature.md\":\"Bc_1r0_Q\",\"workflows_sdd-greenfield-crowd.md\":\"CKxmKSuU\",\"workflows_sdd-greenfield.md\":\"BRyXknCo\",\"workflows_slides.md\":\"oNvoNIvP\",\"workflows_tdd.md\":\"tQIBQZGo\",\"workflows_waterfall.md\":\"DyNeDPq_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
153
153
|
|
|
154
154
|
</body>
|
|
155
155
|
</html>
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<span class="line"><span>fix: resolve database connection issue</span></span>
|
|
92
92
|
<span class="line"><span>docs: update API documentation</span></span>
|
|
93
93
|
<span class="line"><span>test: add integration tests for phase transitions</span></span></code></pre></div><h3 id="pull-request-process" tabindex="-1">Pull Request Process <a class="header-anchor" href="#pull-request-process" aria-label="Permalink to "Pull Request Process""></a></h3><ol><li>Fork the repository</li><li>Create a feature branch</li><li>Make your changes with tests</li><li>Ensure all tests pass (<code>npm run test:all</code>)</li><li>Update documentation as needed</li><li>Submit a pull request</li></ol><h3 id="automated-checks" tabindex="-1">Automated Checks <a class="header-anchor" href="#automated-checks" aria-label="Permalink to "Automated Checks""></a></h3><p>The project includes several automated checks that run on every PR:</p><ul><li><strong>Tests</strong>: Comprehensive test suite including MCP contract tests</li><li><strong>Linting</strong>: Code style and quality checks</li><li><strong>Type Checking</strong>: TypeScript compilation verification</li><li><strong>Build Verification</strong>: Ensures the project builds successfully</li></ul><h3 id="dependency-management" tabindex="-1">Dependency Management <a class="header-anchor" href="#dependency-management" aria-label="Permalink to "Dependency Management""></a></h3><p>This project uses <strong>Renovate</strong> for automated dependency management:</p><ul><li>Automatically creates PRs for dependency updates</li><li>Follows semantic versioning for update scheduling</li><li>Includes security updates with higher priority</li><li>Configuration in <code>.github/renovate.json</code></li><li>Helps keep dependencies current and secure</li></ul><h3 id="release-process" tabindex="-1">Release Process <a class="header-anchor" href="#release-process" aria-label="Permalink to "Release Process""></a></h3><p>The project uses automated releases based on conventional commits:</p><ul><li><code>feat:</code> commits trigger minor version bumps</li><li><code>fix:</code> commits trigger patch version bumps</li><li><code>BREAKING CHANGE:</code> in commit body triggers major version bumps</li></ul></div></div></main><footer class="VPDocFooter" data-v-e54aa9f7 data-v-5ee41a35><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5ee41a35><span class="visually-hidden" id="doc-footer-aria-label" data-v-5ee41a35>Pager</span><div class="pager" data-v-5ee41a35><!----></div><div class="pager" data-v-5ee41a35><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5ee41a35><!--[--><span class="desc" data-v-5ee41a35>Next page</span><span class="title" data-v-5ee41a35>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
94
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"
|
|
94
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"B33VzNQF\",\"user_crowd-mcp-integration.md\":\"L2F3yTPt\",\"user_custom-workflows.md\":\"DyDxr2X_\",\"user_git-commit-feature.md\":\"BKn5HSBm\",\"user_how-it-works.md\":\"Cz8-c1YR\",\"user_long-term-memory.md\":\"BHVmeqSD\",\"user_tutorial.md\":\"3q3JM54h\",\"user_workflow-selection.md\":\"CDpPPRiE\",\"workflows.md\":\"DKfUCqv5\",\"workflows_adr.md\":\"WqKoCOsT\",\"workflows_big-bang-conversion.md\":\"B2uRBL_k\",\"workflows_boundary-testing.md\":\"BbV9tRHk\",\"workflows_bugfix.md\":\"B2sXKKGx\",\"workflows_business-analysis.md\":\"CcOMIlu-\",\"workflows_c4-analysis.md\":\"BvkdYdaJ\",\"workflows_epcc.md\":\"BvfhyoHC\",\"workflows_game-beginner.md\":\"Dmw0yenX\",\"workflows_greenfield.md\":\"gdHw7n8T\",\"workflows_minor.md\":\"CCpon9D_\",\"workflows_posts.md\":\"BB0Bx0Eh\",\"workflows_sdd-bugfix-crowd.md\":\"CXslslqL\",\"workflows_sdd-bugfix.md\":\"Ik57ZyHx\",\"workflows_sdd-feature-crowd.md\":\"B-Tg93H_\",\"workflows_sdd-feature.md\":\"Bc_1r0_Q\",\"workflows_sdd-greenfield-crowd.md\":\"CKxmKSuU\",\"workflows_sdd-greenfield.md\":\"BRyXknCo\",\"workflows_slides.md\":\"oNvoNIvP\",\"workflows_tdd.md\":\"tQIBQZGo\",\"workflows_waterfall.md\":\"DyNeDPq_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
95
95
|
|
|
96
96
|
</body>
|
|
97
97
|
</html>
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<span class="line"></span>
|
|
54
54
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Monitor logs in real-time</span></span>
|
|
55
55
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">LOG_LEVEL</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DEBUG</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tsx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> src/index.ts</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> 2>&1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> tee</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> server.log</span></span></code></pre></div><h2 id="best-practices" tabindex="-1">Best Practices <a class="header-anchor" href="#best-practices" aria-label="Permalink to "Best Practices""></a></h2><ol><li><strong>Use appropriate log levels</strong>: Debug for tracing, Info for milestones, Warn for recoverable issues, Error for failures</li><li><strong>Include context</strong>: Always provide relevant context data with log messages</li><li><strong>Avoid sensitive data</strong>: Don't log passwords, tokens, or other sensitive information</li><li><strong>Use structured logging</strong>: Provide context as objects rather than string interpolation</li><li><strong>Component-specific loggers</strong>: Use dedicated loggers for different components</li><li><strong>Centralized logging</strong>: Use the logger module for all logging needs</li></ol><h2 id="performance-considerations" tabindex="-1">Performance Considerations <a class="header-anchor" href="#performance-considerations" aria-label="Permalink to "Performance Considerations""></a></h2><ul><li>Log level filtering happens before message formatting for efficiency</li><li>MCP client notifications are sent asynchronously to avoid blocking operations</li><li>Failed MCP notifications fall back to stderr logging</li><li>Context objects are JSON-serialized only when the log level permits output</li><li>Enhanced notifications only process important events to reduce overhead</li></ul><h2 id="troubleshooting" tabindex="-1">Troubleshooting <a class="header-anchor" href="#troubleshooting" aria-label="Permalink to "Troubleshooting""></a></h2><h3 id="no-log-output" tabindex="-1">No Log Output <a class="header-anchor" href="#no-log-output" aria-label="Permalink to "No Log Output""></a></h3><p>Check the <code>LOG_LEVEL</code> environment variable. Default is <code>INFO</code>.</p><h3 id="mcp-client-not-receiving-notifications" tabindex="-1">MCP Client Not Receiving Notifications <a class="header-anchor" href="#mcp-client-not-receiving-notifications" aria-label="Permalink to "MCP Client Not Receiving Notifications""></a></h3><p>Ensure the server is properly initialized and connected to the MCP transport. Client notifications are only sent after successful server initialization. In test environments, "Not connected" errors are expected and harmless.</p><h3 id="performance-issues" tabindex="-1">Performance Issues <a class="header-anchor" href="#performance-issues" aria-label="Permalink to "Performance Issues""></a></h3><p>Consider raising the log level to <code>WARN</code> or <code>ERROR</code> in production environments to reduce log volume.</p><h2 id="integration-with-mcp-inspector" tabindex="-1">Integration with MCP Inspector <a class="header-anchor" href="#integration-with-mcp-inspector" aria-label="Permalink to "Integration with MCP Inspector""></a></h2><p>When using the MCP Inspector for debugging, set debug logging to see detailed protocol interactions:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">LOG_LEVEL</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DEBUG</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @modelcontextprotocol/inspector</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tsx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> src/index.ts</span></span></code></pre></div><p>The enhanced logging system provides comprehensive visibility into the server's operation while maintaining MCP compliance and optimal performance through centralized, structured logging.</p></div></div></main><footer class="VPDocFooter" data-v-e54aa9f7 data-v-5ee41a35><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5ee41a35><span class="visually-hidden" id="doc-footer-aria-label" data-v-5ee41a35>Pager</span><div class="pager" data-v-5ee41a35><!----></div><div class="pager" data-v-5ee41a35><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5ee41a35><!--[--><span class="desc" data-v-5ee41a35>Next page</span><span class="title" data-v-5ee41a35>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
56
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"
|
|
56
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"B33VzNQF\",\"user_crowd-mcp-integration.md\":\"L2F3yTPt\",\"user_custom-workflows.md\":\"DyDxr2X_\",\"user_git-commit-feature.md\":\"BKn5HSBm\",\"user_how-it-works.md\":\"Cz8-c1YR\",\"user_long-term-memory.md\":\"BHVmeqSD\",\"user_tutorial.md\":\"3q3JM54h\",\"user_workflow-selection.md\":\"CDpPPRiE\",\"workflows.md\":\"DKfUCqv5\",\"workflows_adr.md\":\"WqKoCOsT\",\"workflows_big-bang-conversion.md\":\"B2uRBL_k\",\"workflows_boundary-testing.md\":\"BbV9tRHk\",\"workflows_bugfix.md\":\"B2sXKKGx\",\"workflows_business-analysis.md\":\"CcOMIlu-\",\"workflows_c4-analysis.md\":\"BvkdYdaJ\",\"workflows_epcc.md\":\"BvfhyoHC\",\"workflows_game-beginner.md\":\"Dmw0yenX\",\"workflows_greenfield.md\":\"gdHw7n8T\",\"workflows_minor.md\":\"CCpon9D_\",\"workflows_posts.md\":\"BB0Bx0Eh\",\"workflows_sdd-bugfix-crowd.md\":\"CXslslqL\",\"workflows_sdd-bugfix.md\":\"Ik57ZyHx\",\"workflows_sdd-feature-crowd.md\":\"B-Tg93H_\",\"workflows_sdd-feature.md\":\"Bc_1r0_Q\",\"workflows_sdd-greenfield-crowd.md\":\"CKxmKSuU\",\"workflows_sdd-greenfield.md\":\"BRyXknCo\",\"workflows_slides.md\":\"oNvoNIvP\",\"workflows_tdd.md\":\"tQIBQZGo\",\"workflows_waterfall.md\":\"DyNeDPq_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
57
57
|
|
|
58
58
|
</body>
|
|
59
59
|
</html>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> commit</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -m</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "feat!: redesign API structure</span></span>
|
|
25
25
|
<span class="line"></span>
|
|
26
26
|
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">BREAKING CHANGE: API endpoints have changed"</span></span></code></pre></div><h2 id="publishing-process" tabindex="-1">Publishing Process <a class="header-anchor" href="#publishing-process" aria-label="Permalink to "Publishing Process""></a></h2><ol><li><strong>Development</strong>: Work on feature branches</li><li><strong>Pull Request</strong>: Create PR to main branch (triggers tests)</li><li><strong>Review & Merge</strong>: After approval, merge to main</li><li><strong>Automatic Release</strong>: GitHub Actions handles the rest: <ul><li>Tests pass → Version bump → npm publish → Git tag → Release notes</li></ul></li></ol><h2 id="manual-override" tabindex="-1">Manual Override <a class="header-anchor" href="#manual-override" aria-label="Permalink to "Manual Override""></a></h2><p>If needed, you can manually trigger releases:</p><ol><li>Go to Actions tab in GitHub</li><li>Select "Release and Publish" workflow</li><li>Click "Run workflow" on main branch</li></ol><h2 id="troubleshooting" tabindex="-1">Troubleshooting <a class="header-anchor" href="#troubleshooting" aria-label="Permalink to "Troubleshooting""></a></h2><h3 id="common-issues" tabindex="-1">Common Issues: <a class="header-anchor" href="#common-issues" aria-label="Permalink to "Common Issues:""></a></h3><ol><li><strong>npm publish fails</strong>: Check NPM_TOKEN secret is set correctly</li><li><strong>No version bump</strong>: Ensure commits follow conventional format</li><li><strong>Tests fail</strong>: Fix tests before merging to main</li><li><strong>Permission denied</strong>: Verify GitHub Actions permissions</li></ol><h3 id="checking-status" tabindex="-1">Checking Status: <a class="header-anchor" href="#checking-status" aria-label="Permalink to "Checking Status:""></a></h3><ul><li><strong>npm package</strong>: <a href="https://www.npmjs.com/package/@mrsimpson/responsible-vibe-mcp" target="_blank" rel="noreferrer">https://www.npmjs.com/package/@mrsimpson/responsible-vibe-mcp</a></li><li><strong>GitHub releases</strong>: <a href="https://github.com/mrsimpson/vibe-feature-mcp/releases" target="_blank" rel="noreferrer">https://github.com/mrsimpson/vibe-feature-mcp/releases</a></li><li><strong>Actions logs</strong>: <a href="https://github.com/mrsimpson/vibe-feature-mcp/actions" target="_blank" rel="noreferrer">https://github.com/mrsimpson/vibe-feature-mcp/actions</a></li></ul><h2 id="version-history" tabindex="-1">Version History <a class="header-anchor" href="#version-history" aria-label="Permalink to "Version History""></a></h2><p>Versions and changelogs are automatically maintained in:</p><ul><li>GitHub Releases</li><li>CHANGELOG.md (auto-generated)</li><li>Git tags (v1.2.3 format)</li></ul></div></div></main><footer class="VPDocFooter" data-v-e54aa9f7 data-v-5ee41a35><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5ee41a35><span class="visually-hidden" id="doc-footer-aria-label" data-v-5ee41a35>Pager</span><div class="pager" data-v-5ee41a35><!----></div><div class="pager" data-v-5ee41a35><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5ee41a35><!--[--><span class="desc" data-v-5ee41a35>Next page</span><span class="title" data-v-5ee41a35>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
27
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"
|
|
27
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"v94YJS-p\",\"dev_development.md\":\"DUJdRHQV\",\"dev_logging.md\":\"DZNw81ne\",\"dev_publishing.md\":\"NaXiVuSC\",\"index.md\":\"OCUkrdXW\",\"user_advanced-engineering.md\":\"CVjCpqmE\",\"user_agent-setup.md\":\"B33VzNQF\",\"user_crowd-mcp-integration.md\":\"L2F3yTPt\",\"user_custom-workflows.md\":\"DyDxr2X_\",\"user_git-commit-feature.md\":\"BKn5HSBm\",\"user_how-it-works.md\":\"Cz8-c1YR\",\"user_long-term-memory.md\":\"BHVmeqSD\",\"user_tutorial.md\":\"3q3JM54h\",\"user_workflow-selection.md\":\"CDpPPRiE\",\"workflows.md\":\"DKfUCqv5\",\"workflows_adr.md\":\"WqKoCOsT\",\"workflows_big-bang-conversion.md\":\"B2uRBL_k\",\"workflows_boundary-testing.md\":\"BbV9tRHk\",\"workflows_bugfix.md\":\"B2sXKKGx\",\"workflows_business-analysis.md\":\"CcOMIlu-\",\"workflows_c4-analysis.md\":\"BvkdYdaJ\",\"workflows_epcc.md\":\"BvfhyoHC\",\"workflows_game-beginner.md\":\"Dmw0yenX\",\"workflows_greenfield.md\":\"gdHw7n8T\",\"workflows_minor.md\":\"CCpon9D_\",\"workflows_posts.md\":\"BB0Bx0Eh\",\"workflows_sdd-bugfix-crowd.md\":\"CXslslqL\",\"workflows_sdd-bugfix.md\":\"Ik57ZyHx\",\"workflows_sdd-feature-crowd.md\":\"B-Tg93H_\",\"workflows_sdd-feature.md\":\"Bc_1r0_Q\",\"workflows_sdd-greenfield-crowd.md\":\"CKxmKSuU\",\"workflows_sdd-greenfield.md\":\"BRyXknCo\",\"workflows_slides.md\":\"oNvoNIvP\",\"workflows_tdd.md\":\"tQIBQZGo\",\"workflows_waterfall.md\":\"DyNeDPq_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
28
28
|
|
|
29
29
|
</body>
|
|
30
30
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dev_architecture.md":"v94YJS-p","dev_development.md":"DUJdRHQV","dev_logging.md":"DZNw81ne","dev_publishing.md":"NaXiVuSC","index.md":"OCUkrdXW","user_advanced-engineering.md":"CVjCpqmE","user_agent-setup.md":"
|
|
1
|
+
{"dev_architecture.md":"v94YJS-p","dev_development.md":"DUJdRHQV","dev_logging.md":"DZNw81ne","dev_publishing.md":"NaXiVuSC","index.md":"OCUkrdXW","user_advanced-engineering.md":"CVjCpqmE","user_agent-setup.md":"B33VzNQF","user_crowd-mcp-integration.md":"L2F3yTPt","user_custom-workflows.md":"DyDxr2X_","user_git-commit-feature.md":"BKn5HSBm","user_how-it-works.md":"Cz8-c1YR","user_long-term-memory.md":"BHVmeqSD","user_tutorial.md":"3q3JM54h","user_workflow-selection.md":"CDpPPRiE","workflows.md":"DKfUCqv5","workflows_adr.md":"WqKoCOsT","workflows_big-bang-conversion.md":"B2uRBL_k","workflows_boundary-testing.md":"BbV9tRHk","workflows_bugfix.md":"B2sXKKGx","workflows_business-analysis.md":"CcOMIlu-","workflows_c4-analysis.md":"BvkdYdaJ","workflows_epcc.md":"BvfhyoHC","workflows_game-beginner.md":"Dmw0yenX","workflows_greenfield.md":"gdHw7n8T","workflows_minor.md":"CCpon9D_","workflows_posts.md":"BB0Bx0Eh","workflows_sdd-bugfix-crowd.md":"CXslslqL","workflows_sdd-bugfix.md":"Ik57ZyHx","workflows_sdd-feature-crowd.md":"B-Tg93H_","workflows_sdd-feature.md":"Bc_1r0_Q","workflows_sdd-greenfield-crowd.md":"CKxmKSuU","workflows_sdd-greenfield.md":"BRyXknCo","workflows_slides.md":"oNvoNIvP","workflows_tdd.md":"tQIBQZGo","workflows_waterfall.md":"DyNeDPq_"}
|