@azerate/claudette-mcp 1.7.0 → 1.7.2
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/dist/index.js +41 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -523,7 +523,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
523
523
|
},
|
|
524
524
|
{
|
|
525
525
|
name: "approve_write_tests",
|
|
526
|
-
description: "Mark the write tests step as complete
|
|
526
|
+
description: "Mark the write tests step as complete AFTER you have written tests. CRITICAL: You MUST write tests before calling this - NEVER skip this step or ask the user if they want to skip. When workflow reaches ready_write_tests, immediately write tests for uncovered files, then call this tool.",
|
|
527
527
|
inputSchema: {
|
|
528
528
|
type: "object",
|
|
529
529
|
properties: {
|
|
@@ -1384,6 +1384,46 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1384
1384
|
if (status.error) {
|
|
1385
1385
|
output += `\n❌ Error: ${status.error}\n`;
|
|
1386
1386
|
}
|
|
1387
|
+
// CRITICAL: Show explicit action required when at ready_write_tests step
|
|
1388
|
+
if (status.currentStep === 'ready_write_tests') {
|
|
1389
|
+
output += `\n${"═".repeat(50)}\n`;
|
|
1390
|
+
output += `🚨 ACTION REQUIRED: WRITE TESTS\n`;
|
|
1391
|
+
output += `${"═".repeat(50)}\n\n`;
|
|
1392
|
+
output += `Coverage is at ${status.steps.coverage?.percent || 0}%.\n\n`;
|
|
1393
|
+
output += `DO NOT SKIP THIS STEP. You MUST:\n`;
|
|
1394
|
+
output += `1. Identify files that need test coverage\n`;
|
|
1395
|
+
output += `2. Write tests for uncovered code paths\n`;
|
|
1396
|
+
output += `3. Run tests to verify they pass\n`;
|
|
1397
|
+
output += `4. Use approve_write_tests when done\n\n`;
|
|
1398
|
+
if (status.steps.coverage?.uncoveredFiles?.length > 0) {
|
|
1399
|
+
output += `Files needing tests:\n`;
|
|
1400
|
+
for (const file of status.steps.coverage.uncoveredFiles.slice(0, 5)) {
|
|
1401
|
+
output += ` - ${file}\n`;
|
|
1402
|
+
}
|
|
1403
|
+
if (status.steps.coverage.uncoveredFiles.length > 5) {
|
|
1404
|
+
output += ` ... and ${status.steps.coverage.uncoveredFiles.length - 5} more\n`;
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
output += `\nNEVER ask the user if they want to skip writing tests.\n`;
|
|
1408
|
+
output += `ALWAYS write tests before proceeding to commit.\n`;
|
|
1409
|
+
}
|
|
1410
|
+
// Show recommendation if available (auto-populated when changes exist)
|
|
1411
|
+
if (status.recommendation) {
|
|
1412
|
+
const rec = status.recommendation;
|
|
1413
|
+
const actionIcons = {
|
|
1414
|
+
'start_workflow': '▶️',
|
|
1415
|
+
'create_feature_branch': '🌿',
|
|
1416
|
+
'add_to_existing_pr': '📝',
|
|
1417
|
+
'switch_to_main': '🔄',
|
|
1418
|
+
'create_new_branch': '🆕',
|
|
1419
|
+
'sync_branch_first': '🔀',
|
|
1420
|
+
'no_changes': '📭',
|
|
1421
|
+
};
|
|
1422
|
+
const icon = actionIcons[rec.action] || '❓';
|
|
1423
|
+
output += `\n${"─".repeat(40)}\n`;
|
|
1424
|
+
output += `${icon} RECOMMENDATION: ${rec.action.replace(/_/g, ' ').toUpperCase()}\n`;
|
|
1425
|
+
output += `${rec.suggestion}\n`;
|
|
1426
|
+
}
|
|
1387
1427
|
return { content: [{ type: "text", text: output }] };
|
|
1388
1428
|
}
|
|
1389
1429
|
catch (err) {
|
package/package.json
CHANGED