@context-forge/cli 0.13.1 → 0.13.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/commands/setup-ide.d.ts.map +1 -1
- package/dist/commands/setup-ide.js +6 -2
- package/dist/commands/setup-ide.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/workflow.d.ts +0 -3
- package/dist/commands/workflow.d.ts.map +0 -1
- package/dist/commands/workflow.js +0 -204
- package/dist/commands/workflow.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ide.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-ide.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,OAAO,EAAyC,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAErG,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oDAAoD;IACpD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAqBpD,CAAC;AAaF,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAYpF;AAED,mEAAmE;AACnE,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Ef;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyC/E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6C9D"}
|
|
@@ -2,7 +2,7 @@ import * as fs from 'node:fs';
|
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import * as readline from 'node:readline';
|
|
4
4
|
import { execFileSync } from 'node:child_process';
|
|
5
|
-
import { FileProjectStore, GuideDetector, GUIDE_RELATIVE_PATH } from '@context-forge/core/node';
|
|
5
|
+
import { FileProjectStore, GuideDetector, GUIDE_RELATIVE_PATH, GUIDE_OFFLINE_REMEDIATION, } from '@context-forge/core/node';
|
|
6
6
|
import { resolveProjectId } from '../utils/project.js';
|
|
7
7
|
import { withProjectOption, withYesOption } from '../options.js';
|
|
8
8
|
import { handleError, UserError } from '../utils/errors.js';
|
|
@@ -77,7 +77,11 @@ export async function setupIdeAction(projectPath, target, opts) {
|
|
|
77
77
|
const detector = new GuideDetector();
|
|
78
78
|
const guideInfo = await detector.detect(projectPath);
|
|
79
79
|
if (!guideInfo.installed) {
|
|
80
|
-
|
|
80
|
+
// setup-ide fails before any network call — guides are simply absent from
|
|
81
|
+
// disk, so we cannot know why an earlier install failed. Point at the fix
|
|
82
|
+
// and, since a failed install is the common cause, at the offline path (#78).
|
|
83
|
+
throw new UserError("Guides are not installed. Run 'cf guides install' first.\n" +
|
|
84
|
+
` If that install fails to reach the guide repo: ${GUIDE_OFFLINE_REMEDIATION}`);
|
|
81
85
|
}
|
|
82
86
|
// Locate setup-ide script
|
|
83
87
|
const guideDir = path.join(projectPath, GUIDE_RELATIVE_PATH);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ide.js","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"setup-ide.js","sourceRoot":"","sources":["../../src/commands/setup-ide.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.13.
|
|
3
|
+
"version": "0.13.2",
|
|
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.13.
|
|
35
|
+
"@context-forge/core": "0.13.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuEpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4I/D"}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { FileProjectStore, detectDocuments, checkFileExists } from '@context-forge/core/node';
|
|
2
|
-
import { resolveProject } from '@context-forge/core';
|
|
3
|
-
import { projectSetAction } from './project.js';
|
|
4
|
-
import { buildAndPrint } from './build.js';
|
|
5
|
-
import { resolveProjectWorktree } from '../utils/project.js';
|
|
6
|
-
import { resolveOperationPath } from '../utils/worktree-overlay.js';
|
|
7
|
-
import { handleError, UserError } from '../utils/errors.js';
|
|
8
|
-
import { warn } from '../output/styles.js';
|
|
9
|
-
/** Validate that a compound command argument is a numeric index. */
|
|
10
|
-
function requireNumericIndex(value, commandName) {
|
|
11
|
-
if (!/^\d+$/.test(value)) {
|
|
12
|
-
throw new UserError(`'cf ${commandName}' requires a numeric index, got '${value}'.`, 'INVALID_ARGUMENT', `Use: cf ${commandName} <index> (e.g. cf ${commandName} 200)\n` +
|
|
13
|
-
` To list: cf list ${commandName === 'implement' ? 'slices' : commandName === 'tasks' ? 'tasks' : commandName + 's'}`);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
/** Warn to stderr if an artifact already exists for the given index. */
|
|
17
|
-
async function warnIfArtifactExists(projectPath, index, field, label) {
|
|
18
|
-
try {
|
|
19
|
-
const docs = await detectDocuments(projectPath, index);
|
|
20
|
-
const value = docs[field];
|
|
21
|
-
const exists = Array.isArray(value) ? value.length > 0 : value !== null;
|
|
22
|
-
if (exists) {
|
|
23
|
-
process.stderr.write(warn(`${label} already exists for index ${index}. Building prompt anyway.\n`));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
// Detection failure is not fatal
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/** Warn to stderr if the concept document already exists. */
|
|
31
|
-
async function warnIfConceptExists(opts) {
|
|
32
|
-
try {
|
|
33
|
-
const store = new FileProjectStore();
|
|
34
|
-
const { id, worktreeId } = await resolveProjectWorktree({ project: opts.project }, store);
|
|
35
|
-
const project = await resolveProject(store, id, worktreeId);
|
|
36
|
-
if (!project?.projectPath || !project.fileConcept)
|
|
37
|
-
return;
|
|
38
|
-
const opPath = resolveOperationPath(project, worktreeId) ?? project.projectPath;
|
|
39
|
-
const exists = await checkFileExists(opPath, project.fileConcept);
|
|
40
|
-
if (exists) {
|
|
41
|
-
process.stderr.write(warn('Concept document already exists. Building concept prompt anyway.\n'));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
// Detection failure is not fatal
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/** Resolve the operation path for artifact detection. */
|
|
49
|
-
async function getOperationPath(opts) {
|
|
50
|
-
try {
|
|
51
|
-
const store = new FileProjectStore();
|
|
52
|
-
const { id, worktreeId } = await resolveProjectWorktree({ project: opts.project }, store);
|
|
53
|
-
const project = await resolveProject(store, id, worktreeId);
|
|
54
|
-
if (!project?.projectPath)
|
|
55
|
-
return undefined;
|
|
56
|
-
return resolveOperationPath(project, worktreeId) ?? project.projectPath;
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
export function registerWorkflowCommands(program) {
|
|
63
|
-
// cf concept
|
|
64
|
-
program
|
|
65
|
-
.command('concept')
|
|
66
|
-
.description('Set phase to Concept and build prompt')
|
|
67
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
68
|
-
.option('--project-level', 'Force project-level field updates')
|
|
69
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
70
|
-
.action(async (opts) => {
|
|
71
|
-
try {
|
|
72
|
-
await warnIfConceptExists(opts);
|
|
73
|
-
await projectSetAction('developmentPhase', 'Phase 0: Concept', opts);
|
|
74
|
-
await buildAndPrint({ ...opts, commandHint: 'concept' });
|
|
75
|
-
}
|
|
76
|
-
catch (err) {
|
|
77
|
-
handleError(err);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
// cf initiatives
|
|
81
|
-
program
|
|
82
|
-
.command('initiatives')
|
|
83
|
-
.description('Set phase to Initiative Plan and build prompt')
|
|
84
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
85
|
-
.option('--project-level', 'Force project-level field updates')
|
|
86
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
87
|
-
.action(async (opts) => {
|
|
88
|
-
try {
|
|
89
|
-
await projectSetAction('developmentPhase', 'Phase 1: Initiative Plan', opts);
|
|
90
|
-
await buildAndPrint({ ...opts, commandHint: 'initiatives' });
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
handleError(err);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
// cf arch <index>
|
|
97
|
-
program
|
|
98
|
-
.command('arch <index>')
|
|
99
|
-
.description('Set architecture initiative and build prompt')
|
|
100
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
101
|
-
.option('--project-level', 'Force project-level field updates')
|
|
102
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
103
|
-
.action(async (index, opts) => {
|
|
104
|
-
try {
|
|
105
|
-
requireNumericIndex(index, 'arch');
|
|
106
|
-
await projectSetAction('fileArch', index, opts);
|
|
107
|
-
await projectSetAction('developmentPhase', 'Phase 2: Architecture', opts);
|
|
108
|
-
const opPath = await getOperationPath(opts);
|
|
109
|
-
if (opPath) {
|
|
110
|
-
await warnIfArtifactExists(opPath, parseInt(index, 10), 'architecture', 'Architecture document');
|
|
111
|
-
}
|
|
112
|
-
await buildAndPrint({ ...opts, commandHint: `arch ${index}` });
|
|
113
|
-
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
handleError(err);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
// cf plan <index>
|
|
119
|
-
program
|
|
120
|
-
.command('plan <index>')
|
|
121
|
-
.description('Set slice plan and build prompt')
|
|
122
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
123
|
-
.option('--project-level', 'Force project-level field updates')
|
|
124
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
125
|
-
.action(async (index, opts) => {
|
|
126
|
-
try {
|
|
127
|
-
requireNumericIndex(index, 'plan');
|
|
128
|
-
await projectSetAction('fileSlicePlan', index, opts);
|
|
129
|
-
await projectSetAction('developmentPhase', 'Phase 3: Slice Planning', opts);
|
|
130
|
-
const opPath = await getOperationPath(opts);
|
|
131
|
-
if (opPath) {
|
|
132
|
-
await warnIfArtifactExists(opPath, parseInt(index, 10), 'slicePlan', 'Slice plan');
|
|
133
|
-
}
|
|
134
|
-
await buildAndPrint({ ...opts, commandHint: `plan ${index}` });
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
handleError(err);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
// cf slice <index>
|
|
141
|
-
program
|
|
142
|
-
.command('slice <index>')
|
|
143
|
-
.description('Set active slice and build prompt')
|
|
144
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
145
|
-
.option('--project-level', 'Force project-level field updates')
|
|
146
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
147
|
-
.action(async (index, opts) => {
|
|
148
|
-
try {
|
|
149
|
-
requireNumericIndex(index, 'slice');
|
|
150
|
-
await projectSetAction('fileSlice', index, opts);
|
|
151
|
-
await projectSetAction('developmentPhase', 'Phase 4: Slice Design', opts);
|
|
152
|
-
const opPath = await getOperationPath(opts);
|
|
153
|
-
if (opPath) {
|
|
154
|
-
await warnIfArtifactExists(opPath, parseInt(index, 10), 'sliceDesign', 'Slice design');
|
|
155
|
-
}
|
|
156
|
-
await buildAndPrint({ ...opts, commandHint: `slice ${index}` });
|
|
157
|
-
}
|
|
158
|
-
catch (err) {
|
|
159
|
-
handleError(err);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
// cf tasks <index>
|
|
163
|
-
program
|
|
164
|
-
.command('tasks <index>')
|
|
165
|
-
.description('Set active task file and build prompt')
|
|
166
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
167
|
-
.option('--project-level', 'Force project-level field updates')
|
|
168
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
169
|
-
.action(async (index, opts) => {
|
|
170
|
-
try {
|
|
171
|
-
requireNumericIndex(index, 'tasks');
|
|
172
|
-
await projectSetAction('fileTasks', index, opts);
|
|
173
|
-
await projectSetAction('developmentPhase', 'Phase 5: Task Breakdown', opts);
|
|
174
|
-
const opPath = await getOperationPath(opts);
|
|
175
|
-
if (opPath) {
|
|
176
|
-
await warnIfArtifactExists(opPath, parseInt(index, 10), 'taskFile', 'Task file');
|
|
177
|
-
}
|
|
178
|
-
await buildAndPrint({ ...opts, commandHint: `tasks ${index}` });
|
|
179
|
-
}
|
|
180
|
-
catch (err) {
|
|
181
|
-
handleError(err);
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
// cf implement <index>
|
|
185
|
-
program
|
|
186
|
-
.command('implement <index>')
|
|
187
|
-
.description('Set active slice for implementation and build prompt')
|
|
188
|
-
.option('--project <name|id>', 'Project name or ID')
|
|
189
|
-
.option('--project-level', 'Force project-level field updates')
|
|
190
|
-
.option('--json', 'Output context as JSON to stdout')
|
|
191
|
-
.action(async (index, opts) => {
|
|
192
|
-
try {
|
|
193
|
-
requireNumericIndex(index, 'implement');
|
|
194
|
-
await projectSetAction('fileSlice', index, opts);
|
|
195
|
-
await projectSetAction('developmentPhase', 'Phase 6: Implementation', opts);
|
|
196
|
-
// No artifact warning for implement — implementation is always continuation
|
|
197
|
-
await buildAndPrint({ ...opts, commandHint: `implement ${index}` });
|
|
198
|
-
}
|
|
199
|
-
catch (err) {
|
|
200
|
-
handleError(err);
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=workflow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"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"}
|