@context-forge/cli 0.6.22 → 0.6.25
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 +80 -46
- package/commands/cf/arch.md +9 -0
- package/commands/cf/build.md +1 -1
- package/commands/cf/concept.md +8 -0
- package/commands/cf/implement.md +9 -0
- package/commands/cf/initiatives.md +8 -0
- package/commands/cf/plan.md +9 -0
- package/commands/cf/slice.md +9 -0
- package/commands/cf/tasks.md +9 -0
- package/dist/commands/build.d.ts +19 -3
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +51 -9
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/commandInstaller.d.ts +2 -1
- package/dist/commands/commandInstaller.d.ts.map +1 -1
- package/dist/commands/commandInstaller.js +5 -4
- package/dist/commands/commandInstaller.js.map +1 -1
- package/dist/commands/plan.js +4 -3
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +41 -12
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/task.js +6 -1
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +27 -8
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +50 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/breaking-changes.d.ts +14 -0
- package/dist/utils/breaking-changes.d.ts.map +1 -0
- package/dist/utils/breaking-changes.js +10 -0
- package/dist/utils/breaking-changes.js.map +1 -0
- package/dist/utils/commandCatalog.d.ts +25 -0
- package/dist/utils/commandCatalog.d.ts.map +1 -0
- package/dist/utils/commandCatalog.js +32 -0
- package/dist/utils/commandCatalog.js.map +1 -0
- package/dist/utils/errors.d.ts +11 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +44 -8
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/project.d.ts.map +1 -1
- package/dist/utils/project.js +4 -6
- package/dist/utils/project.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
function buildCommandEntry(cmd) {
|
|
2
|
+
// Filter out default help option and version option
|
|
3
|
+
const options = cmd.options
|
|
4
|
+
.filter((o) => !o.flags.includes('--help') && !o.flags.includes('--version'))
|
|
5
|
+
.map((o) => ({
|
|
6
|
+
flag: o.flags,
|
|
7
|
+
description: o.description,
|
|
8
|
+
}));
|
|
9
|
+
const args = (cmd.registeredArguments ?? []).map((a) => ({
|
|
10
|
+
name: a.name(),
|
|
11
|
+
required: a.required,
|
|
12
|
+
description: a.description,
|
|
13
|
+
}));
|
|
14
|
+
const subcommands = cmd.commands
|
|
15
|
+
.filter((sub) => sub.name() !== 'help')
|
|
16
|
+
.map((sub) => buildCommandEntry(sub));
|
|
17
|
+
return {
|
|
18
|
+
name: cmd.name(),
|
|
19
|
+
description: cmd.description(),
|
|
20
|
+
args,
|
|
21
|
+
options,
|
|
22
|
+
subcommands,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Walk the Commander tree and produce a machine-readable command catalog. */
|
|
26
|
+
export function buildCommandCatalog(program, version) {
|
|
27
|
+
const commands = program.commands
|
|
28
|
+
.filter((cmd) => cmd.name() !== 'help')
|
|
29
|
+
.map((cmd) => buildCommandEntry(cmd));
|
|
30
|
+
return { version, commands };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=commandCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandCatalog.js","sourceRoot":"","sources":["../../src/utils/commandCatalog.ts"],"names":[],"mappings":"AA0BA,SAAS,iBAAiB,CAAC,GAAY;IACrC,oDAAoD;IACpD,MAAM,OAAO,GAAoB,GAAG,CAAC,OAAO;SACzC,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC/F,GAAG,CAAC,CAAC,CAAyC,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,CAAC,KAAK;QACb,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC,CAAC,CAAC;IAEN,MAAM,IAAI,GAAiB,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAC5D,CAAC,CAAiE,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC,CACH,CAAC;IAEF,MAAM,WAAW,GAAqB,GAAG,CAAC,QAAQ;SAC/C,MAAM,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;SAC/C,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;QAChB,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;QAC9B,IAAI;QACJ,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,OAAe;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;SAC9B,MAAM,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;SAC/C,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
|
+
/** Standard error codes for machine-readable error responses. */
|
|
2
|
+
export type ErrorCode = 'PROJECT_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'INVALID_ARGUMENT' | 'INVALID_VALUE' | 'MISSING_CONFIG' | 'ARTIFACT_NOT_FOUND' | 'READ_ONLY' | 'ALREADY_EXISTS';
|
|
1
3
|
/**
|
|
2
4
|
* User-facing error — printed without stack trace.
|
|
3
5
|
* Use for expected failure conditions (missing config, invalid arguments, etc).
|
|
4
6
|
*/
|
|
5
7
|
export declare class UserError extends Error {
|
|
6
|
-
|
|
8
|
+
code?: ErrorCode;
|
|
9
|
+
suggestion?: string;
|
|
10
|
+
constructor(message: string, code?: ErrorCode, suggestion?: string);
|
|
7
11
|
}
|
|
12
|
+
/** Enable JSON-structured error output. Called when --json is parsed. */
|
|
13
|
+
export declare function setJsonMode(): void;
|
|
14
|
+
/** Check if JSON mode is active (flag or CF_JSON env var). */
|
|
15
|
+
export declare function isJsonMode(): boolean;
|
|
8
16
|
/**
|
|
9
17
|
* Top-level error handler. Prints the message and exits with code 1.
|
|
10
|
-
*
|
|
18
|
+
* In JSON mode, outputs structured JSON to stderr.
|
|
19
|
+
* Otherwise, UserErrors get a clean message; unexpected errors get a brief summary.
|
|
11
20
|
*/
|
|
12
21
|
export declare function handleError(err: unknown): never;
|
|
13
22
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,MAAM,SAAS,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,WAAW,GACX,gBAAgB,CAAC;AAErB;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM;CAMnE;AAKD,yEAAyE;AACzE,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CA0B/C"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -3,24 +3,60 @@
|
|
|
3
3
|
* Use for expected failure conditions (missing config, invalid arguments, etc).
|
|
4
4
|
*/
|
|
5
5
|
export class UserError extends Error {
|
|
6
|
-
|
|
6
|
+
code;
|
|
7
|
+
suggestion;
|
|
8
|
+
constructor(message, code, suggestion) {
|
|
7
9
|
super(message);
|
|
8
10
|
this.name = 'UserError';
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.suggestion = suggestion;
|
|
9
13
|
}
|
|
10
14
|
}
|
|
15
|
+
/** Module-level JSON mode flag — set during option parsing. */
|
|
16
|
+
let jsonMode = false;
|
|
17
|
+
/** Enable JSON-structured error output. Called when --json is parsed. */
|
|
18
|
+
export function setJsonMode() {
|
|
19
|
+
jsonMode = true;
|
|
20
|
+
}
|
|
21
|
+
/** Check if JSON mode is active (flag or CF_JSON env var). */
|
|
22
|
+
export function isJsonMode() {
|
|
23
|
+
return jsonMode || process.env.CF_JSON === '1';
|
|
24
|
+
}
|
|
11
25
|
/**
|
|
12
26
|
* Top-level error handler. Prints the message and exits with code 1.
|
|
13
|
-
*
|
|
27
|
+
* In JSON mode, outputs structured JSON to stderr.
|
|
28
|
+
* Otherwise, UserErrors get a clean message; unexpected errors get a brief summary.
|
|
14
29
|
*/
|
|
15
30
|
export function handleError(err) {
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
31
|
+
if (isJsonMode()) {
|
|
32
|
+
const jsonError = { error: true };
|
|
33
|
+
if (err instanceof UserError) {
|
|
34
|
+
jsonError.code = err.code ?? 'UNKNOWN';
|
|
35
|
+
jsonError.message = err.message;
|
|
36
|
+
if (err.suggestion)
|
|
37
|
+
jsonError.suggestion = err.suggestion;
|
|
38
|
+
}
|
|
39
|
+
else if (err instanceof Error) {
|
|
40
|
+
jsonError.code = 'UNKNOWN';
|
|
41
|
+
jsonError.message = err.message;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
jsonError.code = 'UNKNOWN';
|
|
45
|
+
jsonError.message = String(err);
|
|
46
|
+
}
|
|
47
|
+
process.stderr.write(JSON.stringify(jsonError) + '\n');
|
|
21
48
|
}
|
|
22
49
|
else {
|
|
23
|
-
|
|
50
|
+
if (err instanceof UserError) {
|
|
51
|
+
const msg = err.suggestion ? `${err.message}\n ${err.suggestion}` : err.message;
|
|
52
|
+
console.error(msg);
|
|
53
|
+
}
|
|
54
|
+
else if (err instanceof Error) {
|
|
55
|
+
console.error(`Error: ${err.message}`);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
console.error(`Error: ${String(err)}`);
|
|
59
|
+
}
|
|
24
60
|
}
|
|
25
61
|
process.exit(1);
|
|
26
62
|
}
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAa;IACjB,UAAU,CAAU;IAEpB,YAAY,OAAe,EAAE,IAAgB,EAAE,UAAmB;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,+DAA+D;AAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,yEAAyE;AACzE,MAAM,UAAU,WAAW;IACzB,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAA4B,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;YACvC,SAAS,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChC,IAAI,GAAG,CAAC,UAAU;gBAAE,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5D,CAAC;aAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;YAC3B,SAAS,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;YAC3B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YACjF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAwB,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAW7B;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;IACzB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC5C,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAwB,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAW7B;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;IACzB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC5C,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,uBAAuB,CAAC,CAsDlC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,eAAe,CAAC,CAG1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,OAAO,qBAAqB,EAAE,eAAe,GAAG,SAAS,CAAC,CAapE"}
|
package/dist/utils/project.js
CHANGED
|
@@ -73,8 +73,7 @@ export async function resolveProjectWorktree(opts, store) {
|
|
|
73
73
|
if (explicit) {
|
|
74
74
|
const project = await findByNameOrId(explicit, store);
|
|
75
75
|
if (!project) {
|
|
76
|
-
throw new UserError(`Project '${explicit}' not found
|
|
77
|
-
' Check the spelling, or run cf project list to see available projects.');
|
|
76
|
+
throw new UserError(`Project '${explicit}' not found.`, 'PROJECT_NOT_FOUND', `Check the spelling, or run cf project list to see available projects.`);
|
|
78
77
|
}
|
|
79
78
|
const resolved = { id: project.id, source: 'flag' };
|
|
80
79
|
if (opts.worktree) {
|
|
@@ -109,10 +108,9 @@ export async function resolveProjectWorktree(opts, store) {
|
|
|
109
108
|
// Git unavailable or not a git repo — fall through
|
|
110
109
|
}
|
|
111
110
|
// Step 3: no resolution
|
|
112
|
-
throw new UserError('No project specified and no registered project found at current path
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
' cf project list # see registered projects');
|
|
111
|
+
throw new UserError('No project specified and no registered project found at current path.', 'PROJECT_NOT_FOUND', `cf init # register current directory as a project\n` +
|
|
112
|
+
` --project <name> # specify a project explicitly\n` +
|
|
113
|
+
` cf project list # see registered projects`);
|
|
116
114
|
}
|
|
117
115
|
/**
|
|
118
116
|
* Resolves which project to use via a three-step chain.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.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.6.
|
|
3
|
+
"version": "0.6.25",
|
|
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.6.
|
|
35
|
+
"@context-forge/core": "0.6.25"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|