@lousy-agents/cli 2.10.0 → 2.11.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/dist/index.js +242 -36
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +23 -7
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp-server.js
CHANGED
|
@@ -65785,7 +65785,9 @@ const remark = unified().use(remarkParse).use(remarkStringify).freeze()
|
|
|
65785
65785
|
commandScores: [],
|
|
65786
65786
|
overallQualityScore: 0,
|
|
65787
65787
|
suggestions: [
|
|
65788
|
-
|
|
65788
|
+
{
|
|
65789
|
+
message: "No agent instruction files found. Supported formats: .github/copilot-instructions.md, .github/instructions/*.md, .github/agents/*.md, AGENTS.md, CLAUDE.md"
|
|
65790
|
+
}
|
|
65789
65791
|
],
|
|
65790
65792
|
parsingErrors: []
|
|
65791
65793
|
},
|
|
@@ -65852,7 +65854,10 @@ const remark = unified().use(remarkParse).use(remarkStringify).freeze()
|
|
|
65852
65854
|
const suggestions = this.generateSuggestions(commandScores);
|
|
65853
65855
|
if (parsingErrors.length > 0) {
|
|
65854
65856
|
const skippedFiles = parsingErrors.map((pe)=>pe.filePath).join(", ");
|
|
65855
|
-
suggestions.push(
|
|
65857
|
+
suggestions.push({
|
|
65858
|
+
message: `${parsingErrors.length} file(s) could not be parsed and were skipped: ${skippedFiles}. Analysis may be incomplete.`,
|
|
65859
|
+
ruleId: "instruction/parse-error"
|
|
65860
|
+
});
|
|
65856
65861
|
}
|
|
65857
65862
|
return {
|
|
65858
65863
|
result: {
|
|
@@ -66066,22 +66071,33 @@ const remark = unified().use(remarkParse).use(remarkStringify).freeze()
|
|
|
66066
66071
|
const lowStructural = commandScores.filter((s)=>s.structuralContext === 0 && s.bestSourceFile !== "");
|
|
66067
66072
|
if (lowStructural.length > 0) {
|
|
66068
66073
|
const names = lowStructural.map((s)=>s.commandName).join(", ");
|
|
66069
|
-
suggestions.push(
|
|
66074
|
+
suggestions.push({
|
|
66075
|
+
message: `Commands not under a dedicated section: ${names}. Add a heading like "## Validation" or "## Feedback Loop" above these commands.`,
|
|
66076
|
+
ruleId: "instruction/command-outside-section"
|
|
66077
|
+
});
|
|
66070
66078
|
}
|
|
66071
66079
|
const lowExecution = commandScores.filter((s)=>s.executionClarity === 0 && s.bestSourceFile !== "");
|
|
66072
66080
|
if (lowExecution.length > 0) {
|
|
66073
66081
|
const names = lowExecution.map((s)=>s.commandName).join(", ");
|
|
66074
|
-
suggestions.push(
|
|
66082
|
+
suggestions.push({
|
|
66083
|
+
message: `Commands not in code blocks: ${names}. Document these commands in fenced code blocks for clarity.`,
|
|
66084
|
+
ruleId: "instruction/command-not-in-code-block"
|
|
66085
|
+
});
|
|
66075
66086
|
}
|
|
66076
66087
|
const lowLoop = commandScores.filter((s)=>s.loopCompleteness === 0 && s.executionClarity === 1 && s.bestSourceFile !== "");
|
|
66077
66088
|
if (lowLoop.length > 0) {
|
|
66078
66089
|
const names = lowLoop.map((s)=>s.commandName).join(", ");
|
|
66079
|
-
suggestions.push(
|
|
66090
|
+
suggestions.push({
|
|
66091
|
+
message: `Commands missing error handling guidance: ${names}. Add instructions for what to do if the command fails.`,
|
|
66092
|
+
ruleId: "instruction/missing-error-handling"
|
|
66093
|
+
});
|
|
66080
66094
|
}
|
|
66081
66095
|
const notFound = commandScores.filter((s)=>s.bestSourceFile === "");
|
|
66082
66096
|
if (notFound.length > 0) {
|
|
66083
66097
|
const names = notFound.map((s)=>s.commandName).join(", ");
|
|
66084
|
-
suggestions.push(
|
|
66098
|
+
suggestions.push({
|
|
66099
|
+
message: `Commands not found in any instruction file: ${names}. Document these feedback loop commands in your instruction files.`
|
|
66100
|
+
});
|
|
66085
66101
|
}
|
|
66086
66102
|
return suggestions;
|
|
66087
66103
|
}
|
|
@@ -66126,7 +66142,7 @@ const remark = unified().use(remarkParse).use(remarkStringify).freeze()
|
|
|
66126
66142
|
bestSourceFile: s.bestSourceFile
|
|
66127
66143
|
})),
|
|
66128
66144
|
overallQualityScore: output.result.overallQualityScore,
|
|
66129
|
-
suggestions: output.result.suggestions,
|
|
66145
|
+
suggestions: output.result.suggestions.map((s)=>s.message),
|
|
66130
66146
|
parsingErrors: output.result.parsingErrors,
|
|
66131
66147
|
diagnostics: output.diagnostics.map((d)=>({
|
|
66132
66148
|
filePath: d.filePath,
|