cc-pipeline 0.6.0 → 0.6.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/README.md +28 -35
- package/bin/cc-pipeline.js +4 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,10 +17,6 @@ Think of it as a CI/CD system for AI-driven development—but instead of deployi
|
|
|
17
17
|
|
|
18
18
|
- **Node.js** >=18
|
|
19
19
|
- **Claude CLI** (`claude`) installed and configured ([get it here](https://docs.claude.ai/docs/claude-cli))
|
|
20
|
-
- **tmux** — Required for interactive build/fix steps (Claude runs inside tmux sessions)
|
|
21
|
-
- macOS: `brew install tmux`
|
|
22
|
-
- Ubuntu/Debian: `sudo apt install tmux`
|
|
23
|
-
- Fedora: `sudo dnf install tmux`
|
|
24
20
|
- **git** — For the commit step (you probably already have this)
|
|
25
21
|
|
|
26
22
|
## Installation
|
|
@@ -63,21 +59,11 @@ one-at-a-time to build a good brief.
|
|
|
63
59
|
|
|
64
60
|
### 3. Run the pipeline
|
|
65
61
|
|
|
66
|
-
> **⚠️ Run from a regular terminal, not from inside Claude Code.** The pipeline spawns its own Claude Code sessions in tmux, so running it from within Claude Code would nest sessions — which isn't supported.
|
|
67
|
-
|
|
68
62
|
```bash
|
|
69
63
|
npx cc-pipeline run
|
|
70
64
|
```
|
|
71
65
|
|
|
72
|
-
That's it
|
|
73
|
-
|
|
74
|
-
### 4. Monitor progress
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
npx cc-pipeline status
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
The pipeline also generates a `STATUS.md` at the project root after each phase — a running summary of what's been built, review findings, test coverage, and what's next.
|
|
66
|
+
The TUI launches automatically in a terminal, showing live step progress, agent activity, and per-step timers. That's it — the pipeline will spec, build, review, fix, and commit each phase automatically.
|
|
81
67
|
|
|
82
68
|
## Commands
|
|
83
69
|
|
|
@@ -85,7 +71,7 @@ The pipeline also generates a `STATUS.md` at the project root after each phase
|
|
|
85
71
|
|---------|-------------|
|
|
86
72
|
| `npx cc-pipeline@latest init` | Scaffold `.pipeline/`, `CLAUDE.md`, and `BRIEF.md.example` |
|
|
87
73
|
| `npx cc-pipeline@latest update` | Refresh prompts and docs (preserves your `workflow.yaml`) |
|
|
88
|
-
| `npx cc-pipeline run [
|
|
74
|
+
| `npx cc-pipeline run [options]` | Run the pipeline |
|
|
89
75
|
| `npx cc-pipeline status` | Show current phase, step, and recent events |
|
|
90
76
|
| `npx cc-pipeline reset` | Clear event log, phase outputs, and STATUS.md |
|
|
91
77
|
|
|
@@ -95,13 +81,16 @@ The pipeline also generates a `STATUS.md` at the project root after each phase
|
|
|
95
81
|
|
|
96
82
|
- `--phases <n>` — Limit to N phases (useful for testing)
|
|
97
83
|
- `--model <name>` — Override model for all steps (e.g., `opus`, `sonnet`, `haiku`)
|
|
84
|
+
- `--ui` — Force TUI on (default: auto-detects TTY)
|
|
85
|
+
- `--no-ui` — Plain log output, no TUI (useful for CI/pipes)
|
|
98
86
|
|
|
99
87
|
### Examples
|
|
100
88
|
|
|
101
89
|
```bash
|
|
102
|
-
npx cc-pipeline run # Run until complete
|
|
90
|
+
npx cc-pipeline run # Run until complete (TUI auto-enabled)
|
|
103
91
|
npx cc-pipeline run --phases 3 # Run just 3 phases
|
|
104
92
|
npx cc-pipeline run --model opus # Use opus for all steps
|
|
93
|
+
npx cc-pipeline run --no-ui # Plain output, no TUI
|
|
105
94
|
npx cc-pipeline reset # Start over from scratch
|
|
106
95
|
```
|
|
107
96
|
|
|
@@ -120,7 +109,7 @@ Each phase runs through these steps (defined in `.pipeline/workflow.yaml`):
|
|
|
120
109
|
1. **spec** — Break the project vision into a phase spec
|
|
121
110
|
2. **research** — Analyze the current codebase state
|
|
122
111
|
3. **plan** — Create an actionable implementation plan
|
|
123
|
-
4. **build** — Implement the plan
|
|
112
|
+
4. **build** — Implement the plan
|
|
124
113
|
5. **review** — Staff engineer-level code review
|
|
125
114
|
6. **fix** — Address review findings (skipped if none)
|
|
126
115
|
7. **reflect** — Look back at progress, plan the next phase
|
|
@@ -131,9 +120,9 @@ Each phase runs through these steps (defined in `.pipeline/workflow.yaml`):
|
|
|
131
120
|
|
|
132
121
|
| Agent | How It Runs | Used For |
|
|
133
122
|
|-------|------------|----------|
|
|
134
|
-
| `
|
|
135
|
-
| `
|
|
136
|
-
| `bash` | Direct shell command |
|
|
123
|
+
| `claudecode` | Claude Agent SDK (in-process) | All AI steps by default |
|
|
124
|
+
| `codex` | OpenAI Codex CLI (`codex exec --yolo`) | Alternative for build/fix |
|
|
125
|
+
| `bash` | Direct shell command | Scripts, git operations |
|
|
137
126
|
|
|
138
127
|
### State & Resume
|
|
139
128
|
|
|
@@ -152,16 +141,24 @@ Pipeline behavior is controlled by `.pipeline/workflow.yaml`. See `.pipeline/CLA
|
|
|
152
141
|
**Override model per step:**
|
|
153
142
|
```yaml
|
|
154
143
|
steps:
|
|
155
|
-
- name:
|
|
156
|
-
agent:
|
|
157
|
-
model:
|
|
158
|
-
prompt: prompts/
|
|
144
|
+
- name: build
|
|
145
|
+
agent: claudecode
|
|
146
|
+
model: claude-opus-4-5
|
|
147
|
+
prompt: prompts/build.md
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Use Codex for build/fix:**
|
|
151
|
+
```yaml
|
|
152
|
+
- name: build
|
|
153
|
+
agent: codex
|
|
154
|
+
model: o4-mini
|
|
155
|
+
prompt: prompts/build.md
|
|
159
156
|
```
|
|
160
157
|
|
|
161
158
|
**Add conditional execution:**
|
|
162
159
|
```yaml
|
|
163
160
|
- name: fix
|
|
164
|
-
agent:
|
|
161
|
+
agent: claudecode
|
|
165
162
|
prompt: prompts/fix.md
|
|
166
163
|
skip_unless: "MUST-FIX.md" # Only runs if review produced MUST-FIX.md
|
|
167
164
|
```
|
|
@@ -235,19 +232,15 @@ your-project/
|
|
|
235
232
|
|
|
236
233
|
## Troubleshooting
|
|
237
234
|
|
|
238
|
-
**"Claude Code cannot be launched inside another Claude Code session":**
|
|
239
|
-
- Run the pipeline from a regular terminal, not from within Claude Code
|
|
240
|
-
- If you still see this after exiting Claude Code, run: `unset CLAUDECODE` then try again
|
|
241
|
-
|
|
242
|
-
**Build step times out (60s+):**
|
|
243
|
-
- Check [Anthropic's status page](https://status.anthropic.com) — API issues cause slow startups
|
|
244
|
-
- The pipeline will retry on resume: just run `npx cc-pipeline run` again
|
|
245
|
-
|
|
246
235
|
**Pipeline won't start:**
|
|
247
236
|
- Ensure `claude` CLI is installed: `claude --version`
|
|
248
|
-
- Ensure `tmux` is installed: `tmux -V`
|
|
249
237
|
- Run `npx cc-pipeline@latest init` if `.pipeline/` doesn't exist
|
|
250
238
|
|
|
239
|
+
**Step times out or hangs:**
|
|
240
|
+
- Check [Anthropic's status page](https://status.anthropic.com) — API issues cause slow startups
|
|
241
|
+
- The pipeline resumes automatically: press Ctrl-C and run `npx cc-pipeline run` again
|
|
242
|
+
- For codex steps, an inactivity timeout (5 min of no output) will automatically retry up to 3 times
|
|
243
|
+
|
|
251
244
|
**Want to start over:**
|
|
252
245
|
```bash
|
|
253
246
|
npx cc-pipeline reset
|
package/bin/cc-pipeline.js
CHANGED
|
@@ -2,16 +2,11 @@
|
|
|
2
2
|
// Register tsx as an in-process ESM loader, then import and run the TypeScript CLI
|
|
3
3
|
// directly in this process. This keeps everything single-process so signal handlers
|
|
4
4
|
// registered by the engine work correctly (no subprocess forwarding needed).
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { register } from 'node:module';
|
|
6
|
+
import { pathToFileURL } from 'node:url';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// Load tsx's programmatic ESM registration API
|
|
11
|
-
const { register } = await import(
|
|
12
|
-
join(__dirname, '../node_modules/tsx/dist/esm/api/index.mjs')
|
|
13
|
-
);
|
|
14
|
-
register();
|
|
8
|
+
// tsx/esm is the public loader API (works across tsx versions and npm hoisting)
|
|
9
|
+
register('tsx/esm', pathToFileURL('./'));
|
|
15
10
|
|
|
16
11
|
// Now TypeScript imports resolve correctly in this process
|
|
17
12
|
const { run } = await import('../src/cli.ts');
|
package/package.json
CHANGED