@democratize-quality/mcp-server 1.1.7 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +658 -12
- package/README.md +165 -10
- package/package.json +2 -2
- package/src/skills/test-execution/SKILL.md +777 -0
- package/src/utils/agentInstaller.js +68 -3
|
@@ -32,10 +32,13 @@ class AgentInstaller {
|
|
|
32
32
|
// Step 1: Install Agent Skills
|
|
33
33
|
await this.installSkills();
|
|
34
34
|
|
|
35
|
-
// Step 2:
|
|
35
|
+
// Step 2: Install Chat Modes
|
|
36
|
+
await this.installChatModes();
|
|
37
|
+
|
|
38
|
+
// Step 3: Setup MCP configuration
|
|
36
39
|
await this.setupMCPConfiguration();
|
|
37
40
|
|
|
38
|
-
// Step
|
|
41
|
+
// Step 4: Show completion message
|
|
39
42
|
this.showCompletionMessage();
|
|
40
43
|
|
|
41
44
|
} catch (error) {
|
|
@@ -180,6 +183,62 @@ class AgentInstaller {
|
|
|
180
183
|
console.log('');
|
|
181
184
|
}
|
|
182
185
|
|
|
186
|
+
/**
|
|
187
|
+
* Install Chat Modes to .github/agents/
|
|
188
|
+
*/
|
|
189
|
+
async installChatModes() {
|
|
190
|
+
console.log('💬 Installing Chat Modes...');
|
|
191
|
+
|
|
192
|
+
const sourceChatModesDir = path.join(this.sourceDir, 'src', 'chatmodes');
|
|
193
|
+
const targetAgentsDir = path.join(this.targetDir, '.github', 'agents');
|
|
194
|
+
|
|
195
|
+
// Create .github/agents directory
|
|
196
|
+
try {
|
|
197
|
+
await mkdir(targetAgentsDir, { recursive: true });
|
|
198
|
+
} catch (error) {
|
|
199
|
+
if (error.code !== 'EEXIST') {
|
|
200
|
+
throw new Error(`Failed to create .github/agents directory: ${error.message}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// Get list of chatmode files
|
|
205
|
+
let chatModeFiles;
|
|
206
|
+
try {
|
|
207
|
+
const allItems = await readdir(sourceChatModesDir);
|
|
208
|
+
// Filter for .chatmode.md files only
|
|
209
|
+
chatModeFiles = allItems.filter(item => item.endsWith('.chatmode.md'));
|
|
210
|
+
} catch (error) {
|
|
211
|
+
if (error.code === 'ENOENT') {
|
|
212
|
+
console.log(' ⚠️ No chatmodes directory found, skipping...');
|
|
213
|
+
console.log('');
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
throw new Error(`Failed to read source chatmodes directory: ${error.message}`);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (chatModeFiles.length === 0) {
|
|
220
|
+
console.log(' ⚠️ No chatmode files found to install');
|
|
221
|
+
console.log('');
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Copy each chatmode file
|
|
226
|
+
for (const chatModeFile of chatModeFiles) {
|
|
227
|
+
const sourcePath = path.join(sourceChatModesDir, chatModeFile);
|
|
228
|
+
const targetPath = path.join(targetAgentsDir, chatModeFile);
|
|
229
|
+
|
|
230
|
+
try {
|
|
231
|
+
await copyFile(sourcePath, targetPath);
|
|
232
|
+
console.log(` ✅ ${chatModeFile}`);
|
|
233
|
+
} catch (error) {
|
|
234
|
+
console.error(` ❌ Failed to copy ${chatModeFile}: ${error.message}`);
|
|
235
|
+
throw error;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
console.log('');
|
|
240
|
+
}
|
|
241
|
+
|
|
183
242
|
/**
|
|
184
243
|
* Setup MCP configuration in .vscode/mcp.json
|
|
185
244
|
*/
|
|
@@ -316,10 +375,16 @@ class AgentInstaller {
|
|
|
316
375
|
console.log('📁 Agent Skills installed to:');
|
|
317
376
|
console.log(' → .agents/skills/api-planning/');
|
|
318
377
|
console.log(' → .agents/skills/test-generation/');
|
|
378
|
+
console.log(' → .agents/skills/test-execution/');
|
|
319
379
|
console.log(' → .agents/skills/test-healing/');
|
|
320
380
|
console.log(' → .github/skills/ (symlink for GitHub Copilot)');
|
|
321
381
|
console.log(' → .claude/skills/ (symlink for Claude Code)\n');
|
|
322
382
|
|
|
383
|
+
console.log('💬 Chat Modes installed to:');
|
|
384
|
+
console.log(' → .github/agents/🌐 api-planner.chatmode.md');
|
|
385
|
+
console.log(' → .github/agents/🌐 api-generator.chatmode.md');
|
|
386
|
+
console.log(' → .github/agents/🌐 api-healer.chatmode.md\n');
|
|
387
|
+
|
|
323
388
|
console.log('⚙️ MCP configuration updated:');
|
|
324
389
|
console.log(' → .vscode/mcp.json (democratize-quality server added/updated)\n');
|
|
325
390
|
|
|
@@ -328,6 +393,7 @@ class AgentInstaller {
|
|
|
328
393
|
console.log(' 2. Use skills in your AI coding assistant:');
|
|
329
394
|
console.log(' • /api-planning - Create comprehensive API test plans');
|
|
330
395
|
console.log(' • /test-generation - Generate executable API tests');
|
|
396
|
+
console.log(' • /test-execution - Execute API tests from test plans');
|
|
331
397
|
console.log(' • /test-healing - Debug and fix failing API tests');
|
|
332
398
|
console.log(' 3. Skills work automatically when you mention relevant tasks!');
|
|
333
399
|
console.log(' 4. Example: "Help me create an API test plan for my REST API"\n');
|
|
@@ -336,7 +402,6 @@ class AgentInstaller {
|
|
|
336
402
|
console.log(' • GitHub Copilot (VS Code, CLI)');
|
|
337
403
|
console.log(' • Codex CLI (OpenAI)');
|
|
338
404
|
console.log(' • Claude Code');
|
|
339
|
-
console.log(' • Cursor, Roo Code, and 10+ other tools\n');
|
|
340
405
|
|
|
341
406
|
console.log('📚 For more information, visit: https://github.com/uppadhyayraj/democratize-quality-mcp-server');
|
|
342
407
|
}
|