@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
package/README.md
CHANGED
|
@@ -31,28 +31,24 @@ cf install-commands
|
|
|
31
31
|
# All commands are discoverable
|
|
32
32
|
cf --help
|
|
33
33
|
cf project --help
|
|
34
|
-
#etc.
|
|
35
34
|
|
|
36
35
|
# Check project status
|
|
37
36
|
cf status
|
|
38
37
|
|
|
39
|
-
#
|
|
40
|
-
cf
|
|
38
|
+
# Compound workflow commands — set phase + artifact + build context in one step
|
|
39
|
+
cf concept # Start concept phase
|
|
40
|
+
cf slice 208 # Set active slice 208, switch to slice design phase, build context
|
|
41
|
+
cf implement 208 # Switch to implementation phase for slice 208
|
|
41
42
|
|
|
42
|
-
#
|
|
43
|
-
cf build --phase task-breakdown
|
|
44
|
-
|
|
45
|
-
# Set project fields
|
|
43
|
+
# Set project fields individually
|
|
46
44
|
cf set phase 6
|
|
47
45
|
cf set slice 175
|
|
48
46
|
|
|
49
|
-
# Confirm updates (if you like)
|
|
50
|
-
cf status
|
|
51
|
-
|
|
52
47
|
# Browse project artifacts
|
|
53
|
-
cf
|
|
54
|
-
cf
|
|
55
|
-
cf tasks
|
|
48
|
+
cf list initiatives # Architecture initiatives
|
|
49
|
+
cf list slices # Slices in the active plan
|
|
50
|
+
cf list tasks # Task files with progress
|
|
51
|
+
cf list items # Individual tasks from the active task file
|
|
56
52
|
|
|
57
53
|
# What should I do next?
|
|
58
54
|
cf next
|
|
@@ -74,38 +70,79 @@ When installed via `cf install-commands`, these slash commands are available dir
|
|
|
74
70
|
| Command | Description |
|
|
75
71
|
|---------|-------------|
|
|
76
72
|
| `/cf:build` | Build a context prompt (accepts `--phase`, `--slice` flags) |
|
|
73
|
+
| `/cf:concept` | Set phase to Concept and build context |
|
|
74
|
+
| `/cf:initiatives` | Set phase to Initiative Plan and build context |
|
|
75
|
+
| `/cf:arch <index>` | Set architecture initiative and build context |
|
|
76
|
+
| `/cf:plan <index>` | Set slice plan and build context |
|
|
77
|
+
| `/cf:slice <index>` | Set active slice and build context |
|
|
78
|
+
| `/cf:tasks <index>` | Set active task file and build context |
|
|
79
|
+
| `/cf:implement <index>` | Set slice for implementation and build context |
|
|
77
80
|
| `/cf:status` | Show project workflow status |
|
|
78
81
|
| `/cf:get` | Show all project fields |
|
|
79
82
|
| `/cf:set` | Set a project field (e.g., `/cf:set phase 6`) |
|
|
80
83
|
| `/cf:prompt` | Get or list prompt templates (e.g., `/cf:prompt P5` or `/cf:prompt list`) |
|
|
81
84
|
| `/cf:project` | Manage projects (e.g., `/cf:project list`, `/cf:project --schema`) |
|
|
82
85
|
| `/cf:next` | Show recommended next action |
|
|
86
|
+
| `/cf:check` | Run consistency checks on project artifacts |
|
|
87
|
+
| `/cf:onboard` | AI-guided project setup |
|
|
83
88
|
|
|
84
89
|
Each command runs `cf` under the hood — same CWD-based project resolution, same output.
|
|
85
90
|
|
|
86
91
|
## Commands Reference
|
|
87
92
|
|
|
93
|
+
### Compound Workflow Commands
|
|
94
|
+
|
|
95
|
+
One command sets the appropriate artifact + phase, then builds context:
|
|
96
|
+
|
|
97
|
+
| Command | Description |
|
|
98
|
+
|---------|-------------|
|
|
99
|
+
| `cf concept` | Set phase to Concept, build context |
|
|
100
|
+
| `cf initiatives` | Set phase to Initiative Plan, build context |
|
|
101
|
+
| `cf arch <index>` | Set architecture initiative, build context |
|
|
102
|
+
| `cf plan <index>` | Set slice plan, build context |
|
|
103
|
+
| `cf slice <index>` | Set active slice, build context |
|
|
104
|
+
| `cf tasks <index>` | Set active task file, build context |
|
|
105
|
+
| `cf implement <index>` | Set slice for implementation, build context |
|
|
106
|
+
|
|
107
|
+
### Listing Commands
|
|
108
|
+
|
|
109
|
+
| Command | Description |
|
|
110
|
+
|---------|-------------|
|
|
111
|
+
| `cf list projects` | List all registered projects |
|
|
112
|
+
| `cf list initiatives` | Architecture initiatives with slice counts |
|
|
113
|
+
| `cf list arch` | Alias for `cf list initiatives` |
|
|
114
|
+
| `cf list plans` | Slice plan files with completion progress |
|
|
115
|
+
| `cf list slices` | Slices from the active plan with status |
|
|
116
|
+
| `cf list tasks` | Task files from the plan with progress |
|
|
117
|
+
| `cf list items` | Individual tasks from the active task file |
|
|
118
|
+
|
|
119
|
+
### Project & Workflow
|
|
120
|
+
|
|
88
121
|
| Command | Usage | Description |
|
|
89
122
|
|---------|-------|-------------|
|
|
90
|
-
| `cf init` | `cf init` | Register the current directory as a
|
|
91
|
-
| `cf status` | `cf status [--
|
|
92
|
-
| `cf next` | `cf next [--
|
|
93
|
-
| `cf build` | `cf build [--
|
|
94
|
-
| `cf set` | `cf set <field> <value>` | Set a project field
|
|
95
|
-
| `cf get` | `cf get [--json]` | Show all project fields
|
|
96
|
-
| `cf
|
|
97
|
-
| `cf
|
|
98
|
-
| `cf slice` | `cf slice list [--json]` | List slices from the active plan with status |
|
|
99
|
-
| `cf tasks` | `cf tasks list [--json]` | List task files from the plan with progress |
|
|
100
|
-
| `cf tasks items` | `cf tasks items [--json]` | Show individual tasks from the active task file |
|
|
101
|
-
| `cf worktree` | `cf worktree init\|list\|get\|update\|rm` | Manage git worktree contexts for parallel initiatives |
|
|
102
|
-
| `cf config` | `cf config list\|get\|set` | Manage configuration |
|
|
123
|
+
| `cf init` | `cf init` | Register the current directory as a project |
|
|
124
|
+
| `cf status` | `cf status [--json]` | Show workflow status |
|
|
125
|
+
| `cf next` | `cf next [--json]` | Show recommended next action |
|
|
126
|
+
| `cf build` | `cf build [--phase] [--slice] [--json]` | Generate context prompt |
|
|
127
|
+
| `cf set` | `cf set <field> <value>` | Set a project field |
|
|
128
|
+
| `cf get` | `cf get [--json]` | Show all project fields |
|
|
129
|
+
| `cf check` | `cf check [--fix] [--slice <n>] [--json]` | Run consistency checks |
|
|
130
|
+
| `cf future` | `cf future [--status <filter>] [--json]` | Consolidated future work |
|
|
103
131
|
| `cf project` | `cf project list\|get\|set\|rm` | Manage projects |
|
|
104
|
-
| `cf
|
|
105
|
-
| `cf
|
|
106
|
-
| `cf
|
|
107
|
-
|
|
108
|
-
|
|
132
|
+
| `cf prompt` | `cf prompt list\|get <phase>` | Access prompt templates |
|
|
133
|
+
| `cf version` | `cf version [--json]` | Show version (JSON includes breaking changes) |
|
|
134
|
+
| `cf help` | `cf help [--json]` | Show help (JSON outputs command catalog) |
|
|
135
|
+
|
|
136
|
+
### Administration
|
|
137
|
+
|
|
138
|
+
| Command | Description |
|
|
139
|
+
|---------|-------------|
|
|
140
|
+
| `cf worktree init\|list\|get\|update\|rm` | Manage git worktree contexts |
|
|
141
|
+
| `cf config get\|set` | Manage configuration |
|
|
142
|
+
| `cf guides install\|status\|update\|uninstall` | Manage ai-project-guide templates |
|
|
143
|
+
| `cf backup` | Create versioned backup of project data |
|
|
144
|
+
| `cf install-commands` | Install Claude Code slash commands |
|
|
145
|
+
| `cf setup-ide claude` | Configure IDE integration |
|
|
109
146
|
|
|
110
147
|
## Common Options
|
|
111
148
|
|
|
@@ -172,23 +209,9 @@ cf set slice 166
|
|
|
172
209
|
|
|
173
210
|
Setting `fileSlice` always auto-sets `fileTasks` to match.
|
|
174
211
|
|
|
175
|
-
## Discovery Commands
|
|
176
|
-
|
|
177
|
-
Browse project artifacts at every level:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
cf arch list # Architecture initiatives with slice counts
|
|
181
|
-
cf plan list # Slice plan files with completion progress
|
|
182
|
-
cf slice list # Slices from the active plan with status markers
|
|
183
|
-
cf tasks list # Task files from the plan with completion counts
|
|
184
|
-
cf tasks items # Individual task items from the active task file
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
All accept `--json` and `--project <name|id>`.
|
|
188
|
-
|
|
189
212
|
## Architecture
|
|
190
213
|
|
|
191
|
-
The CLI wraps `@context-forge/core` directly (no MCP layer)
|
|
214
|
+
The CLI wraps `@context-forge/core` directly (no MCP layer). All core services are imported from `@context-forge/core/node`.
|
|
192
215
|
|
|
193
216
|
## Development (monorepo)
|
|
194
217
|
|
|
@@ -201,6 +224,17 @@ pnpm --filter @context-forge/cli typecheck # Type check
|
|
|
201
224
|
|
|
202
225
|
## Changelog
|
|
203
226
|
|
|
227
|
+
### v0.6.0
|
|
228
|
+
|
|
229
|
+
- **Compound workflow commands** — `cf concept`, `cf initiatives`, `cf arch <n>`, `cf plan <n>`, `cf slice <n>`, `cf tasks <n>`, `cf implement <n>` set artifact + phase + build context in one step
|
|
230
|
+
- **`cf list` consolidation** — all artifact listing under `cf list <type>` (`cf list slices`, `cf list tasks`, etc.)
|
|
231
|
+
- **Slash commands** — 16 Claude Code slash commands for compound commands, status, and workflow
|
|
232
|
+
- **`cf help --json`** — machine-readable command catalog for agent consumption
|
|
233
|
+
- **`cf version --json`** — version introspection with breaking changes tracking
|
|
234
|
+
- **Structured JSON errors** — error codes on all `UserError` instances, JSON error output via `--json` or `CF_JSON=1`
|
|
235
|
+
- **Idempotent set** — `cf set` detects no-change and skips write
|
|
236
|
+
- **`cf guides uninstall`** — clean removal of guide submodule or clone
|
|
237
|
+
|
|
204
238
|
### v0.5.0
|
|
205
239
|
|
|
206
240
|
- **Worktree support** — `cf worktree init|list|get|update|rm` for parallel multi-initiative development; `cf status --worktree` and `--worktrees` for cross-directory access
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set architecture initiative and build prompt
|
|
3
|
+
argument-hint: <index>
|
|
4
|
+
allowed-tools: Bash(cf:*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase} | {arch}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
8
|
+
|
|
9
|
+
!`cf arch $ARGUMENTS --json`
|
package/commands/cf/build.md
CHANGED
|
@@ -6,4 +6,4 @@ allowed-tools: Bash(cf:*)
|
|
|
6
6
|
|
|
7
7
|
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase} | {slice}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
8
8
|
|
|
9
|
-
!`cf build $ARGUMENTS`
|
|
9
|
+
!`cf build $ARGUMENTS --json`
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set phase to Concept and build prompt
|
|
3
|
+
allowed-tools: Bash(cf:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
7
|
+
|
|
8
|
+
!`cf concept --json`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set active slice for implementation and build prompt
|
|
3
|
+
argument-hint: <index>
|
|
4
|
+
allowed-tools: Bash(cf:*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase} | {slice}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
8
|
+
|
|
9
|
+
!`cf implement $ARGUMENTS --json`
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set phase to Initiative Plan and build prompt
|
|
3
|
+
allowed-tools: Bash(cf:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
7
|
+
|
|
8
|
+
!`cf initiatives --json`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set slice plan and build prompt
|
|
3
|
+
argument-hint: <index>
|
|
4
|
+
allowed-tools: Bash(cf:*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase} | {plan}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
8
|
+
|
|
9
|
+
!`cf plan $ARGUMENTS --json`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set active slice and build prompt
|
|
3
|
+
argument-hint: <index>
|
|
4
|
+
allowed-tools: Bash(cf:*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase} | {slice}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
8
|
+
|
|
9
|
+
!`cf slice $ARGUMENTS --json`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set active task file and build prompt
|
|
3
|
+
argument-hint: <index>
|
|
4
|
+
allowed-tools: Bash(cf:*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the following as your working context. Confirm receipt with a one-line summary: "Context loaded: {project} | {phase} | {tasks}" — then follow the instruction prompt. If the instruction prompt contains a STOP condition, STOP — do not begin work.
|
|
8
|
+
|
|
9
|
+
!`cf tasks $ARGUMENTS --json`
|
package/dist/commands/build.d.ts
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
|
|
3
|
-
export declare function buildAndPrint(opts: {
|
|
2
|
+
interface BuildAndPrintOpts {
|
|
4
3
|
project?: string;
|
|
5
4
|
phase?: string;
|
|
6
5
|
slice?: string;
|
|
7
|
-
|
|
6
|
+
json?: boolean;
|
|
7
|
+
/** Hint for the help message, e.g. "slice 208". Defaults to "build". */
|
|
8
|
+
commandHint?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Core build logic: resolves project, generates context.
|
|
12
|
+
*
|
|
13
|
+
* Output modes:
|
|
14
|
+
* - `--json`: JSON object to stdout with project, phase, and context fields
|
|
15
|
+
* - bare CLI: help message to stderr, nothing to stdout
|
|
16
|
+
*
|
|
17
|
+
* Slash commands call the CLI, which outputs to stdout — the slash command
|
|
18
|
+
* wrapper captures and frames it as working context. Since bare CLI now shows
|
|
19
|
+
* a help message instead of raw prompt, slash commands use `--json` implicitly
|
|
20
|
+
* (the `!` backtick syntax in the .md file captures stdout).
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildAndPrint(opts: BuildAndPrintOpts): Promise<void>;
|
|
8
23
|
export declare function registerBuildCommand(program: Command): void;
|
|
24
|
+
export {};
|
|
9
25
|
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD1E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+E3D"}
|
package/dist/commands/build.js
CHANGED
|
@@ -3,18 +3,28 @@ import { resolvePhaseValue } from '@context-forge/core';
|
|
|
3
3
|
import { resolveProject } from '@context-forge/core';
|
|
4
4
|
import { resolveProjectWorktree } from '../utils/project.js';
|
|
5
5
|
import { handleError, UserError } from '../utils/errors.js';
|
|
6
|
-
import {
|
|
7
|
-
/**
|
|
6
|
+
import { printJson } from '../output/formatter.js';
|
|
7
|
+
/**
|
|
8
|
+
* Core build logic: resolves project, generates context.
|
|
9
|
+
*
|
|
10
|
+
* Output modes:
|
|
11
|
+
* - `--json`: JSON object to stdout with project, phase, and context fields
|
|
12
|
+
* - bare CLI: help message to stderr, nothing to stdout
|
|
13
|
+
*
|
|
14
|
+
* Slash commands call the CLI, which outputs to stdout — the slash command
|
|
15
|
+
* wrapper captures and frames it as working context. Since bare CLI now shows
|
|
16
|
+
* a help message instead of raw prompt, slash commands use `--json` implicitly
|
|
17
|
+
* (the `!` backtick syntax in the .md file captures stdout).
|
|
18
|
+
*/
|
|
8
19
|
export async function buildAndPrint(opts) {
|
|
9
20
|
const store = new FileProjectStore();
|
|
10
21
|
const { id, worktreeId } = await resolveProjectWorktree({ project: opts.project }, store);
|
|
11
22
|
const project = await resolveProject(store, id, worktreeId);
|
|
12
23
|
if (!project) {
|
|
13
|
-
throw new UserError(`Project not found: '${id}'
|
|
24
|
+
throw new UserError(`Project not found: '${id}'.`, 'PROJECT_NOT_FOUND', `Run cf project list to see available projects.`);
|
|
14
25
|
}
|
|
15
26
|
if (!project.projectPath) {
|
|
16
|
-
throw new UserError(`Project '${project.name}' has no projectPath configured
|
|
17
|
-
' cf project set projectPath /path/to/project');
|
|
27
|
+
throw new UserError(`Project '${project.name}' has no projectPath configured.`, 'MISSING_CONFIG', `Run: cf project set projectPath /path/to/project`);
|
|
18
28
|
}
|
|
19
29
|
// Status message goes to stderr so stdout stays clean for piping
|
|
20
30
|
process.stderr.write(`Building context for ${project.name}...\n`);
|
|
@@ -33,12 +43,29 @@ export async function buildAndPrint(opts) {
|
|
|
33
43
|
workingCopy.fileSlice = opts.slice;
|
|
34
44
|
const { integrator } = createContextPipeline(workingCopy.projectPath);
|
|
35
45
|
const contextString = await integrator.generateContextFromProject(workingCopy, worktreeId);
|
|
36
|
-
|
|
46
|
+
if (opts.json) {
|
|
47
|
+
// --json mode: structured output to stdout
|
|
48
|
+
printJson({
|
|
49
|
+
project: project.name,
|
|
50
|
+
phase: workingCopy.developmentPhase ?? null,
|
|
51
|
+
context: contextString,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Bare CLI: help message to stderr, nothing to stdout
|
|
56
|
+
const cmd = opts.commandHint ?? 'build';
|
|
57
|
+
const sliceInfo = workingCopy.fileSlice ? `, slice ${workingCopy.fileSlice}` : '';
|
|
58
|
+
const phaseInfo = workingCopy.developmentPhase ?? 'no phase set';
|
|
59
|
+
process.stderr.write(`\nContext built for ${project.name} (${phaseInfo}${sliceInfo}).\n\n` +
|
|
60
|
+
`To use this context:\n` +
|
|
61
|
+
` /cf:${cmd.split(' ')[0]} ${cmd.includes(' ') ? cmd.split(' ').slice(1).join(' ') : '$ARGUMENTS'} — load as working context in Claude Code\n` +
|
|
62
|
+
` cf ${cmd} --json${cmd === 'build' ? '' : ' '} — output as JSON for pipelines\n`);
|
|
63
|
+
}
|
|
37
64
|
}
|
|
38
65
|
export function registerBuildCommand(program) {
|
|
39
66
|
program
|
|
40
67
|
.command('build')
|
|
41
|
-
.description('Generate
|
|
68
|
+
.description('Generate a context prompt')
|
|
42
69
|
.option('--project <id>', 'Project ID or name (overrides default)')
|
|
43
70
|
.option('--phase <phase>', 'Override development phase')
|
|
44
71
|
.option('--slice <slice>', 'Override slice name')
|
|
@@ -47,13 +74,14 @@ export function registerBuildCommand(program) {
|
|
|
47
74
|
.option('--it <type>', 'Shorthand for --instruction-type')
|
|
48
75
|
.option('--tasks <tasks>', 'Override task file name')
|
|
49
76
|
.option('--additional <text>', 'Additional instructions to append')
|
|
77
|
+
.option('--json', 'Output context as JSON to stdout')
|
|
50
78
|
.action(async (opts) => {
|
|
51
79
|
try {
|
|
52
80
|
const store = new FileProjectStore();
|
|
53
81
|
const { id, worktreeId } = await resolveProjectWorktree({ project: opts.project }, store);
|
|
54
82
|
const project = await resolveProject(store, id, worktreeId);
|
|
55
83
|
if (!project) {
|
|
56
|
-
throw new UserError(`Project not found: '${id}'
|
|
84
|
+
throw new UserError(`Project not found: '${id}'.`, 'PROJECT_NOT_FOUND', `Run cf project list to see available projects.`);
|
|
57
85
|
}
|
|
58
86
|
if (!project.projectPath) {
|
|
59
87
|
throw new UserError(`Project '${project.name}' has no projectPath configured.\n` +
|
|
@@ -86,7 +114,21 @@ export function registerBuildCommand(program) {
|
|
|
86
114
|
if (opts.additional) {
|
|
87
115
|
contextString = `${contextString}\n\n${opts.additional}`;
|
|
88
116
|
}
|
|
89
|
-
|
|
117
|
+
if (opts.json) {
|
|
118
|
+
printJson({
|
|
119
|
+
project: project.name,
|
|
120
|
+
phase: workingCopy.developmentPhase ?? null,
|
|
121
|
+
context: contextString,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
const sliceInfo = workingCopy.fileSlice ? `, slice ${workingCopy.fileSlice}` : '';
|
|
126
|
+
const phaseInfo = workingCopy.developmentPhase ?? 'no phase set';
|
|
127
|
+
process.stderr.write(`\nContext built for ${project.name} (${phaseInfo}${sliceInfo}).\n\n` +
|
|
128
|
+
`To use this context:\n` +
|
|
129
|
+
` /cf:build $ARGUMENTS — load as working context in Claude Code\n` +
|
|
130
|
+
` cf build --json — output as JSON for pipelines\n`);
|
|
131
|
+
}
|
|
90
132
|
}
|
|
91
133
|
catch (err) {
|
|
92
134
|
handleError(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,8 @@ export declare function getSourceCommandsDir(): string;
|
|
|
10
10
|
export declare function installCommands(targetDir: string): string[];
|
|
11
11
|
/**
|
|
12
12
|
* Remove managed command files from the target.
|
|
13
|
-
*
|
|
13
|
+
* "Managed" = any .md file that exists in the bundled source directory.
|
|
14
|
+
* Preserves user-added files not in the source. Removes cf/ if empty.
|
|
14
15
|
* No error if files or directory don't exist (idempotent).
|
|
15
16
|
*
|
|
16
17
|
* @returns List of removed filenames.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandInstaller.d.ts","sourceRoot":"","sources":["../../src/commands/commandInstaller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"commandInstaller.d.ts","sourceRoot":"","sources":["../../src/commands/commandInstaller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,kFAAkF;AAClF,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAY3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB7D;AAOD,mGAAmG;AACnG,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAO9D;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiBrE;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBvE"}
|
|
@@ -5,8 +5,6 @@ import { fileURLToPath } from 'node:url';
|
|
|
5
5
|
import { success, dim } from '../output/styles.js';
|
|
6
6
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
7
|
const __dirname = path.dirname(__filename);
|
|
8
|
-
/** Known command files managed by install/uninstall. */
|
|
9
|
-
const MANAGED_FILES = ['status.md', 'build.md', 'next.md', 'prompt.md', 'get.md', 'set.md', 'project.md', 'onboard.md', 'check.md'];
|
|
10
8
|
/** Resolve the bundled commands/ directory relative to this script's location. */
|
|
11
9
|
export function getSourceCommandsDir() {
|
|
12
10
|
// In dist: dist/commands/commandInstaller.js → ../../commands/
|
|
@@ -35,15 +33,18 @@ export function installCommands(targetDir) {
|
|
|
35
33
|
}
|
|
36
34
|
/**
|
|
37
35
|
* Remove managed command files from the target.
|
|
38
|
-
*
|
|
36
|
+
* "Managed" = any .md file that exists in the bundled source directory.
|
|
37
|
+
* Preserves user-added files not in the source. Removes cf/ if empty.
|
|
39
38
|
* No error if files or directory don't exist (idempotent).
|
|
40
39
|
*
|
|
41
40
|
* @returns List of removed filenames.
|
|
42
41
|
*/
|
|
43
42
|
export function uninstallCommands(targetDir) {
|
|
43
|
+
const sourceDir = path.join(getSourceCommandsDir(), 'cf');
|
|
44
|
+
const managedFiles = fs.readdirSync(sourceDir).filter((f) => f.endsWith('.md'));
|
|
44
45
|
const targetCfDir = path.join(targetDir, 'cf');
|
|
45
46
|
const removed = [];
|
|
46
|
-
for (const file of
|
|
47
|
+
for (const file of managedFiles) {
|
|
47
48
|
const filePath = path.join(targetCfDir, file);
|
|
48
49
|
if (fs.existsSync(filePath)) {
|
|
49
50
|
fs.rmSync(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandInstaller.js","sourceRoot":"","sources":["../../src/commands/commandInstaller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"commandInstaller.js","sourceRoot":"","sources":["../../src/commands/commandInstaller.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/plan.js
CHANGED
|
@@ -59,10 +59,11 @@ export async function planListAction(opts) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
planFiles.sort((a, b) => a.filename.localeCompare(b.filename));
|
|
62
|
-
if (scanPaths.length > 0 && planFiles.length === 0 && !seen.size) {
|
|
63
|
-
throw new UserError('Architecture directory not found: project-documents/user/architecture/');
|
|
64
|
-
}
|
|
65
62
|
if (planFiles.length === 0) {
|
|
63
|
+
if (opts.json) {
|
|
64
|
+
console.log(JSON.stringify([]));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
66
67
|
console.log(dim('No slice plans found in project.'));
|
|
67
68
|
return;
|
|
68
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+GpC,sEAAsE;AACtE,wBAAgB,uBAAuB,IAAI,MAAM,CA0BhD;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+GpC,sEAAsE;AACtE,wBAAgB,uBAAuB,IAAI,MAAM,CA0BhD;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAiLf;AAED,mEAAmE;AACnE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,CACpC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACjE,OAAO,CAAC,IAAI,CAAC,CA8Ef;AAED,sDAAsD;AACtD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2G7D"}
|