qodfy 0.2.5 → 0.2.7
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 +16 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -11,9 +11,10 @@ import {
|
|
|
11
11
|
scanProject,
|
|
12
12
|
validScanChecks
|
|
13
13
|
} from "@qodfy/core";
|
|
14
|
+
var CLI_VERSION = "0.2.7";
|
|
14
15
|
var DEFAULT_MAX_ISSUES = 5;
|
|
15
16
|
var program = new Command();
|
|
16
|
-
program.name("qodfy").description("Launch readiness scanner for AI-built apps.").version(
|
|
17
|
+
program.name("qodfy").description("Launch readiness scanner for AI-built apps.").version(CLI_VERSION);
|
|
17
18
|
program.command("scan").description("Scan a project for launch readiness issues.").option("-p, --path <path>", "Project path to scan", process.cwd()).option("--max-issues <number>", "Maximum number of issues to display", String(DEFAULT_MAX_ISSUES)).option("--prompts", "Show safe copy-paste fix prompts for displayed issues").option("--prompt <issue-id>", "Show the safe AI fix prompt for one issue").option("--checks <checks>", "Comma-separated checks to run").option("--all", "Run all checks without prompting").option("--no-interactive", "Skip interactive prompts and run the recommended scan").action(async (options) => {
|
|
18
19
|
const pathResult = await resolveProjectPath(options.path);
|
|
19
20
|
if (!pathResult.ok) {
|
|
@@ -474,6 +475,9 @@ function printIssue(issue, showPrompts, showDetails, projectPath) {
|
|
|
474
475
|
if ((showDetails || showPrompts) && issue.evidence && issue.evidence.length > 0) {
|
|
475
476
|
printEvidence(issue.evidence);
|
|
476
477
|
}
|
|
478
|
+
if ((showDetails || showPrompts) && issue.context && issue.context.length > 0) {
|
|
479
|
+
printContext(issue.context);
|
|
480
|
+
}
|
|
477
481
|
if ((showDetails || showPrompts) && issue.suggestion) {
|
|
478
482
|
console.log(pc.dim(`Suggestion: ${issue.suggestion}`));
|
|
479
483
|
}
|
|
@@ -496,6 +500,9 @@ function printFixPrompt(issue) {
|
|
|
496
500
|
if (issue.evidence && issue.evidence.length > 0) {
|
|
497
501
|
printEvidence(issue.evidence);
|
|
498
502
|
}
|
|
503
|
+
if (issue.context && issue.context.length > 0) {
|
|
504
|
+
printContext(issue.context);
|
|
505
|
+
}
|
|
499
506
|
console.log("");
|
|
500
507
|
console.log(issue.fixPrompt);
|
|
501
508
|
}
|
|
@@ -507,6 +514,14 @@ function printEvidence(evidence) {
|
|
|
507
514
|
console.log(pc.dim(`- ${item.label}${detail}`));
|
|
508
515
|
}
|
|
509
516
|
}
|
|
517
|
+
function printContext(context) {
|
|
518
|
+
console.log("");
|
|
519
|
+
console.log(pc.bold("Context:"));
|
|
520
|
+
for (const item of context) {
|
|
521
|
+
const detail = item.detail ? ` ${item.detail}` : "";
|
|
522
|
+
console.log(pc.dim(`- ${item.label}${detail}`));
|
|
523
|
+
}
|
|
524
|
+
}
|
|
510
525
|
function printPromptFromReport(report, issueId) {
|
|
511
526
|
const issue = report.issues.find((scanIssue) => scanIssue.id === issueId);
|
|
512
527
|
if (!issue) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qodfy",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Open-source launch readiness scanner for AI-built apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"qodfy",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@inquirer/prompts": "^8.4.3",
|
|
53
53
|
"commander": "^14.0.3",
|
|
54
54
|
"picocolors": "^1.1.1",
|
|
55
|
-
"@qodfy/core": "^0.2.
|
|
55
|
+
"@qodfy/core": "^0.2.7"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/node": "^25.7.0",
|