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 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. The pipeline will spec, build, review, fix, and commit each phase automatically.
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 [--phases N] [--model NAME]` | Run the pipeline |
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 (interactive Claude in tmux)
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
- | `claude-piped` | `claude -p "<prompt>"` (non-interactive) | Planning, analysis, reviews, docs |
135
- | `claude-interactive` | Claude in a tmux session with full tool access | Building code, fixing issues |
136
- | `bash` | Direct shell command | Git commits, scripts |
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: spec
156
- agent: claude-piped
157
- model: sonnet
158
- prompt: prompts/spec.md
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: claude-interactive
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
@@ -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 { fileURLToPath } from 'node:url';
6
- import { dirname, join } from 'node:path';
5
+ import { register } from 'node:module';
6
+ import { pathToFileURL } from 'node:url';
7
7
 
8
- const __dirname = dirname(fileURLToPath(import.meta.url));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-pipeline",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Autonomous Claude Code pipeline engine. Install into any repo, write a BRIEF.md, and let Claude build your project phase by phase.",
5
5
  "type": "module",
6
6
  "bin": {