@context-forge/cli 0.4.0 → 0.4.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmFpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF3D"}
|
package/dist/commands/check.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as readline from 'node:readline';
|
|
1
2
|
import { FileProjectStore, ArtifactIntrospector, ConsistencyChecker, ConfigManager, } from '@context-forge/core/node';
|
|
2
3
|
import { resolveProjectId } from '../utils/project.js';
|
|
3
4
|
import { handleError, UserError } from '../utils/errors.js';
|
|
@@ -8,6 +9,16 @@ const SEVERITY_ICON = {
|
|
|
8
9
|
warning: '⚠',
|
|
9
10
|
info: 'ℹ',
|
|
10
11
|
};
|
|
12
|
+
/** Prompt user for y/N confirmation via stdin. Returns true if confirmed. */
|
|
13
|
+
function askConfirmation(prompt) {
|
|
14
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
15
|
+
return new Promise((resolve) => {
|
|
16
|
+
rl.question(prompt, (answer) => {
|
|
17
|
+
rl.close();
|
|
18
|
+
resolve(answer.trim().toLowerCase() === 'y');
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
11
22
|
function isFixResult(result) {
|
|
12
23
|
return 'fixLog' in result;
|
|
13
24
|
}
|
|
@@ -27,6 +38,23 @@ function formatFinding(finding, fixResult) {
|
|
|
27
38
|
}
|
|
28
39
|
return lines.join('\n');
|
|
29
40
|
}
|
|
41
|
+
/** Extract slice index prefix from a finding description like "[175] ..." */
|
|
42
|
+
function extractFindingSliceIndex(description) {
|
|
43
|
+
const match = /^\[(\d+)\]\s/.exec(description);
|
|
44
|
+
return match ? match[1] : null;
|
|
45
|
+
}
|
|
46
|
+
/** Group findings by slice index prefix, with non-prefixed in a "Project-level" group */
|
|
47
|
+
function groupFindings(findings) {
|
|
48
|
+
const groups = new Map();
|
|
49
|
+
for (const finding of findings) {
|
|
50
|
+
const idx = extractFindingSliceIndex(finding.description);
|
|
51
|
+
const key = idx ?? 'project';
|
|
52
|
+
const group = groups.get(key) ?? [];
|
|
53
|
+
group.push(finding);
|
|
54
|
+
groups.set(key, group);
|
|
55
|
+
}
|
|
56
|
+
return groups;
|
|
57
|
+
}
|
|
30
58
|
export function registerCheckCommand(program) {
|
|
31
59
|
program
|
|
32
60
|
.command('check')
|
|
@@ -34,6 +62,8 @@ export function registerCheckCommand(program) {
|
|
|
34
62
|
.option('--json', 'Output as JSON')
|
|
35
63
|
.option('--project <id>', 'Project ID or name (overrides default)')
|
|
36
64
|
.option('--fix', 'Apply non-destructive corrections (when available)')
|
|
65
|
+
.option('--slice <index>', 'Check only a specific slice by index')
|
|
66
|
+
.option('--yes', 'Skip confirmation prompt in fix mode')
|
|
37
67
|
.action(async (opts) => {
|
|
38
68
|
try {
|
|
39
69
|
const store = new FileProjectStore();
|
|
@@ -58,41 +88,83 @@ export function registerCheckCommand(program) {
|
|
|
58
88
|
// Config read failed — default to check-only
|
|
59
89
|
}
|
|
60
90
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
printJson(result);
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
// Terminal output
|
|
69
|
-
const modeLabel = fixMode ? ' (fix mode)' : '';
|
|
70
|
-
console.log(label(`Consistency Check: ${project.name}${modeLabel}`));
|
|
71
|
-
console.log('');
|
|
72
|
-
if (result.totalFindings === 0) {
|
|
73
|
-
console.log(' No inconsistencies found');
|
|
74
|
-
return;
|
|
91
|
+
// Determine scope: --slice narrows to single slice, otherwise all-slices
|
|
92
|
+
const singleSlice = opts.slice ? parseInt(opts.slice, 10) : null;
|
|
93
|
+
if (singleSlice !== null && isNaN(singleSlice)) {
|
|
94
|
+
throw new UserError(`Invalid slice index: '${opts.slice}'`);
|
|
75
95
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
96
|
+
let result;
|
|
97
|
+
if (singleSlice !== null) {
|
|
98
|
+
// Narrow to single slice — set fileSlice temporarily and use check()/fix()
|
|
99
|
+
const sliceProject = { ...project, fileSlice: `${singleSlice}-slice` };
|
|
100
|
+
result = fixMode
|
|
101
|
+
? await checker.fix(sliceProject)
|
|
102
|
+
: await checker.check(sliceProject);
|
|
79
103
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
104
|
+
else if (fixMode) {
|
|
105
|
+
// All-slices fix mode — prompt for confirmation unless --yes
|
|
106
|
+
if (!opts.yes) {
|
|
107
|
+
const dryRun = await checker.checkAll(project);
|
|
108
|
+
const fixableCount = dryRun.findings.filter((f) => f.fixable).length;
|
|
109
|
+
if (fixableCount === 0) {
|
|
110
|
+
result = dryRun;
|
|
86
111
|
}
|
|
112
|
+
else {
|
|
113
|
+
printCheckOutput(dryRun, project.name, false);
|
|
114
|
+
const confirmed = await askConfirmation(`\nFound ${fixableCount} fixable finding${fixableCount !== 1 ? 's' : ''}. Apply fixes? [y/N] `);
|
|
115
|
+
if (!confirmed) {
|
|
116
|
+
console.log('Aborted.');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
result = await checker.fixAll(project);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
result = await checker.fixAll(project);
|
|
87
124
|
}
|
|
88
125
|
}
|
|
89
126
|
else {
|
|
90
|
-
|
|
127
|
+
result = await checker.checkAll(project);
|
|
91
128
|
}
|
|
129
|
+
if (opts.json) {
|
|
130
|
+
printJson(result);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
printCheckOutput(result, project.name, fixMode);
|
|
92
134
|
}
|
|
93
135
|
catch (err) {
|
|
94
136
|
handleError(err);
|
|
95
137
|
}
|
|
96
138
|
});
|
|
97
139
|
}
|
|
140
|
+
function printCheckOutput(result, projectName, fixMode) {
|
|
141
|
+
const modeLabel = fixMode ? ' (fix mode)' : '';
|
|
142
|
+
console.log(label(`Consistency Check: ${projectName}${modeLabel}`));
|
|
143
|
+
console.log('');
|
|
144
|
+
if (result.totalFindings === 0) {
|
|
145
|
+
console.log(' No inconsistencies found');
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const fixRes = isFixResult(result) ? result : undefined;
|
|
149
|
+
const groups = groupFindings(result.findings);
|
|
150
|
+
for (const [key, findings] of groups) {
|
|
151
|
+
const groupLabel = key === 'project' ? 'Project-level' : `Slice ${key}`;
|
|
152
|
+
console.log(label(` ${groupLabel}`));
|
|
153
|
+
for (const finding of findings) {
|
|
154
|
+
console.log(formatFinding(finding, fixRes));
|
|
155
|
+
}
|
|
156
|
+
console.log('');
|
|
157
|
+
}
|
|
158
|
+
if (fixRes) {
|
|
159
|
+
console.log(label(`Fixed ${fixRes.fixed} of ${result.totalFindings} findings`));
|
|
160
|
+
if (fixRes.fixErrors.length > 0) {
|
|
161
|
+
for (const err of fixRes.fixErrors) {
|
|
162
|
+
console.log(errorStyle(` Fix error: ${err}`));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
console.log(dim(result.summary));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
98
170
|
//# sourceMappingURL=check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@context-forge/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "CLI for Context Forge — terminal access to context assembly, project management, workflow navigation, and configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"chalk": "^5.4.1",
|
|
34
34
|
"commander": "^13.1.0",
|
|
35
|
-
"@context-forge/core": "0.4.
|
|
35
|
+
"@context-forge/core": "0.4.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|