codex-plugin-doctor 1.42.0 → 1.43.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/README.md
CHANGED
|
@@ -402,9 +402,9 @@ jobs:
|
|
|
402
402
|
runs-on: ubuntu-latest
|
|
403
403
|
steps:
|
|
404
404
|
- uses: actions/checkout@v5
|
|
405
|
-
- uses: Esquetta/CodexPluginDoctor@v1.
|
|
405
|
+
- uses: Esquetta/CodexPluginDoctor@v1.43.0
|
|
406
406
|
with:
|
|
407
|
-
version: "1.
|
|
407
|
+
version: "1.43.0"
|
|
408
408
|
path: .
|
|
409
409
|
runtime: "true"
|
|
410
410
|
policy: codex-publish
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function quoteCliArg(value) {
|
|
2
|
+
return JSON.stringify(value);
|
|
3
|
+
}
|
|
4
|
+
export function buildRecommendedCommands(result) {
|
|
5
|
+
if (result.findings.length === 0) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const target = quoteCliArg(result.targetPath);
|
|
9
|
+
const commands = [
|
|
10
|
+
`codex-plugin-doctor doctor recommend ${target}`,
|
|
11
|
+
`codex-plugin-doctor fix ${target} --dry-run`
|
|
12
|
+
];
|
|
13
|
+
if (result.findings.some((finding) => finding.fingerprint)) {
|
|
14
|
+
commands.push(`codex-plugin-doctor suppress add ${target}`);
|
|
15
|
+
}
|
|
16
|
+
return commands;
|
|
17
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { formatFindingEvidenceLine } from "./format-finding-evidence.js";
|
|
2
2
|
import { formatFindingFingerprintLine } from "./finding-fingerprint.js";
|
|
3
|
+
import { buildRecommendedCommands } from "./recommended-commands.js";
|
|
3
4
|
export function buildMarkdownReport(result, options) {
|
|
4
5
|
const failCount = result.findings.filter((finding) => finding.severity === "fail").length;
|
|
5
6
|
const warnCount = result.findings.filter((finding) => finding.severity === "warn").length;
|
|
@@ -77,5 +78,12 @@ export function buildMarkdownReport(result, options) {
|
|
|
77
78
|
lines.push("");
|
|
78
79
|
}
|
|
79
80
|
}
|
|
81
|
+
const recommendedCommands = buildRecommendedCommands(result);
|
|
82
|
+
if (recommendedCommands.length > 0) {
|
|
83
|
+
lines.push("", "## Recommended Commands", "");
|
|
84
|
+
for (const command of recommendedCommands) {
|
|
85
|
+
lines.push(`- \`${command}\``);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
80
88
|
return lines.join("\n");
|
|
81
89
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { findRuleDefinition } from "../rules/rule-catalog.js";
|
|
2
2
|
import { formatFindingEvidenceLine } from "./format-finding-evidence.js";
|
|
3
3
|
import { formatFindingFingerprintLine } from "./finding-fingerprint.js";
|
|
4
|
+
import { buildRecommendedCommands } from "./recommended-commands.js";
|
|
4
5
|
function getCounts(result) {
|
|
5
6
|
const failCount = result.findings.filter((finding) => finding.severity === "fail").length;
|
|
6
7
|
const warnCount = result.findings.filter((finding) => finding.severity === "warn").length;
|
|
@@ -118,5 +119,12 @@ export function renderTextReport(result, options = {}) {
|
|
|
118
119
|
lines.push(`prompts/list: ${result.runtimeScorecard.promptsList}`);
|
|
119
120
|
lines.push(`prompts/get: ${result.runtimeScorecard.promptGet}`);
|
|
120
121
|
}
|
|
122
|
+
const recommendedCommands = buildRecommendedCommands(result);
|
|
123
|
+
if (recommendedCommands.length > 0) {
|
|
124
|
+
lines.push("", "Recommended Commands", "--------------------");
|
|
125
|
+
for (const command of recommendedCommands) {
|
|
126
|
+
lines.push(`- ${command}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
121
129
|
return lines.join("\n");
|
|
122
130
|
}
|
package/package.json
CHANGED