@cluesmith/codev 2.1.2 → 2.1.4
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/dashboard/dist/assets/index-B401UsXA.js +194 -0
- package/dashboard/dist/assets/{index-DrG-moyC.js.map → index-B401UsXA.js.map} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dist/agent-farm/commands/architect.d.ts.map +1 -1
- package/dist/agent-farm/commands/architect.js +1 -0
- package/dist/agent-farm/commands/architect.js.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.js +4 -3
- package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
- package/dist/agent-farm/servers/tower-cron.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-cron.js +3 -1
- package/dist/agent-farm/servers/tower-cron.js.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +11 -4
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +61 -3
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-types.d.ts +1 -0
- package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
- package/package.json +1 -1
- package/skeleton/.claude/skills/af/SKILL.md +105 -81
- package/skeleton/.claude/skills/codev/SKILL.md +42 -25
- package/skeleton/.claude/skills/consult/SKILL.md +63 -65
- package/skeleton/.claude/skills/generate-image/SKILL.md +18 -29
- package/skeleton/.claude/skills/porch/SKILL.md +36 -29
- package/templates/tower.html +11 -0
- package/dashboard/dist/assets/index-DrG-moyC.js +0 -194
|
@@ -95,10 +95,11 @@ async function gracefulShutdown(signal) {
|
|
|
95
95
|
if (shellperManager) {
|
|
96
96
|
log('INFO', 'Shellper sessions will continue running (sockets close on process exit)');
|
|
97
97
|
}
|
|
98
|
-
// 4. Stop rate limit cleanup
|
|
98
|
+
// 4. Stop rate limit cleanup, shellper periodic cleanup, and SSE heartbeat
|
|
99
99
|
clearInterval(rateLimitCleanupInterval);
|
|
100
100
|
if (shellperCleanupInterval)
|
|
101
101
|
clearInterval(shellperCleanupInterval);
|
|
102
|
+
clearInterval(sseHeartbeatInterval);
|
|
102
103
|
// 4b. Flush and stop send buffer (Spec 403) — delivers any deferred messages
|
|
103
104
|
stopSendBuffer();
|
|
104
105
|
// 5. Stop cron scheduler (Spec 399)
|
|
@@ -123,22 +124,79 @@ log('INFO', `Tower server starting on port ${port}`);
|
|
|
123
124
|
// SSE (Server-Sent Events) infrastructure for push notifications
|
|
124
125
|
const sseClients = [];
|
|
125
126
|
let notificationIdCounter = 0;
|
|
127
|
+
/** Remove dead SSE clients from the array (by id list). */
|
|
128
|
+
function removeDeadSseClients(deadIds) {
|
|
129
|
+
for (const id of deadIds) {
|
|
130
|
+
const index = sseClients.findIndex(c => c.id === id);
|
|
131
|
+
if (index !== -1) {
|
|
132
|
+
sseClients.splice(index, 1);
|
|
133
|
+
log('INFO', `SSE client removed (dead): ${id}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
126
137
|
/**
|
|
127
|
-
* Broadcast a notification to all connected SSE clients
|
|
138
|
+
* Broadcast a notification to all connected SSE clients.
|
|
139
|
+
* Detects and removes dead clients during broadcast.
|
|
128
140
|
*/
|
|
129
141
|
function broadcastNotification(notification) {
|
|
130
142
|
const id = ++notificationIdCounter;
|
|
131
143
|
const data = JSON.stringify({ ...notification, id });
|
|
132
144
|
const message = `id: ${id}\ndata: ${data}\n\n`;
|
|
145
|
+
const deadIds = [];
|
|
133
146
|
for (const client of sseClients) {
|
|
147
|
+
if (client.res.destroyed || client.res.writableEnded) {
|
|
148
|
+
deadIds.push(client.id);
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
134
151
|
try {
|
|
135
152
|
client.res.write(message);
|
|
136
153
|
}
|
|
137
154
|
catch {
|
|
138
|
-
|
|
155
|
+
deadIds.push(client.id);
|
|
139
156
|
}
|
|
140
157
|
}
|
|
158
|
+
if (deadIds.length > 0)
|
|
159
|
+
removeDeadSseClients(deadIds);
|
|
141
160
|
}
|
|
161
|
+
// Heartbeat interval — detects half-open SSE connections (Bugfix #580)
|
|
162
|
+
// Also evicts connections older than max-age to prevent leaks from
|
|
163
|
+
// tunnel-proxied clients that don't properly close (clients auto-reconnect).
|
|
164
|
+
const SSE_HEARTBEAT_INTERVAL_MS = 30_000;
|
|
165
|
+
const SSE_MAX_AGE_MS = 5 * 60_000; // 5 minutes
|
|
166
|
+
const sseHeartbeatInterval = setInterval(() => {
|
|
167
|
+
if (sseClients.length === 0)
|
|
168
|
+
return;
|
|
169
|
+
const now = Date.now();
|
|
170
|
+
const deadIds = [];
|
|
171
|
+
for (const client of sseClients) {
|
|
172
|
+
if (client.res.destroyed || client.res.writableEnded) {
|
|
173
|
+
deadIds.push(client.id);
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
// Evict connections older than max-age — tunnel-proxied SSE connections
|
|
177
|
+
// can leak because both ends are localhost and TCP never detects the close.
|
|
178
|
+
if (now - client.connectedAt > SSE_MAX_AGE_MS) {
|
|
179
|
+
try {
|
|
180
|
+
client.res.end();
|
|
181
|
+
}
|
|
182
|
+
catch { /* already dead */ }
|
|
183
|
+
deadIds.push(client.id);
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
client.res.write(':heartbeat\n\n');
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
deadIds.push(client.id);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (deadIds.length > 0)
|
|
194
|
+
removeDeadSseClients(deadIds);
|
|
195
|
+
if (sseClients.length > 0) {
|
|
196
|
+
log('INFO', `SSE heartbeat: ${sseClients.length} active client(s)`);
|
|
197
|
+
}
|
|
198
|
+
}, SSE_HEARTBEAT_INTERVAL_MS);
|
|
199
|
+
sseHeartbeatInterval.unref();
|
|
142
200
|
/**
|
|
143
201
|
* Find the tower template
|
|
144
202
|
* Template is bundled with agent-farm package in templates/ directory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tower-server.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tower-server.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tower-types.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACpD,EAAE,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;IAC5B,qBAAqB,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tower-types.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,122 +1,146 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: af
|
|
3
|
-
description: Agent Farm CLI
|
|
4
|
-
disable-model-invocation: false
|
|
3
|
+
description: Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks. ALWAYS consult this skill BEFORE running any `af` command to get the exact syntax. This prevents wasting time guessing flags that don't exist. Use this whenever you need to spawn a builder, check status, send messages, clean up worktrees, manage Tower, or run cron tasks. If you're about to type `af` followed by anything, check here first.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
# Agent Farm
|
|
6
|
+
# Agent Farm CLI
|
|
8
7
|
|
|
9
|
-
##
|
|
8
|
+
## af spawn
|
|
10
9
|
|
|
10
|
+
Spawns a new builder in an isolated git worktree.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
af spawn [number] [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**The ONLY flags that exist:**
|
|
17
|
+
|
|
18
|
+
| Flag | Description |
|
|
19
|
+
|------|-------------|
|
|
20
|
+
| `--protocol <name>` | Protocol: spir, aspir, air, bugfix, tick, maintain, experiment. **Required for numbered spawns.** |
|
|
21
|
+
| `--task <text>` | Ad-hoc task (no issue number needed) |
|
|
22
|
+
| `--shell` | Bare Claude session |
|
|
23
|
+
| `--worktree` | Bare worktree session |
|
|
24
|
+
| `--amends <number>` | Original spec number (TICK only) |
|
|
25
|
+
| `--files <files>` | Context files, comma-separated. **Requires `--task`.** |
|
|
26
|
+
| `--no-comment` | Skip commenting on the GitHub issue |
|
|
27
|
+
| `--force` | Skip dirty-worktree and collision checks |
|
|
28
|
+
| `--soft` | Soft mode (AI follows protocol, you verify) |
|
|
29
|
+
| `--strict` | Strict mode (porch orchestrates) — this is the default |
|
|
30
|
+
| `--resume` | Resume builder in existing worktree |
|
|
31
|
+
| `--no-role` | Skip loading role prompt |
|
|
32
|
+
|
|
33
|
+
**There is NO `-t`, `--title`, `--name`, or `--branch` flag.** The branch name is auto-generated from the issue title.
|
|
34
|
+
|
|
35
|
+
**Examples:**
|
|
11
36
|
```bash
|
|
12
|
-
af
|
|
13
|
-
af
|
|
14
|
-
af
|
|
15
|
-
af
|
|
37
|
+
af spawn 42 --protocol spir # SPIR builder for issue #42
|
|
38
|
+
af spawn 42 --protocol aspir # ASPIR (autonomous, no human gates)
|
|
39
|
+
af spawn 42 --protocol air # AIR (small features)
|
|
40
|
+
af spawn 42 --protocol bugfix # Bugfix
|
|
41
|
+
af spawn 42 --protocol tick --amends 30 # TICK amendment to spec 30
|
|
42
|
+
af spawn 42 --protocol spir --soft # Soft mode
|
|
43
|
+
af spawn 42 --resume # Resume existing builder
|
|
44
|
+
af spawn --task "fix the flaky test" # Ad-hoc task (no issue)
|
|
45
|
+
af spawn 42 --protocol spir --force # Skip dirty-worktree check
|
|
16
46
|
```
|
|
17
47
|
|
|
18
|
-
|
|
48
|
+
**Pre-spawn checklist:**
|
|
49
|
+
1. `git status` — worktree must be clean (or use `--force`)
|
|
50
|
+
2. Commit specs/plans first — builders branch from HEAD and can't see uncommitted files
|
|
51
|
+
3. `--protocol` is required for numbered spawns
|
|
19
52
|
|
|
20
|
-
##
|
|
53
|
+
## af send
|
|
21
54
|
|
|
22
|
-
|
|
23
|
-
af workspace start # Start workspace for current project
|
|
24
|
-
af workspace stop # Stop workspace for current project
|
|
25
|
-
```
|
|
55
|
+
Sends a message to a running builder.
|
|
26
56
|
|
|
27
|
-
|
|
57
|
+
```
|
|
58
|
+
af send [builder] [message]
|
|
59
|
+
```
|
|
28
60
|
|
|
29
|
-
|
|
61
|
+
| Flag | Description |
|
|
62
|
+
|------|-------------|
|
|
63
|
+
| `--all` | Send to all builders |
|
|
64
|
+
| `--file <path>` | Include file content |
|
|
65
|
+
| `--interrupt` | Send Ctrl+C first |
|
|
66
|
+
| `--raw` | Skip structured formatting |
|
|
67
|
+
| `--no-enter` | Don't press Enter after message |
|
|
30
68
|
|
|
31
69
|
```bash
|
|
32
|
-
af
|
|
33
|
-
af
|
|
34
|
-
af spawn 3 --protocol bugfix # Spawn builder for a bugfix
|
|
35
|
-
af spawn 3 --resume # Resume builder in existing worktree
|
|
36
|
-
af status # Check all builder status
|
|
37
|
-
af cleanup --project 3 # Clean up builder worktree (safe)
|
|
38
|
-
af cleanup --project 3 -f # Force cleanup
|
|
70
|
+
af send 0042 "PR approved, please merge"
|
|
71
|
+
af send 0585 "check the test output" --file /tmp/test-results.txt
|
|
39
72
|
```
|
|
40
73
|
|
|
41
|
-
|
|
74
|
+
## af cleanup
|
|
42
75
|
|
|
43
|
-
|
|
44
|
-
use `--resume` to restart it without recreating the worktree:
|
|
76
|
+
Removes a builder's worktree and branch after work is done.
|
|
45
77
|
|
|
46
|
-
```
|
|
47
|
-
af
|
|
78
|
+
```
|
|
79
|
+
af cleanup [options]
|
|
48
80
|
```
|
|
49
81
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
82
|
+
| Flag | Description |
|
|
83
|
+
|------|-------------|
|
|
84
|
+
| `-p, --project <id>` | Builder project ID (no leading zeros: `585` not `0585`) |
|
|
85
|
+
| `-i, --issue <number>` | Cleanup bugfix builder by issue number |
|
|
86
|
+
| `-t, --task <id>` | Cleanup task builder (e.g., `task-bEPd`) |
|
|
87
|
+
| `-f, --force` | Force cleanup even if branch not merged |
|
|
54
88
|
|
|
55
|
-
|
|
89
|
+
```bash
|
|
90
|
+
af cleanup -p 585 # Clean up project 585
|
|
91
|
+
af cleanup -p 585 -f # Force (unmerged branch)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Note:** `af cleanup` uses plain numbers (`585`), not zero-padded (`0585`). But `af send` uses zero-padded IDs (`0585`).
|
|
56
95
|
|
|
57
|
-
|
|
96
|
+
## af status
|
|
58
97
|
|
|
59
98
|
```bash
|
|
60
|
-
af
|
|
61
|
-
af cron status <name> # Check status of a specific task
|
|
62
|
-
af cron run <name> # Run a task immediately
|
|
63
|
-
af cron enable <name> # Enable a disabled task
|
|
64
|
-
af cron disable <name> # Disable a task
|
|
99
|
+
af status # Show all builders and workspace status
|
|
65
100
|
```
|
|
66
101
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```yaml
|
|
70
|
-
# .af-cron/ci-health.yaml
|
|
71
|
-
name: CI Health Check
|
|
72
|
-
schedule: "*/30 * * * *"
|
|
73
|
-
enabled: true
|
|
74
|
-
command: gh run list --limit 5 --json status,conclusion --jq '...'
|
|
75
|
-
condition: "output != '0'"
|
|
76
|
-
message: "CI Alert: ${output} recent failure(s)"
|
|
77
|
-
target: architect
|
|
78
|
-
timeout: 30
|
|
79
|
-
```
|
|
102
|
+
No flags needed. Shows Tower status, workspace, and all active builders.
|
|
80
103
|
|
|
81
|
-
##
|
|
104
|
+
## af tower
|
|
82
105
|
|
|
83
106
|
```bash
|
|
84
|
-
af
|
|
85
|
-
af
|
|
86
|
-
af
|
|
87
|
-
af
|
|
107
|
+
af tower start # Start Tower on port 4100
|
|
108
|
+
af tower stop # Stop Tower
|
|
109
|
+
af tower log # Tail Tower logs
|
|
110
|
+
af tower status # Check daemon and cloud connection status
|
|
111
|
+
af tower connect # Connect to Codev Cloud
|
|
112
|
+
af tower disconnect # Disconnect from Codev Cloud
|
|
88
113
|
```
|
|
89
114
|
|
|
90
|
-
|
|
115
|
+
There is NO `af tower restart` — use `af tower stop && af tower start`.
|
|
91
116
|
|
|
92
|
-
|
|
117
|
+
## af workspace
|
|
93
118
|
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
"architect": "claude",
|
|
98
|
-
"builder": "claude",
|
|
99
|
-
"shell": "bash"
|
|
100
|
-
}
|
|
101
|
-
}
|
|
119
|
+
```bash
|
|
120
|
+
af workspace start # Start workspace for current project
|
|
121
|
+
af workspace stop # Stop workspace processes
|
|
102
122
|
```
|
|
103
123
|
|
|
104
|
-
|
|
124
|
+
`af dash` is a deprecated alias — use `af workspace` instead.
|
|
105
125
|
|
|
106
|
-
|
|
126
|
+
## af cron
|
|
107
127
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
128
|
+
```bash
|
|
129
|
+
af cron list # List all cron tasks
|
|
130
|
+
af cron status <name> # Check task status
|
|
131
|
+
af cron run <name> # Run immediately
|
|
132
|
+
af cron enable <name> # Enable
|
|
133
|
+
af cron disable <name> # Disable
|
|
134
|
+
```
|
|
111
135
|
|
|
112
|
-
|
|
113
|
-
but the builder won't see uncommitted files).
|
|
136
|
+
There is NO `af cron add` — create YAML files in `.af-cron/` directly.
|
|
114
137
|
|
|
115
|
-
##
|
|
138
|
+
## Other commands
|
|
116
139
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
140
|
+
```bash
|
|
141
|
+
af open <file> # Open file in annotation viewer (NOT system open)
|
|
142
|
+
af shell # Spawn utility shell
|
|
143
|
+
af attach # Attach to running builder terminal
|
|
144
|
+
af rename <name> # Rename current shell session
|
|
145
|
+
af architect # Start architect session in current terminal
|
|
146
|
+
```
|
|
@@ -1,42 +1,59 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: codev
|
|
3
|
-
description: Codev project management CLI
|
|
4
|
-
disable-model-invocation: false
|
|
3
|
+
description: Codev project management CLI — init, adopt, update, and doctor commands. Check this skill before running any `codev` command (except `consult`, `porch`, or `af` which have their own skills). Use when setting up new projects, adding codev to existing repos, updating framework files, or diagnosing missing dependencies.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# codev - Project Management CLI
|
|
8
7
|
|
|
9
8
|
## Commands
|
|
10
9
|
|
|
10
|
+
```
|
|
11
|
+
codev init [project-name] Create a new codev project directory
|
|
12
|
+
codev adopt Add codev to the current directory
|
|
13
|
+
codev update Update protocols, roles, skills from package
|
|
14
|
+
codev doctor Check system dependencies
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## codev init
|
|
18
|
+
|
|
19
|
+
Creates a **new directory** with the full codev structure: specs/, plans/, reviews/, protocols, CLAUDE.md, AGENTS.md, .claude/skills/, af-config.json, .gitignore.
|
|
20
|
+
|
|
11
21
|
```bash
|
|
12
|
-
codev init
|
|
13
|
-
codev init my-app -y
|
|
14
|
-
codev adopt # Add codev to existing project (run from project root)
|
|
15
|
-
codev adopt -y # Skip conflict prompts
|
|
16
|
-
codev update # Update protocols, roles, skills from installed package
|
|
17
|
-
codev update --dry-run # Preview changes without applying
|
|
18
|
-
codev update --force # Force overwrite all framework files
|
|
19
|
-
codev update --agent # Agent mode: JSON output on stdout, no interactive merge
|
|
20
|
-
codev doctor # Check system dependencies
|
|
22
|
+
codev init my-app # Interactive setup
|
|
23
|
+
codev init my-app -y # Non-interactive with defaults
|
|
21
24
|
```
|
|
22
25
|
|
|
23
|
-
##
|
|
26
|
+
## codev adopt
|
|
27
|
+
|
|
28
|
+
Adds codev to the **current directory** (existing project). Run from the project root. If CLAUDE.md or AGENTS.md already exists, creates `.codev-new` versions and spawns Claude to merge.
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
```bash
|
|
31
|
+
codev adopt # Interactive
|
|
32
|
+
codev adopt -y # Skip conflict prompts
|
|
33
|
+
```
|
|
27
34
|
|
|
28
|
-
|
|
29
|
-
Adds codev to the **current directory**. Detects existing CLAUDE.md/AGENTS.md and creates `.codev-new` versions for merge if conflicts exist. Spawns Claude to merge automatically.
|
|
35
|
+
## codev update
|
|
30
36
|
|
|
31
|
-
|
|
32
|
-
Updates framework files (protocols, roles, skills) from the installed `@cluesmith/codev` package. **Never touches user data** (specs, plans, reviews). If you've customized a framework file, creates a `.codev-new` version for manual merge. Use `--agent` for structured JSON output on stdout (logs go to stderr, no interactive Claude merge).
|
|
37
|
+
Updates framework files (protocols, roles, skills) from the installed `@cluesmith/codev` package. **Never touches user data** (specs, plans, reviews). Creates `.codev-new` versions for customized files.
|
|
33
38
|
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
```bash
|
|
40
|
+
codev update # Interactive update
|
|
41
|
+
codev update --dry-run # Preview changes
|
|
42
|
+
codev update --force # Overwrite all framework files
|
|
43
|
+
codev update --agent # Agent mode: JSON stdout, no interactive merge
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## codev doctor
|
|
47
|
+
|
|
48
|
+
Checks all required dependencies: Node.js (>=18), git (>=2.5), gh (authenticated), and at least one AI CLI (Claude, Gemini, or Codex).
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
codev doctor
|
|
52
|
+
```
|
|
36
53
|
|
|
37
|
-
## Common
|
|
54
|
+
## Common mistakes
|
|
38
55
|
|
|
39
|
-
- There is NO `codev tower` command —
|
|
40
|
-
- `codev init` creates a
|
|
41
|
-
- `codev
|
|
42
|
-
-
|
|
56
|
+
- There is NO `codev tower` command — use `af tower start/stop`
|
|
57
|
+
- `codev init` creates a new directory — use `codev adopt` for existing projects
|
|
58
|
+
- Always run `codev adopt` and `codev update` from the project root
|
|
59
|
+
- `codev update` only updates framework files — it never touches specs/plans/reviews
|