@jamesaphoenix/tx-cli 0.4.3
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/dist/cli-exit.d.ts +15 -0
- package/dist/cli-exit.d.ts.map +1 -0
- package/dist/cli-exit.js +18 -0
- package/dist/cli-exit.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +349 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/attempt.d.ts +9 -0
- package/dist/commands/attempt.d.ts.map +1 -0
- package/dist/commands/attempt.js +93 -0
- package/dist/commands/attempt.js.map +1 -0
- package/dist/commands/bulk.d.ts +8 -0
- package/dist/commands/bulk.d.ts.map +1 -0
- package/dist/commands/bulk.js +168 -0
- package/dist/commands/bulk.js.map +1 -0
- package/dist/commands/claim.d.ts +39 -0
- package/dist/commands/claim.d.ts.map +1 -0
- package/dist/commands/claim.js +96 -0
- package/dist/commands/claim.js.map +1 -0
- package/dist/commands/compact.d.ts +17 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +167 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/coordinator.d.ts +12 -0
- package/dist/commands/coordinator.d.ts.map +1 -0
- package/dist/commands/coordinator.js +124 -0
- package/dist/commands/coordinator.js.map +1 -0
- package/dist/commands/cycle.d.ts +12 -0
- package/dist/commands/cycle.d.ts.map +1 -0
- package/dist/commands/cycle.js +109 -0
- package/dist/commands/cycle.js.map +1 -0
- package/dist/commands/daemon.d.ts +16 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +635 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/dashboard.d.ts +12 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +105 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/dashboard.test.d.ts +2 -0
- package/dist/commands/dashboard.test.d.ts.map +1 -0
- package/dist/commands/dashboard.test.js +99 -0
- package/dist/commands/dashboard.test.js.map +1 -0
- package/dist/commands/dep.d.ts +9 -0
- package/dist/commands/dep.d.ts.map +1 -0
- package/dist/commands/dep.js +50 -0
- package/dist/commands/dep.js.map +1 -0
- package/dist/commands/doc.d.ts +10 -0
- package/dist/commands/doc.d.ts.map +1 -0
- package/dist/commands/doc.js +397 -0
- package/dist/commands/doc.js.map +1 -0
- package/dist/commands/doctor.d.ts +9 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +168 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/graph.d.ts +58 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +441 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/hierarchy.d.ts +9 -0
- package/dist/commands/hierarchy.d.ts.map +1 -0
- package/dist/commands/hierarchy.js +68 -0
- package/dist/commands/hierarchy.js.map +1 -0
- package/dist/commands/hooks.d.ts +56 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +365 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/invariant.d.ts +9 -0
- package/dist/commands/invariant.d.ts.map +1 -0
- package/dist/commands/invariant.js +126 -0
- package/dist/commands/invariant.js.map +1 -0
- package/dist/commands/learning.d.ts +16 -0
- package/dist/commands/learning.d.ts.map +1 -0
- package/dist/commands/learning.js +362 -0
- package/dist/commands/learning.js.map +1 -0
- package/dist/commands/migrate.d.ts +9 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +56 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/orchestrator.d.ts +11 -0
- package/dist/commands/orchestrator.d.ts.map +1 -0
- package/dist/commands/orchestrator.js +129 -0
- package/dist/commands/orchestrator.js.map +1 -0
- package/dist/commands/stats.d.ts +8 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +128 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/sync-platform.d.ts +12 -0
- package/dist/commands/sync-platform.d.ts.map +1 -0
- package/dist/commands/sync-platform.js +74 -0
- package/dist/commands/sync-platform.js.map +1 -0
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +128 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/task.d.ts +15 -0
- package/dist/commands/task.d.ts.map +1 -0
- package/dist/commands/task.js +233 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/commands/test.d.ts +16 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +112 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/trace.d.ts +39 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +620 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/validate.d.ts +9 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +94 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/worker.d.ts +10 -0
- package/dist/commands/worker.d.ts.map +1 -0
- package/dist/commands/worker.js +204 -0
- package/dist/commands/worker.js.map +1 -0
- package/dist/help.d.ts +3 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +1366 -0
- package/dist/help.js.map +1 -0
- package/dist/output.d.ts +12 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +76 -0
- package/dist/output.js.map +1 -0
- package/dist/tx +0 -0
- package/dist/utils/parse.d.ts +45 -0
- package/dist/utils/parse.d.ts.map +1 -0
- package/dist/utils/parse.js +79 -0
- package/dist/utils/parse.js.map +1 -0
- package/dist/utils/parse.test.d.ts +2 -0
- package/dist/utils/parse.test.d.ts.map +1 -0
- package/dist/utils/parse.test.js +140 -0
- package/dist/utils/parse.test.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +58 -0
package/dist/help.js
ADDED
|
@@ -0,0 +1,1366 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI help text for all commands
|
|
3
|
+
*/
|
|
4
|
+
import { CLI_VERSION } from "./version.js";
|
|
5
|
+
export const HELP_TEXT = `tx v${CLI_VERSION} - Task management for AI agents and humans
|
|
6
|
+
|
|
7
|
+
Usage: tx <command> [arguments] [options]
|
|
8
|
+
|
|
9
|
+
Tasks:
|
|
10
|
+
init Initialize task database
|
|
11
|
+
add <title> Create a new task
|
|
12
|
+
list List tasks
|
|
13
|
+
ready List ready tasks (no blockers)
|
|
14
|
+
show <id> Show task details
|
|
15
|
+
update <id> Update task
|
|
16
|
+
done <id> Mark task complete
|
|
17
|
+
reset <id> Reset task to ready (recover from stuck)
|
|
18
|
+
delete <id> Delete task
|
|
19
|
+
block <id> <blocker> Add blocking dependency
|
|
20
|
+
unblock <id> <blocker> Remove blocking dependency
|
|
21
|
+
children <id> List child tasks
|
|
22
|
+
tree <id> Show task subtree
|
|
23
|
+
try <id> <approach> Record an attempt on a task
|
|
24
|
+
attempts <id> List attempts for a task
|
|
25
|
+
claim Claim a task with a lease
|
|
26
|
+
claim:release Release a claim on a task
|
|
27
|
+
claim:renew Renew the lease on a claim
|
|
28
|
+
|
|
29
|
+
Context & Learnings:
|
|
30
|
+
learning:add Add a learning
|
|
31
|
+
learning:search Search learnings
|
|
32
|
+
learning:recent List recent learnings
|
|
33
|
+
learning:helpful Record learning helpfulness
|
|
34
|
+
learning:embed Compute embeddings for learnings
|
|
35
|
+
context Get contextual learnings for a task
|
|
36
|
+
learn Attach a learning to file/glob pattern
|
|
37
|
+
recall Query learnings for a path
|
|
38
|
+
|
|
39
|
+
Sync:
|
|
40
|
+
sync export Export tasks to JSONL file
|
|
41
|
+
sync import Import tasks from JSONL file
|
|
42
|
+
sync status Show sync status
|
|
43
|
+
sync claude Sync tasks to Claude Code team directory
|
|
44
|
+
sync codex Sync tasks to Codex (coming soon)
|
|
45
|
+
|
|
46
|
+
Traces:
|
|
47
|
+
trace list Show recent runs with event counts
|
|
48
|
+
trace show Show metrics events for a run
|
|
49
|
+
trace transcript Display raw transcript content
|
|
50
|
+
trace stderr Display stderr content
|
|
51
|
+
trace errors Show recent errors across all runs
|
|
52
|
+
|
|
53
|
+
Bulk Operations:
|
|
54
|
+
bulk done <id...> Complete multiple tasks
|
|
55
|
+
bulk score <n> <id...> Set score for multiple tasks
|
|
56
|
+
bulk reset <id...> Reset multiple tasks to ready
|
|
57
|
+
bulk delete <id...> Delete multiple tasks
|
|
58
|
+
|
|
59
|
+
Docs:
|
|
60
|
+
doc add <kind> <name> Create a doc (overview, prd, design)
|
|
61
|
+
doc edit <name> Open doc YAML in $EDITOR
|
|
62
|
+
doc show <name> Show doc details
|
|
63
|
+
doc list List all docs
|
|
64
|
+
doc render [name] Render MD files + regenerate index
|
|
65
|
+
doc lock <name> Lock doc (immutable)
|
|
66
|
+
doc version <name> Create new version from locked doc
|
|
67
|
+
doc link <from> <to> Link two docs
|
|
68
|
+
doc attach <task> <doc> Link task to doc
|
|
69
|
+
doc patch <design> <n> Create design patch on locked doc
|
|
70
|
+
doc validate Warn about unlinked tasks
|
|
71
|
+
doc drift <name> Detect drift between doc and tasks
|
|
72
|
+
|
|
73
|
+
Invariants:
|
|
74
|
+
invariant list List all invariants
|
|
75
|
+
invariant show <id> Show invariant details
|
|
76
|
+
invariant record <id> Record pass/fail check result
|
|
77
|
+
invariant sync Sync invariants from doc YAML to DB
|
|
78
|
+
|
|
79
|
+
Cycle Scan:
|
|
80
|
+
cycle Run cycle-based issue discovery scan
|
|
81
|
+
|
|
82
|
+
Utilities:
|
|
83
|
+
stats Show queue metrics and health overview
|
|
84
|
+
validate Run pre-flight database health checks
|
|
85
|
+
migrate status Show database migration status
|
|
86
|
+
doctor Run system diagnostics for troubleshooting
|
|
87
|
+
dashboard Start API server + dashboard and open in browser
|
|
88
|
+
mcp-server Start MCP server (JSON-RPC over stdio)
|
|
89
|
+
|
|
90
|
+
Global Options:
|
|
91
|
+
--json Output as JSON
|
|
92
|
+
--db <path> Database path (default: .tx/tasks.db)
|
|
93
|
+
--help Show help
|
|
94
|
+
--version Show version
|
|
95
|
+
|
|
96
|
+
Run 'tx help <command>' or 'tx <command> --help' for command-specific help.
|
|
97
|
+
|
|
98
|
+
Examples:
|
|
99
|
+
tx init
|
|
100
|
+
tx add "Implement auth" --score 800
|
|
101
|
+
tx add "Login page" --parent tx-a1b2c3d4 --score 600
|
|
102
|
+
tx list --status backlog,ready
|
|
103
|
+
tx ready --json
|
|
104
|
+
tx block <task-id> <blocker-id>
|
|
105
|
+
tx done <task-id>`;
|
|
106
|
+
export const commandHelp = {
|
|
107
|
+
init: `tx init - Initialize task database
|
|
108
|
+
|
|
109
|
+
Usage: tx init [--db <path>]
|
|
110
|
+
|
|
111
|
+
Initializes the tx database and required tables. Creates .tx/tasks.db
|
|
112
|
+
by default. Safe to run multiple times (idempotent).
|
|
113
|
+
|
|
114
|
+
Options:
|
|
115
|
+
--db <path> Database path (default: .tx/tasks.db)
|
|
116
|
+
--help Show this help
|
|
117
|
+
|
|
118
|
+
Examples:
|
|
119
|
+
tx init # Initialize in .tx/tasks.db
|
|
120
|
+
tx init --db ~/my-tasks.db # Use custom path`,
|
|
121
|
+
add: `tx add - Create a new task
|
|
122
|
+
|
|
123
|
+
Usage: tx add <title> [options]
|
|
124
|
+
|
|
125
|
+
Creates a new task with the given title. Tasks start with status "backlog"
|
|
126
|
+
and default score 500.
|
|
127
|
+
|
|
128
|
+
Arguments:
|
|
129
|
+
<title> Required. The task title (use quotes for multi-word titles)
|
|
130
|
+
|
|
131
|
+
Options:
|
|
132
|
+
--parent, -p <id> Parent task ID (for subtasks)
|
|
133
|
+
--score, -s <n> Priority score 0-1000 (default: 500, higher = more important)
|
|
134
|
+
--description, -d <text> Task description
|
|
135
|
+
--json Output as JSON
|
|
136
|
+
--help Show this help
|
|
137
|
+
|
|
138
|
+
Examples:
|
|
139
|
+
tx add "Implement auth"
|
|
140
|
+
tx add "Login page" --parent tx-a1b2c3d4 --score 600
|
|
141
|
+
tx add "Fix bug" -s 800 -d "Urgent fix for login"`,
|
|
142
|
+
list: `tx list - List tasks
|
|
143
|
+
|
|
144
|
+
Usage: tx list [options]
|
|
145
|
+
|
|
146
|
+
Lists all tasks, optionally filtered by status. Shows task ID, status,
|
|
147
|
+
score, title, and ready indicator (+).
|
|
148
|
+
|
|
149
|
+
Options:
|
|
150
|
+
--status <s> Filter by status (comma-separated: backlog,ready,active,done)
|
|
151
|
+
--limit, -n <n> Maximum tasks to show
|
|
152
|
+
--json Output as JSON
|
|
153
|
+
--help Show this help
|
|
154
|
+
|
|
155
|
+
Examples:
|
|
156
|
+
tx list # List all tasks
|
|
157
|
+
tx list --status backlog,ready # Only backlog and ready tasks
|
|
158
|
+
tx list -n 10 --json # Top 10 as JSON`,
|
|
159
|
+
ready: `tx ready - List ready tasks
|
|
160
|
+
|
|
161
|
+
Usage: tx ready [options]
|
|
162
|
+
|
|
163
|
+
Lists tasks that are ready to work on (status is workable and all blockers
|
|
164
|
+
are done). Sorted by score, highest first.
|
|
165
|
+
|
|
166
|
+
Options:
|
|
167
|
+
--limit, -n <n> Maximum tasks to show (default: 10)
|
|
168
|
+
--json Output as JSON
|
|
169
|
+
--help Show this help
|
|
170
|
+
|
|
171
|
+
Examples:
|
|
172
|
+
tx ready # Top 10 ready tasks
|
|
173
|
+
tx ready -n 5 # Top 5 ready tasks
|
|
174
|
+
tx ready --json # Output as JSON for scripting`,
|
|
175
|
+
show: `tx show - Show task details
|
|
176
|
+
|
|
177
|
+
Usage: tx show <id> [options]
|
|
178
|
+
|
|
179
|
+
Shows full details for a single task including title, status, score,
|
|
180
|
+
description, parent, blockers, blocks, children, and timestamps.
|
|
181
|
+
|
|
182
|
+
Arguments:
|
|
183
|
+
<id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
184
|
+
|
|
185
|
+
Options:
|
|
186
|
+
--json Output as JSON
|
|
187
|
+
--help Show this help
|
|
188
|
+
|
|
189
|
+
Examples:
|
|
190
|
+
tx show tx-a1b2c3d4
|
|
191
|
+
tx show tx-a1b2c3d4 --json`,
|
|
192
|
+
update: `tx update - Update a task
|
|
193
|
+
|
|
194
|
+
Usage: tx update <id> [options]
|
|
195
|
+
|
|
196
|
+
Updates one or more fields on an existing task.
|
|
197
|
+
|
|
198
|
+
Arguments:
|
|
199
|
+
<id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
200
|
+
|
|
201
|
+
Options:
|
|
202
|
+
--status <s> New status (backlog|ready|planning|active|blocked|review|human_needs_to_review|done)
|
|
203
|
+
--title <t> New title
|
|
204
|
+
--score <n> New score (0-1000)
|
|
205
|
+
--description, -d <text> New description
|
|
206
|
+
--parent, -p <id> New parent task ID
|
|
207
|
+
--json Output as JSON
|
|
208
|
+
--help Show this help
|
|
209
|
+
|
|
210
|
+
Examples:
|
|
211
|
+
tx update tx-a1b2c3d4 --status active
|
|
212
|
+
tx update tx-a1b2c3d4 --score 900 --title "High priority bug"`,
|
|
213
|
+
done: `tx done - Mark task complete
|
|
214
|
+
|
|
215
|
+
Usage: tx done <id> [options]
|
|
216
|
+
|
|
217
|
+
Marks a task as complete (status = done). Also reports any tasks
|
|
218
|
+
that become unblocked as a result.
|
|
219
|
+
|
|
220
|
+
Arguments:
|
|
221
|
+
<id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
222
|
+
|
|
223
|
+
Options:
|
|
224
|
+
--json Output as JSON (includes task and newly unblocked task IDs)
|
|
225
|
+
--help Show this help
|
|
226
|
+
|
|
227
|
+
Examples:
|
|
228
|
+
tx done tx-a1b2c3d4
|
|
229
|
+
tx done tx-a1b2c3d4 --json`,
|
|
230
|
+
reset: `tx reset - Reset task to ready status
|
|
231
|
+
|
|
232
|
+
Usage: tx reset <id> [options]
|
|
233
|
+
|
|
234
|
+
Resets a task back to ready status, regardless of current status.
|
|
235
|
+
Use this to recover from stuck tasks (e.g., worker killed mid-task).
|
|
236
|
+
|
|
237
|
+
Arguments:
|
|
238
|
+
<id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
239
|
+
|
|
240
|
+
Options:
|
|
241
|
+
--json Output as JSON
|
|
242
|
+
--help Show this help
|
|
243
|
+
|
|
244
|
+
Examples:
|
|
245
|
+
tx reset tx-a1b2c3d4 # Reset stuck active task
|
|
246
|
+
tx reset tx-a1b2c3d4 --json`,
|
|
247
|
+
delete: `tx delete - Delete a task
|
|
248
|
+
|
|
249
|
+
Usage: tx delete <id> [options]
|
|
250
|
+
|
|
251
|
+
Permanently deletes a task. Also removes any dependencies involving
|
|
252
|
+
this task.
|
|
253
|
+
|
|
254
|
+
Arguments:
|
|
255
|
+
<id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
256
|
+
|
|
257
|
+
Options:
|
|
258
|
+
--json Output as JSON
|
|
259
|
+
--help Show this help
|
|
260
|
+
|
|
261
|
+
Examples:
|
|
262
|
+
tx delete tx-a1b2c3d4`,
|
|
263
|
+
block: `tx block - Add blocking dependency
|
|
264
|
+
|
|
265
|
+
Usage: tx block <task-id> <blocker-id> [options]
|
|
266
|
+
|
|
267
|
+
Makes one task block another. The blocked task cannot be ready until
|
|
268
|
+
the blocker is marked done. Circular dependencies are not allowed.
|
|
269
|
+
|
|
270
|
+
Arguments:
|
|
271
|
+
<task-id> Required. The task that will be blocked
|
|
272
|
+
<blocker-id> Required. The task that blocks it
|
|
273
|
+
|
|
274
|
+
Options:
|
|
275
|
+
--json Output as JSON
|
|
276
|
+
--help Show this help
|
|
277
|
+
|
|
278
|
+
Examples:
|
|
279
|
+
tx block tx-abc123 tx-def456 # tx-def456 blocks tx-abc123`,
|
|
280
|
+
unblock: `tx unblock - Remove blocking dependency
|
|
281
|
+
|
|
282
|
+
Usage: tx unblock <task-id> <blocker-id> [options]
|
|
283
|
+
|
|
284
|
+
Removes a blocking dependency between two tasks.
|
|
285
|
+
|
|
286
|
+
Arguments:
|
|
287
|
+
<task-id> Required. The task that was blocked
|
|
288
|
+
<blocker-id> Required. The task that was blocking it
|
|
289
|
+
|
|
290
|
+
Options:
|
|
291
|
+
--json Output as JSON
|
|
292
|
+
--help Show this help
|
|
293
|
+
|
|
294
|
+
Examples:
|
|
295
|
+
tx unblock tx-abc123 tx-def456`,
|
|
296
|
+
children: `tx children - List child tasks
|
|
297
|
+
|
|
298
|
+
Usage: tx children <id> [options]
|
|
299
|
+
|
|
300
|
+
Lists all direct children of a task (tasks with this task as parent).
|
|
301
|
+
Shows task ID, status, score, title, and ready indicator (+).
|
|
302
|
+
|
|
303
|
+
Arguments:
|
|
304
|
+
<id> Required. Parent task ID (e.g., tx-a1b2c3d4)
|
|
305
|
+
|
|
306
|
+
Options:
|
|
307
|
+
--json Output as JSON
|
|
308
|
+
--help Show this help
|
|
309
|
+
|
|
310
|
+
Examples:
|
|
311
|
+
tx children tx-a1b2c3d4
|
|
312
|
+
tx children tx-a1b2c3d4 --json`,
|
|
313
|
+
tree: `tx tree - Show task subtree
|
|
314
|
+
|
|
315
|
+
Usage: tx tree <id> [options]
|
|
316
|
+
|
|
317
|
+
Shows a task and all its descendants in a tree view. Useful for
|
|
318
|
+
visualizing task hierarchy.
|
|
319
|
+
|
|
320
|
+
Arguments:
|
|
321
|
+
<id> Required. Root task ID (e.g., tx-a1b2c3d4)
|
|
322
|
+
|
|
323
|
+
Options:
|
|
324
|
+
--json Output as JSON (nested structure with childTasks array)
|
|
325
|
+
--help Show this help
|
|
326
|
+
|
|
327
|
+
Examples:
|
|
328
|
+
tx tree tx-a1b2c3d4
|
|
329
|
+
tx tree tx-a1b2c3d4 --json`,
|
|
330
|
+
try: `tx try - Record an attempt on a task
|
|
331
|
+
|
|
332
|
+
Usage: tx try <task-id> <approach> --failed|--succeeded [reason]
|
|
333
|
+
|
|
334
|
+
Records an attempt made on a task. Useful for tracking what approaches
|
|
335
|
+
have been tried and their outcomes. Helps agents avoid repeating
|
|
336
|
+
failed approaches.
|
|
337
|
+
|
|
338
|
+
Arguments:
|
|
339
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
340
|
+
<approach> Required. Description of the approach tried
|
|
341
|
+
|
|
342
|
+
Flags (mutually exclusive, one required):
|
|
343
|
+
--failed Mark the attempt as failed
|
|
344
|
+
--succeeded Mark the attempt as succeeded
|
|
345
|
+
|
|
346
|
+
Options:
|
|
347
|
+
[reason] Optional reason/explanation after the flag
|
|
348
|
+
--json Output as JSON
|
|
349
|
+
--help Show this help
|
|
350
|
+
|
|
351
|
+
Examples:
|
|
352
|
+
tx try tx-abc123 "Used Redux" --failed "Too complex for this use case"
|
|
353
|
+
tx try tx-abc123 "Used Zustand" --succeeded
|
|
354
|
+
tx try tx-abc123 "Direct state prop drilling" --failed --json`,
|
|
355
|
+
attempts: `tx attempts - List attempts for a task
|
|
356
|
+
|
|
357
|
+
Usage: tx attempts <task-id> [--json]
|
|
358
|
+
|
|
359
|
+
Lists all attempts recorded for a task, sorted by most recent first.
|
|
360
|
+
Shows the approach tried, outcome (success/failure), reason if any,
|
|
361
|
+
and timestamp.
|
|
362
|
+
|
|
363
|
+
Arguments:
|
|
364
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
365
|
+
|
|
366
|
+
Options:
|
|
367
|
+
--json Output as JSON (full attempt array)
|
|
368
|
+
--help Show this help
|
|
369
|
+
|
|
370
|
+
Examples:
|
|
371
|
+
tx attempts tx-abc123
|
|
372
|
+
tx attempts tx-abc123 --json`,
|
|
373
|
+
"mcp-server": `tx mcp-server - Start MCP server
|
|
374
|
+
|
|
375
|
+
Usage: tx mcp-server [options]
|
|
376
|
+
|
|
377
|
+
Starts the Model Context Protocol (MCP) server for integration with
|
|
378
|
+
AI agents. Communicates via JSON-RPC over stdio.
|
|
379
|
+
|
|
380
|
+
Options:
|
|
381
|
+
--db <path> Database path (default: .tx/tasks.db)
|
|
382
|
+
--help Show this help
|
|
383
|
+
|
|
384
|
+
Examples:
|
|
385
|
+
tx mcp-server
|
|
386
|
+
tx mcp-server --db ~/project/.tx/tasks.db`,
|
|
387
|
+
sync: `tx sync - Manage JSONL sync and platform integrations
|
|
388
|
+
|
|
389
|
+
Usage: tx sync <subcommand> [options]
|
|
390
|
+
|
|
391
|
+
Subcommands:
|
|
392
|
+
export Export all tasks and dependencies to JSONL file
|
|
393
|
+
import Import tasks from JSONL file (timestamp-based merge)
|
|
394
|
+
status Show sync status and whether database has unexported changes
|
|
395
|
+
auto Enable or disable automatic sync on mutations
|
|
396
|
+
compact Compact JSONL file by deduplicating operations
|
|
397
|
+
claude Write tasks to Claude Code team task directory
|
|
398
|
+
codex Write tasks to Codex (coming soon)
|
|
399
|
+
|
|
400
|
+
Run 'tx sync <subcommand> --help' for subcommand-specific help.
|
|
401
|
+
|
|
402
|
+
Examples:
|
|
403
|
+
tx sync export # Export to .tx/tasks.jsonl
|
|
404
|
+
tx sync import # Import from .tx/tasks.jsonl
|
|
405
|
+
tx sync status # Show sync status
|
|
406
|
+
tx sync auto --enable # Enable auto-sync
|
|
407
|
+
tx sync compact # Compact JSONL file
|
|
408
|
+
tx sync claude --team my-team # Push tasks to Claude Code team`,
|
|
409
|
+
"sync export": `tx sync export - Export tasks to JSONL
|
|
410
|
+
|
|
411
|
+
Usage: tx sync export [options]
|
|
412
|
+
|
|
413
|
+
Exports tasks and dependencies from the database to JSONL files.
|
|
414
|
+
The files can be committed to git for sharing across machines.
|
|
415
|
+
|
|
416
|
+
Options:
|
|
417
|
+
--path <p> Output file path for tasks (default: .tx/tasks.jsonl)
|
|
418
|
+
--json Output result as JSON
|
|
419
|
+
--help Show this help
|
|
420
|
+
|
|
421
|
+
Examples:
|
|
422
|
+
tx sync export # Export tasks only
|
|
423
|
+
tx sync export --json # Export as JSON`,
|
|
424
|
+
"sync import": `tx sync import - Import tasks from JSONL
|
|
425
|
+
|
|
426
|
+
Usage: tx sync import [options]
|
|
427
|
+
|
|
428
|
+
Imports tasks from JSONL files into the database. Uses timestamp-based
|
|
429
|
+
conflict resolution: newer records win. Safe to run multiple times.
|
|
430
|
+
|
|
431
|
+
Options:
|
|
432
|
+
--path <p> Input file path for tasks (default: .tx/tasks.jsonl)
|
|
433
|
+
--json Output result as JSON
|
|
434
|
+
--help Show this help
|
|
435
|
+
|
|
436
|
+
Examples:
|
|
437
|
+
tx sync import # Import tasks only
|
|
438
|
+
tx sync import --json # Import as JSON`,
|
|
439
|
+
"sync status": `tx sync status - Show sync status
|
|
440
|
+
|
|
441
|
+
Usage: tx sync status [--json]
|
|
442
|
+
|
|
443
|
+
Shows the current sync status including:
|
|
444
|
+
- Number of tasks in database
|
|
445
|
+
- Number of operations in JSONL file
|
|
446
|
+
- Whether database has unexported changes (dirty)
|
|
447
|
+
- Auto-sync enabled status
|
|
448
|
+
|
|
449
|
+
Options:
|
|
450
|
+
--json Output as JSON
|
|
451
|
+
--help Show this help
|
|
452
|
+
|
|
453
|
+
Examples:
|
|
454
|
+
tx sync status
|
|
455
|
+
tx sync status --json`,
|
|
456
|
+
"sync auto": `tx sync auto - Manage automatic sync
|
|
457
|
+
|
|
458
|
+
Usage: tx sync auto [--enable | --disable] [--json]
|
|
459
|
+
|
|
460
|
+
Controls whether mutations automatically trigger JSONL export.
|
|
461
|
+
When auto-sync is enabled, any task create/update/delete will
|
|
462
|
+
automatically export to the JSONL file.
|
|
463
|
+
|
|
464
|
+
Options:
|
|
465
|
+
--enable Enable auto-sync
|
|
466
|
+
--disable Disable auto-sync
|
|
467
|
+
--json Output as JSON
|
|
468
|
+
--help Show this help
|
|
469
|
+
|
|
470
|
+
Without flags, shows current auto-sync status.
|
|
471
|
+
|
|
472
|
+
Examples:
|
|
473
|
+
tx sync auto # Show current status
|
|
474
|
+
tx sync auto --enable # Enable auto-sync
|
|
475
|
+
tx sync auto --disable # Disable auto-sync`,
|
|
476
|
+
"sync claude": `tx sync claude - Write tasks to Claude Code team directory
|
|
477
|
+
|
|
478
|
+
Usage: tx sync claude --team <name> [options]
|
|
479
|
+
tx sync claude --dir <path> [options]
|
|
480
|
+
|
|
481
|
+
Writes all non-done tx tasks as individual JSON files to a Claude Code
|
|
482
|
+
team's task directory. Tasks appear immediately in the team's TaskList.
|
|
483
|
+
This is a one-way sync: tx is the source of truth.
|
|
484
|
+
|
|
485
|
+
Teammates should run 'tx done <txId>' when they complete a task to
|
|
486
|
+
write back to the tx database.
|
|
487
|
+
|
|
488
|
+
Options:
|
|
489
|
+
--team <name> Claude Code team name (resolves to ~/.claude/tasks/<name>/)
|
|
490
|
+
--dir <path> Direct path to task directory (alternative to --team)
|
|
491
|
+
--json Output result as JSON
|
|
492
|
+
--help Show this help
|
|
493
|
+
|
|
494
|
+
Workflow:
|
|
495
|
+
1. Create team: Teammate.spawnTeam("my-team")
|
|
496
|
+
2. Sync tasks: tx sync claude --team my-team
|
|
497
|
+
3. Spawn agents: Task tool with team_name="my-team"
|
|
498
|
+
4. Writeback: Teammates run 'tx done <txId>' on completion
|
|
499
|
+
|
|
500
|
+
Examples:
|
|
501
|
+
tx sync claude --team my-team # Write to ~/.claude/tasks/my-team/
|
|
502
|
+
tx sync claude --dir /tmp/tasks # Write to custom directory
|
|
503
|
+
tx sync claude --team my-team --json # JSON output with stats`,
|
|
504
|
+
"sync codex": `tx sync codex - Write tasks to Codex (coming soon)
|
|
505
|
+
|
|
506
|
+
Usage: tx sync codex [options]
|
|
507
|
+
|
|
508
|
+
Writes tasks to OpenAI Codex's task format. Not yet implemented.
|
|
509
|
+
|
|
510
|
+
Options:
|
|
511
|
+
--help Show this help`,
|
|
512
|
+
"sync compact": `tx sync compact - Compact JSONL file
|
|
513
|
+
|
|
514
|
+
Usage: tx sync compact [--path <path>] [--json]
|
|
515
|
+
|
|
516
|
+
Compacts the JSONL file by:
|
|
517
|
+
- Keeping only the latest state for each entity
|
|
518
|
+
- Removing deleted tasks (tombstones)
|
|
519
|
+
- Removing removed dependencies
|
|
520
|
+
|
|
521
|
+
This reduces file size and improves import performance.
|
|
522
|
+
|
|
523
|
+
Options:
|
|
524
|
+
--path <p> JSONL file path (default: .tx/tasks.jsonl)
|
|
525
|
+
--json Output as JSON
|
|
526
|
+
--help Show this help
|
|
527
|
+
|
|
528
|
+
Examples:
|
|
529
|
+
tx sync compact # Compact default file
|
|
530
|
+
tx sync compact --path ~/shared.jsonl # Compact specific file`,
|
|
531
|
+
migrate: `tx migrate - Manage database schema migrations
|
|
532
|
+
|
|
533
|
+
Usage: tx migrate <subcommand> [options]
|
|
534
|
+
|
|
535
|
+
Subcommands:
|
|
536
|
+
status Show current schema version and pending migrations
|
|
537
|
+
|
|
538
|
+
Run 'tx migrate <subcommand> --help' for subcommand-specific help.
|
|
539
|
+
|
|
540
|
+
Examples:
|
|
541
|
+
tx migrate status # Show migration status`,
|
|
542
|
+
"migrate status": `tx migrate status - Show migration status
|
|
543
|
+
|
|
544
|
+
Usage: tx migrate status [--json]
|
|
545
|
+
|
|
546
|
+
Shows the current schema version, latest available version, applied
|
|
547
|
+
migrations, and any pending migrations that will be applied on next
|
|
548
|
+
database open.
|
|
549
|
+
|
|
550
|
+
Options:
|
|
551
|
+
--json Output as JSON
|
|
552
|
+
--help Show this help
|
|
553
|
+
|
|
554
|
+
Examples:
|
|
555
|
+
tx migrate status
|
|
556
|
+
tx migrate status --json`,
|
|
557
|
+
"learning:add": `tx learning:add - Add a learning
|
|
558
|
+
|
|
559
|
+
Usage: tx learning:add <content> [options]
|
|
560
|
+
|
|
561
|
+
Creates a new learning entry. Learnings are pieces of knowledge that can
|
|
562
|
+
be retrieved based on task context.
|
|
563
|
+
|
|
564
|
+
Arguments:
|
|
565
|
+
<content> Required. The learning content/insight to store
|
|
566
|
+
|
|
567
|
+
Options:
|
|
568
|
+
-c, --category <cat> Category tag (e.g., database, auth, api)
|
|
569
|
+
--source-ref <ref> Reference to source (e.g., task ID, file path)
|
|
570
|
+
--source-type <type> Source type: manual, compaction, run, claude_md (default: manual)
|
|
571
|
+
--json Output as JSON
|
|
572
|
+
--help Show this help
|
|
573
|
+
|
|
574
|
+
Examples:
|
|
575
|
+
tx learning:add "Always use transactions for multi-step DB operations"
|
|
576
|
+
tx learning:add "Rate limit is 100 req/min" -c api
|
|
577
|
+
tx learning:add "Migration requires downtime" --source-ref tx-abc123`,
|
|
578
|
+
"learning:search": `tx learning:search - Search learnings
|
|
579
|
+
|
|
580
|
+
Usage: tx learning:search <query> [options]
|
|
581
|
+
|
|
582
|
+
Searches learnings using hybrid BM25 + vector search with RRF fusion.
|
|
583
|
+
Returns results ranked by relevance.
|
|
584
|
+
|
|
585
|
+
Arguments:
|
|
586
|
+
<query> Required. Search query (keywords or phrase)
|
|
587
|
+
|
|
588
|
+
Options:
|
|
589
|
+
-n, --limit <n> Maximum results (default: 10)
|
|
590
|
+
--min-score <n> Minimum relevance score 0-1 (default: 0.3)
|
|
591
|
+
--json Output as JSON
|
|
592
|
+
--help Show this help
|
|
593
|
+
|
|
594
|
+
Examples:
|
|
595
|
+
tx learning:search "database transactions"
|
|
596
|
+
tx learning:search "authentication" -n 5 --json`,
|
|
597
|
+
"learning:recent": `tx learning:recent - List recent learnings
|
|
598
|
+
|
|
599
|
+
Usage: tx learning:recent [options]
|
|
600
|
+
|
|
601
|
+
Lists the most recently created learnings.
|
|
602
|
+
|
|
603
|
+
Options:
|
|
604
|
+
-n, --limit <n> Maximum results (default: 10)
|
|
605
|
+
--json Output as JSON
|
|
606
|
+
--help Show this help
|
|
607
|
+
|
|
608
|
+
Examples:
|
|
609
|
+
tx learning:recent
|
|
610
|
+
tx learning:recent -n 5 --json`,
|
|
611
|
+
"learning:helpful": `tx learning:helpful - Record learning helpfulness
|
|
612
|
+
|
|
613
|
+
Usage: tx learning:helpful <id> [options]
|
|
614
|
+
|
|
615
|
+
Records whether a learning was helpful (outcome feedback). This improves
|
|
616
|
+
future retrieval by boosting helpful learnings in search results.
|
|
617
|
+
|
|
618
|
+
Arguments:
|
|
619
|
+
<id> Required. Learning ID (number)
|
|
620
|
+
|
|
621
|
+
Options:
|
|
622
|
+
--score <n> Helpfulness score 0-1 (default: 1.0)
|
|
623
|
+
--json Output as JSON
|
|
624
|
+
--help Show this help
|
|
625
|
+
|
|
626
|
+
Examples:
|
|
627
|
+
tx learning:helpful 42
|
|
628
|
+
tx learning:helpful 42 --score 0.8`,
|
|
629
|
+
"learning:embed": `tx learning:embed - Compute embeddings for learnings
|
|
630
|
+
|
|
631
|
+
Usage: tx learning:embed [options]
|
|
632
|
+
|
|
633
|
+
Computes vector embeddings for learnings to enable semantic search.
|
|
634
|
+
Requires TX_EMBEDDINGS=1 environment variable to be set.
|
|
635
|
+
|
|
636
|
+
Options:
|
|
637
|
+
--embedder <type> Select embedder: auto (default), openai, local, noop
|
|
638
|
+
Overrides TX_EMBEDDER environment variable
|
|
639
|
+
--all Re-embed all learnings (default: only those without embeddings)
|
|
640
|
+
--status Show embedding coverage status
|
|
641
|
+
--json Output as JSON
|
|
642
|
+
--help Show this help
|
|
643
|
+
|
|
644
|
+
Embedder Types:
|
|
645
|
+
auto Auto-detect based on available API keys and packages
|
|
646
|
+
openai Use OpenAI text-embedding-3-small (requires OPENAI_API_KEY)
|
|
647
|
+
local Use local node-llama-cpp with embeddinggemma-300M
|
|
648
|
+
noop Disable embeddings (for testing)
|
|
649
|
+
|
|
650
|
+
Examples:
|
|
651
|
+
TX_EMBEDDINGS=1 tx learning:embed # Embed with auto-detection
|
|
652
|
+
TX_EMBEDDINGS=1 tx learning:embed --embedder openai # Force OpenAI embedder
|
|
653
|
+
TX_EMBEDDINGS=1 tx learning:embed --embedder local # Force local embedder
|
|
654
|
+
TX_EMBEDDINGS=1 tx learning:embed --all # Re-embed all learnings
|
|
655
|
+
tx learning:embed --status # Show embedding coverage
|
|
656
|
+
tx learning:embed --status --embedder openai # Show status with embedder info`,
|
|
657
|
+
context: `tx context - Get contextual learnings for a task
|
|
658
|
+
|
|
659
|
+
Usage: tx context <task-id> [options]
|
|
660
|
+
|
|
661
|
+
Retrieves learnings relevant to a specific task based on its title and
|
|
662
|
+
description. Uses hybrid BM25 + vector search with RRF fusion, optional
|
|
663
|
+
re-ranking and MMR diversification.
|
|
664
|
+
|
|
665
|
+
Arguments:
|
|
666
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
667
|
+
|
|
668
|
+
Options:
|
|
669
|
+
--json Output as JSON
|
|
670
|
+
--inject Write to .tx/context.md for injection
|
|
671
|
+
--retriever <path> Use custom retriever module (exports Layer<RetrieverService>)
|
|
672
|
+
--help Show this help
|
|
673
|
+
|
|
674
|
+
Custom Retriever Format:
|
|
675
|
+
The module should export a default Layer that provides RetrieverService:
|
|
676
|
+
|
|
677
|
+
// my-retriever.ts
|
|
678
|
+
import { Layer, Effect } from "effect"
|
|
679
|
+
import { RetrieverService } from "@jamesaphoenix/tx-core"
|
|
680
|
+
|
|
681
|
+
export default Layer.succeed(RetrieverService, {
|
|
682
|
+
search: (query, options) => Effect.gen(function* () {
|
|
683
|
+
// Custom Pinecone/Weaviate/Chroma implementation
|
|
684
|
+
return yield* myVectorSearch(query, options)
|
|
685
|
+
}),
|
|
686
|
+
isAvailable: () => Effect.succeed(true)
|
|
687
|
+
})
|
|
688
|
+
|
|
689
|
+
Examples:
|
|
690
|
+
tx context tx-a1b2c3d4
|
|
691
|
+
tx context tx-a1b2c3d4 --json
|
|
692
|
+
tx context tx-a1b2c3d4 --inject
|
|
693
|
+
tx context tx-a1b2c3d4 --retriever ./my-retriever.ts`,
|
|
694
|
+
learn: `tx learn - Attach a learning to a file path or glob pattern
|
|
695
|
+
|
|
696
|
+
Usage: tx learn <path> <note> [options]
|
|
697
|
+
|
|
698
|
+
Stores a file-specific note that can be recalled when working on matching files.
|
|
699
|
+
Supports glob patterns for matching multiple files.
|
|
700
|
+
|
|
701
|
+
Arguments:
|
|
702
|
+
<path> Required. File path or glob pattern (e.g., src/services/*.ts)
|
|
703
|
+
<note> Required. The note/learning to attach
|
|
704
|
+
|
|
705
|
+
Options:
|
|
706
|
+
--task <id> Associate with a task ID
|
|
707
|
+
--json Output as JSON
|
|
708
|
+
--help Show this help
|
|
709
|
+
|
|
710
|
+
Examples:
|
|
711
|
+
tx learn "src/db.ts" "Always run migrations in a transaction"
|
|
712
|
+
tx learn "src/services/*.ts" "Services must use Effect-TS patterns"
|
|
713
|
+
tx learn "*.test.ts" "Use vitest describe/it syntax" --task tx-abc123`,
|
|
714
|
+
recall: `tx recall - Query file learnings by path
|
|
715
|
+
|
|
716
|
+
Usage: tx recall [path] [options]
|
|
717
|
+
|
|
718
|
+
Retrieves file-specific learnings. If a path is provided, returns learnings
|
|
719
|
+
matching that path (using glob patterns). Without a path, returns all learnings.
|
|
720
|
+
|
|
721
|
+
Arguments:
|
|
722
|
+
[path] Optional. File path to match against stored patterns
|
|
723
|
+
|
|
724
|
+
Options:
|
|
725
|
+
--json Output as JSON
|
|
726
|
+
--help Show this help
|
|
727
|
+
|
|
728
|
+
Examples:
|
|
729
|
+
tx recall # List all file learnings
|
|
730
|
+
tx recall "src/db.ts" # Learnings for specific file
|
|
731
|
+
tx recall "src/services/task.ts" # Matches patterns like src/services/*.ts
|
|
732
|
+
tx recall --json`,
|
|
733
|
+
help: `tx help - Show help
|
|
734
|
+
|
|
735
|
+
Usage: tx help [command]
|
|
736
|
+
tx --help
|
|
737
|
+
tx <command> --help
|
|
738
|
+
|
|
739
|
+
Shows general help or help for a specific command.
|
|
740
|
+
|
|
741
|
+
Examples:
|
|
742
|
+
tx help # General help
|
|
743
|
+
tx help add # Help for 'add' command
|
|
744
|
+
tx add --help # Same as above`,
|
|
745
|
+
trace: `tx trace - Execution tracing for debugging run failures
|
|
746
|
+
|
|
747
|
+
Usage: tx trace <subcommand> [options]
|
|
748
|
+
|
|
749
|
+
Subcommands:
|
|
750
|
+
list Show recent runs with event counts
|
|
751
|
+
show <run-id> Show metrics events for a run
|
|
752
|
+
transcript <run-id> Display raw transcript content
|
|
753
|
+
stderr <run-id> Display stderr content
|
|
754
|
+
errors Show recent errors across all runs
|
|
755
|
+
|
|
756
|
+
Run 'tx trace <subcommand> --help' for subcommand-specific help.
|
|
757
|
+
|
|
758
|
+
Examples:
|
|
759
|
+
tx trace list # Recent runs with span counts
|
|
760
|
+
tx trace list --hours 48 # Runs from last 48 hours
|
|
761
|
+
tx trace show run-abc123 # Metrics events for a run
|
|
762
|
+
tx trace show run-abc123 --full # Combined events + tool calls timeline
|
|
763
|
+
tx trace transcript run-abc123 # Raw JSONL transcript
|
|
764
|
+
tx trace stderr run-abc123 # Stderr output for debugging
|
|
765
|
+
tx trace errors # Recent errors across all runs
|
|
766
|
+
tx trace errors --hours 48 # Errors from last 48 hours`,
|
|
767
|
+
"trace list": `tx trace list - Show recent runs with event counts
|
|
768
|
+
|
|
769
|
+
Usage: tx trace list [options]
|
|
770
|
+
|
|
771
|
+
Lists recent runs from the database with their agent, task, status, span count,
|
|
772
|
+
and relative time. Useful for quick overview of recent execution activity.
|
|
773
|
+
|
|
774
|
+
Options:
|
|
775
|
+
--hours <n> Time window in hours (default: 24)
|
|
776
|
+
--limit, -n <n> Maximum number of results (default: 20)
|
|
777
|
+
--json Output as JSON
|
|
778
|
+
--help Show this help
|
|
779
|
+
|
|
780
|
+
Examples:
|
|
781
|
+
tx trace list # Recent runs (last 24h)
|
|
782
|
+
tx trace list --hours 48 # Last 48 hours
|
|
783
|
+
tx trace list --limit 10 # Top 10 only
|
|
784
|
+
tx trace list --json # JSON output for scripting`,
|
|
785
|
+
"trace show": `tx trace show - Show metrics events for a run
|
|
786
|
+
|
|
787
|
+
Usage: tx trace show <run-id> [options]
|
|
788
|
+
|
|
789
|
+
Displays operational metrics events (spans, metrics) recorded during a run.
|
|
790
|
+
With --full, also includes tool calls from the transcript file, interleaved
|
|
791
|
+
by timestamp for comprehensive debugging.
|
|
792
|
+
|
|
793
|
+
Arguments:
|
|
794
|
+
<run-id> Required. Run ID (e.g., run-abc12345)
|
|
795
|
+
|
|
796
|
+
Options:
|
|
797
|
+
--full Combine events timeline with transcript tool calls
|
|
798
|
+
--json Output as JSON
|
|
799
|
+
--help Show this help
|
|
800
|
+
|
|
801
|
+
Output (default):
|
|
802
|
+
Shows run metadata (agent, task, status, times) followed by metrics events
|
|
803
|
+
in chronological order with their duration and status.
|
|
804
|
+
|
|
805
|
+
Output (--full):
|
|
806
|
+
Shows a combined timeline that interleaves:
|
|
807
|
+
- [span] Operational spans with timing data
|
|
808
|
+
- [metric] Custom metrics
|
|
809
|
+
- [tool] Tool calls from the transcript (e.g., Bash, Read, Edit)
|
|
810
|
+
|
|
811
|
+
This is useful for understanding exactly what the agent was doing at each
|
|
812
|
+
point in time, correlating service operations with agent tool usage.
|
|
813
|
+
|
|
814
|
+
Examples:
|
|
815
|
+
tx trace show run-abc123 # Metrics events only
|
|
816
|
+
tx trace show run-abc123 --full # Combined timeline with tool calls
|
|
817
|
+
tx trace show run-abc123 --json # JSON output for scripting`,
|
|
818
|
+
"trace errors": `tx trace errors - Show recent errors across all runs
|
|
819
|
+
|
|
820
|
+
Usage: tx trace errors [options]
|
|
821
|
+
|
|
822
|
+
Aggregates errors from multiple sources:
|
|
823
|
+
- Failed runs (runs with status='failed')
|
|
824
|
+
- Error spans (operations that threw exceptions)
|
|
825
|
+
- Error events (explicit error events)
|
|
826
|
+
|
|
827
|
+
Useful for quickly identifying patterns in failures across multiple runs.
|
|
828
|
+
|
|
829
|
+
Options:
|
|
830
|
+
--hours <n> Time window in hours (default: 24)
|
|
831
|
+
--limit, -n <n> Maximum number of results (default: 20)
|
|
832
|
+
--json Output as JSON
|
|
833
|
+
--help Show this help
|
|
834
|
+
|
|
835
|
+
Examples:
|
|
836
|
+
tx trace errors # Recent errors (last 24h)
|
|
837
|
+
tx trace errors --hours 48 # Last 48 hours
|
|
838
|
+
tx trace errors --limit 10 # Top 10 only
|
|
839
|
+
tx trace errors --json # JSON output for scripting`,
|
|
840
|
+
claim: `tx claim - Claim a task for a worker with a lease
|
|
841
|
+
|
|
842
|
+
Usage: tx claim <task-id> <worker-id> [options]
|
|
843
|
+
|
|
844
|
+
Claims a task for a worker, preventing other workers from claiming it.
|
|
845
|
+
The claim has a lease duration; if the lease expires, the task becomes
|
|
846
|
+
claimable again. Workers should renew leases for long-running tasks.
|
|
847
|
+
|
|
848
|
+
Arguments:
|
|
849
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
850
|
+
<worker-id> Required. Worker ID (e.g., worker-abc12345)
|
|
851
|
+
|
|
852
|
+
Options:
|
|
853
|
+
--lease <m> Lease duration in minutes (default: 30)
|
|
854
|
+
--json Output as JSON
|
|
855
|
+
--help Show this help
|
|
856
|
+
|
|
857
|
+
Examples:
|
|
858
|
+
tx claim tx-abc123 worker-def456 # Claim with default 30m lease
|
|
859
|
+
tx claim tx-abc123 worker-def456 --lease 60 # Claim with 60m lease
|
|
860
|
+
tx claim tx-abc123 worker-def456 --json # JSON output`,
|
|
861
|
+
"claim:release": `tx claim:release - Release a claim on a task
|
|
862
|
+
|
|
863
|
+
Usage: tx claim:release <task-id> <worker-id> [options]
|
|
864
|
+
|
|
865
|
+
Releases a worker's claim on a task, allowing other workers to claim it.
|
|
866
|
+
Only the worker holding the claim can release it.
|
|
867
|
+
|
|
868
|
+
Arguments:
|
|
869
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
870
|
+
<worker-id> Required. Worker ID that holds the claim
|
|
871
|
+
|
|
872
|
+
Options:
|
|
873
|
+
--json Output as JSON
|
|
874
|
+
--help Show this help
|
|
875
|
+
|
|
876
|
+
Examples:
|
|
877
|
+
tx claim:release tx-abc123 worker-def456
|
|
878
|
+
tx claim:release tx-abc123 worker-def456 --json`,
|
|
879
|
+
"claim:renew": `tx claim:renew - Renew the lease on a claim
|
|
880
|
+
|
|
881
|
+
Usage: tx claim:renew <task-id> <worker-id> [options]
|
|
882
|
+
|
|
883
|
+
Extends the lease on an existing claim. Use this for long-running tasks
|
|
884
|
+
to prevent the claim from expiring. Maximum 10 renewals by default.
|
|
885
|
+
|
|
886
|
+
Arguments:
|
|
887
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
888
|
+
<worker-id> Required. Worker ID that holds the claim
|
|
889
|
+
|
|
890
|
+
Options:
|
|
891
|
+
--json Output as JSON
|
|
892
|
+
--help Show this help
|
|
893
|
+
|
|
894
|
+
Fails if:
|
|
895
|
+
- No active claim exists for this task and worker
|
|
896
|
+
- The lease has already expired
|
|
897
|
+
- Maximum renewals (10) have been exceeded
|
|
898
|
+
|
|
899
|
+
Examples:
|
|
900
|
+
tx claim:renew tx-abc123 worker-def456
|
|
901
|
+
tx claim:renew tx-abc123 worker-def456 --json`,
|
|
902
|
+
validate: `tx validate - Database health checks
|
|
903
|
+
|
|
904
|
+
Usage: tx validate [options]
|
|
905
|
+
|
|
906
|
+
Performs comprehensive pre-flight checks on the database:
|
|
907
|
+
- Database integrity (SQLite PRAGMA integrity_check)
|
|
908
|
+
- Schema version verification
|
|
909
|
+
- Foreign key constraint validation
|
|
910
|
+
- Orphaned dependency detection
|
|
911
|
+
- Invalid status values scan
|
|
912
|
+
- Missing parent references
|
|
913
|
+
|
|
914
|
+
Use before running agents or after sync import to catch corruption early.
|
|
915
|
+
|
|
916
|
+
Options:
|
|
917
|
+
--fix Auto-fix what's fixable (orphaned deps, invalid statuses, missing parent refs)
|
|
918
|
+
--json Output as JSON
|
|
919
|
+
--help Show this help
|
|
920
|
+
|
|
921
|
+
Exit Codes:
|
|
922
|
+
0 Database is valid (no errors)
|
|
923
|
+
1 Validation failed (errors found)
|
|
924
|
+
|
|
925
|
+
Examples:
|
|
926
|
+
tx validate # Run all checks
|
|
927
|
+
tx validate --fix # Auto-fix fixable issues
|
|
928
|
+
tx validate --json # Machine-readable output`,
|
|
929
|
+
stats: `tx stats - Show queue metrics and health overview
|
|
930
|
+
|
|
931
|
+
Usage: tx stats [options]
|
|
932
|
+
|
|
933
|
+
Displays aggregate statistics about the task queue including:
|
|
934
|
+
- Task counts by status with percentages
|
|
935
|
+
- Ready tasks grouped by priority (score range)
|
|
936
|
+
- Completion activity (last 24h, 7d, avg per day)
|
|
937
|
+
- Active and expired claim counts
|
|
938
|
+
|
|
939
|
+
Options:
|
|
940
|
+
--json Output as JSON
|
|
941
|
+
--help Show this help
|
|
942
|
+
|
|
943
|
+
Examples:
|
|
944
|
+
tx stats # Show queue metrics
|
|
945
|
+
tx stats --json # Machine-readable output`,
|
|
946
|
+
bulk: `tx bulk - Batch operations on multiple tasks
|
|
947
|
+
|
|
948
|
+
Usage: tx bulk <subcommand> <args...> [options]
|
|
949
|
+
|
|
950
|
+
Subcommands:
|
|
951
|
+
done <id...> Complete multiple tasks at once
|
|
952
|
+
score <n> <id...> Set priority score for multiple tasks
|
|
953
|
+
reset <id...> Reset multiple tasks to ready status
|
|
954
|
+
delete <id...> Delete multiple tasks
|
|
955
|
+
|
|
956
|
+
Operations are executed sequentially. Each task is processed independently;
|
|
957
|
+
failures on one task do not prevent processing of the remaining tasks.
|
|
958
|
+
A summary of successes and failures is printed at the end.
|
|
959
|
+
|
|
960
|
+
Options:
|
|
961
|
+
--json Output as JSON
|
|
962
|
+
--help Show this help
|
|
963
|
+
|
|
964
|
+
Examples:
|
|
965
|
+
tx bulk done tx-abc123 tx-def456 tx-ghi789
|
|
966
|
+
tx bulk score 900 tx-abc123 tx-def456
|
|
967
|
+
tx bulk reset tx-abc123 tx-def456
|
|
968
|
+
tx bulk delete tx-abc123 tx-def456 --json`,
|
|
969
|
+
doctor: `tx doctor - System diagnostics for troubleshooting
|
|
970
|
+
|
|
971
|
+
Usage: tx doctor [options]
|
|
972
|
+
|
|
973
|
+
Runs diagnostic checks to help troubleshoot issues:
|
|
974
|
+
- Database file exists and is readable
|
|
975
|
+
- WAL mode enabled
|
|
976
|
+
- Schema version matches expected
|
|
977
|
+
- Effect services are properly wired
|
|
978
|
+
- Stale claims and workers
|
|
979
|
+
- Task and learning counts
|
|
980
|
+
- ANTHROPIC_API_KEY availability for LLM features
|
|
981
|
+
|
|
982
|
+
Options:
|
|
983
|
+
--verbose, -v Include detailed output for each check
|
|
984
|
+
--json Output as JSON
|
|
985
|
+
--help Show this help
|
|
986
|
+
|
|
987
|
+
Exit Codes:
|
|
988
|
+
0 All checks pass (healthy)
|
|
989
|
+
1 One or more checks failed
|
|
990
|
+
|
|
991
|
+
Examples:
|
|
992
|
+
tx doctor # Run diagnostics
|
|
993
|
+
tx doctor --verbose # Include detailed output
|
|
994
|
+
tx doctor --json # Machine-readable output`,
|
|
995
|
+
dashboard: `tx dashboard - Start API server + dashboard and open in browser
|
|
996
|
+
|
|
997
|
+
Usage: tx dashboard [options]
|
|
998
|
+
|
|
999
|
+
Starts the dashboard API server (port 3001) and Vite dev server (port 5173),
|
|
1000
|
+
then opens the dashboard in Brave Browser (falls back to Chrome).
|
|
1001
|
+
|
|
1002
|
+
Options:
|
|
1003
|
+
--no-open Start servers without opening browser
|
|
1004
|
+
--port <n> Custom API server port (default: 3001)
|
|
1005
|
+
|
|
1006
|
+
Press Ctrl+C to stop both servers.
|
|
1007
|
+
|
|
1008
|
+
Examples:
|
|
1009
|
+
tx dashboard # Start and open in Brave/Chrome
|
|
1010
|
+
tx dashboard --no-open # Start without opening browser
|
|
1011
|
+
tx dashboard --port 3002 # Custom API port`,
|
|
1012
|
+
doc: `tx doc - Docs as primitives (DD-023)
|
|
1013
|
+
|
|
1014
|
+
Usage: tx doc <subcommand> [options]
|
|
1015
|
+
|
|
1016
|
+
Subcommands:
|
|
1017
|
+
add <kind> <name> Create a doc (overview, prd, design)
|
|
1018
|
+
edit <name> Open doc YAML in $EDITOR
|
|
1019
|
+
show <name> Show doc details (--md for rendered markdown)
|
|
1020
|
+
list List all docs (--kind, --status filters)
|
|
1021
|
+
render [name] Render MD files + regenerate index
|
|
1022
|
+
lock <name> Lock doc (immutable after locking)
|
|
1023
|
+
version <name> Create new version from locked doc (copies content)
|
|
1024
|
+
link <from> <to> Link two docs (auto-infers link type)
|
|
1025
|
+
attach <task> <doc> Link task to doc (--type implements|references)
|
|
1026
|
+
patch <design> <name> Create design patch on locked doc
|
|
1027
|
+
validate Warn about tasks not linked to docs
|
|
1028
|
+
drift <name> Detect drift between doc and linked tasks
|
|
1029
|
+
|
|
1030
|
+
Run 'tx doc <subcommand> --help' for subcommand-specific help.
|
|
1031
|
+
|
|
1032
|
+
Examples:
|
|
1033
|
+
tx doc add overview system-design
|
|
1034
|
+
tx doc add design DD-023 --title "Docs as Primitives"
|
|
1035
|
+
tx doc render
|
|
1036
|
+
tx doc lock DD-023
|
|
1037
|
+
tx doc version DD-023
|
|
1038
|
+
tx doc validate`,
|
|
1039
|
+
"doc add": `tx doc add - Create a new doc
|
|
1040
|
+
|
|
1041
|
+
Usage: tx doc add <kind> <name> [--title <title>]
|
|
1042
|
+
|
|
1043
|
+
Creates a new doc with template YAML content. The file is written to
|
|
1044
|
+
.tx/docs/<kind>/<name>.yml (overview docs go to .tx/docs/<name>.yml).
|
|
1045
|
+
|
|
1046
|
+
Arguments:
|
|
1047
|
+
<kind> Required. Doc kind: overview, prd, design
|
|
1048
|
+
<name> Required. Doc name (e.g., DD-023-docs-as-primitives)
|
|
1049
|
+
|
|
1050
|
+
Options:
|
|
1051
|
+
--title, -t <title> Doc title (defaults to name)
|
|
1052
|
+
--json Output as JSON
|
|
1053
|
+
--help Show this help
|
|
1054
|
+
|
|
1055
|
+
Notes:
|
|
1056
|
+
- Only ONE overview doc is allowed per project
|
|
1057
|
+
- YAML content is the source of truth; MD is generated via 'tx doc render'
|
|
1058
|
+
|
|
1059
|
+
Examples:
|
|
1060
|
+
tx doc add overview system-design --title "System Design & Invariants"
|
|
1061
|
+
tx doc add prd PRD-023 --title "Docs as Primitives"
|
|
1062
|
+
tx doc add design DD-023 --title "Docs as Primitives"`,
|
|
1063
|
+
"doc edit": `tx doc edit - Open doc YAML in editor
|
|
1064
|
+
|
|
1065
|
+
Usage: tx doc edit <name>
|
|
1066
|
+
|
|
1067
|
+
Opens the doc's YAML file in $EDITOR (defaults to vi).
|
|
1068
|
+
|
|
1069
|
+
Arguments:
|
|
1070
|
+
<name> Required. Doc name
|
|
1071
|
+
|
|
1072
|
+
Examples:
|
|
1073
|
+
tx doc edit DD-023
|
|
1074
|
+
EDITOR=code tx doc edit DD-023`,
|
|
1075
|
+
"doc show": `tx doc show - Show doc details
|
|
1076
|
+
|
|
1077
|
+
Usage: tx doc show <name> [--md] [--json]
|
|
1078
|
+
|
|
1079
|
+
Shows metadata for a doc. Use --md to display rendered markdown content.
|
|
1080
|
+
|
|
1081
|
+
Arguments:
|
|
1082
|
+
<name> Required. Doc name
|
|
1083
|
+
|
|
1084
|
+
Options:
|
|
1085
|
+
--md Show rendered markdown content instead of metadata
|
|
1086
|
+
--json Output as JSON
|
|
1087
|
+
--help Show this help
|
|
1088
|
+
|
|
1089
|
+
Examples:
|
|
1090
|
+
tx doc show DD-023
|
|
1091
|
+
tx doc show DD-023 --md
|
|
1092
|
+
tx doc show DD-023 --json`,
|
|
1093
|
+
"doc list": `tx doc list - List all docs
|
|
1094
|
+
|
|
1095
|
+
Usage: tx doc list [--kind <k>] [--status <s>] [--json]
|
|
1096
|
+
|
|
1097
|
+
Lists all docs with their kind, version, status, and title.
|
|
1098
|
+
|
|
1099
|
+
Options:
|
|
1100
|
+
--kind, -k <kind> Filter by kind (overview, prd, design)
|
|
1101
|
+
--status, -s <status> Filter by status (changing, locked)
|
|
1102
|
+
--json Output as JSON
|
|
1103
|
+
--help Show this help
|
|
1104
|
+
|
|
1105
|
+
Examples:
|
|
1106
|
+
tx doc list
|
|
1107
|
+
tx doc list --kind design
|
|
1108
|
+
tx doc list --status locked --json`,
|
|
1109
|
+
"doc render": `tx doc render - Render MD files from YAML
|
|
1110
|
+
|
|
1111
|
+
Usage: tx doc render [name] [--json]
|
|
1112
|
+
|
|
1113
|
+
Reads YAML source files and generates markdown. Always regenerates
|
|
1114
|
+
index.yml and index.md alongside any specific doc.
|
|
1115
|
+
|
|
1116
|
+
Arguments:
|
|
1117
|
+
[name] Optional. Specific doc to render (default: all)
|
|
1118
|
+
|
|
1119
|
+
Options:
|
|
1120
|
+
--json Output as JSON
|
|
1121
|
+
--help Show this help
|
|
1122
|
+
|
|
1123
|
+
Examples:
|
|
1124
|
+
tx doc render # Render all docs + index
|
|
1125
|
+
tx doc render DD-023 # Render specific doc + index`,
|
|
1126
|
+
"doc lock": `tx doc lock - Lock a doc
|
|
1127
|
+
|
|
1128
|
+
Usage: tx doc lock <name> [--json]
|
|
1129
|
+
|
|
1130
|
+
Locks a doc, making it immutable. Renders final MD. To make changes
|
|
1131
|
+
to a locked doc, create a new version (tx doc version) or a patch
|
|
1132
|
+
(tx doc patch).
|
|
1133
|
+
|
|
1134
|
+
Arguments:
|
|
1135
|
+
<name> Required. Doc name
|
|
1136
|
+
|
|
1137
|
+
Options:
|
|
1138
|
+
--json Output as JSON
|
|
1139
|
+
--help Show this help
|
|
1140
|
+
|
|
1141
|
+
Examples:
|
|
1142
|
+
tx doc lock DD-023`,
|
|
1143
|
+
"doc version": `tx doc version - Create new version from locked doc
|
|
1144
|
+
|
|
1145
|
+
Usage: tx doc version <name> [--json]
|
|
1146
|
+
|
|
1147
|
+
Creates a new version (v2, v3, etc.) by copying the locked doc's content.
|
|
1148
|
+
The new version starts in 'changing' status and can be edited.
|
|
1149
|
+
|
|
1150
|
+
Arguments:
|
|
1151
|
+
<name> Required. Doc name (must be locked)
|
|
1152
|
+
|
|
1153
|
+
Options:
|
|
1154
|
+
--json Output as JSON
|
|
1155
|
+
--help Show this help
|
|
1156
|
+
|
|
1157
|
+
Examples:
|
|
1158
|
+
tx doc version DD-023 # Creates DD-023 v2 from locked v1`,
|
|
1159
|
+
"doc link": `tx doc link - Link two docs
|
|
1160
|
+
|
|
1161
|
+
Usage: tx doc link <from-name> <to-name> [--type <link-type>]
|
|
1162
|
+
|
|
1163
|
+
Creates a link between two docs. Link type is auto-inferred from
|
|
1164
|
+
doc kinds (overview->prd, prd->design, etc.) unless overridden.
|
|
1165
|
+
|
|
1166
|
+
Arguments:
|
|
1167
|
+
<from-name> Required. Source doc name
|
|
1168
|
+
<to-name> Required. Target doc name
|
|
1169
|
+
|
|
1170
|
+
Options:
|
|
1171
|
+
--type <type> Link type (overview_to_prd, overview_to_design,
|
|
1172
|
+
prd_to_design, design_patch). Auto-inferred if omitted.
|
|
1173
|
+
--json Output as JSON
|
|
1174
|
+
--help Show this help
|
|
1175
|
+
|
|
1176
|
+
Examples:
|
|
1177
|
+
tx doc link system-design PRD-023
|
|
1178
|
+
tx doc link PRD-023 DD-023`,
|
|
1179
|
+
"doc attach": `tx doc attach - Link task to doc
|
|
1180
|
+
|
|
1181
|
+
Usage: tx doc attach <task-id> <doc-name> [--type <link-type>]
|
|
1182
|
+
|
|
1183
|
+
Links a task to a doc. Allowed even on locked docs (Class A bugs
|
|
1184
|
+
can reference locked designs).
|
|
1185
|
+
|
|
1186
|
+
Arguments:
|
|
1187
|
+
<task-id> Required. Task ID (e.g., tx-a1b2c3d4)
|
|
1188
|
+
<doc-name> Required. Doc name
|
|
1189
|
+
|
|
1190
|
+
Options:
|
|
1191
|
+
--type <type> Link type: implements (default) or references
|
|
1192
|
+
--json Output as JSON
|
|
1193
|
+
--help Show this help
|
|
1194
|
+
|
|
1195
|
+
Examples:
|
|
1196
|
+
tx doc attach tx-abc123 DD-023
|
|
1197
|
+
tx doc attach tx-abc123 DD-023 --type references`,
|
|
1198
|
+
"doc patch": `tx doc patch - Create design patch on locked doc
|
|
1199
|
+
|
|
1200
|
+
Usage: tx doc patch <design-name> <patch-name> [--title <title>]
|
|
1201
|
+
|
|
1202
|
+
Creates a new design doc linked as a patch to a locked design doc.
|
|
1203
|
+
Use for Class B bug fixes on locked designs.
|
|
1204
|
+
|
|
1205
|
+
Arguments:
|
|
1206
|
+
<design-name> Required. Name of locked design doc to patch
|
|
1207
|
+
<patch-name> Required. Name for the patch doc
|
|
1208
|
+
|
|
1209
|
+
Options:
|
|
1210
|
+
--title, -t <title> Patch title (defaults to patch name)
|
|
1211
|
+
--json Output as JSON
|
|
1212
|
+
--help Show this help
|
|
1213
|
+
|
|
1214
|
+
Examples:
|
|
1215
|
+
tx doc patch DD-023 DD-023-patch-1 --title "Fix rendering edge case"`,
|
|
1216
|
+
"doc validate": `tx doc validate - Warn about unlinked tasks
|
|
1217
|
+
|
|
1218
|
+
Usage: tx doc validate [--json]
|
|
1219
|
+
|
|
1220
|
+
Checks all tasks and warns about any that are not linked to a design doc.
|
|
1221
|
+
Does not block operations (warn-only enforcement).
|
|
1222
|
+
|
|
1223
|
+
Options:
|
|
1224
|
+
--json Output as JSON
|
|
1225
|
+
--help Show this help
|
|
1226
|
+
|
|
1227
|
+
Examples:
|
|
1228
|
+
tx doc validate
|
|
1229
|
+
tx doc validate --json`,
|
|
1230
|
+
"doc drift": `tx doc drift - Detect drift between doc and tasks
|
|
1231
|
+
|
|
1232
|
+
Usage: tx doc drift <name> [--json]
|
|
1233
|
+
|
|
1234
|
+
Checks for drift between a doc and its linked tasks. Reports tasks
|
|
1235
|
+
that are linked but may not be covered in the doc's work breakdown.
|
|
1236
|
+
|
|
1237
|
+
Arguments:
|
|
1238
|
+
<name> Required. Doc name
|
|
1239
|
+
|
|
1240
|
+
Options:
|
|
1241
|
+
--json Output as JSON
|
|
1242
|
+
--help Show this help
|
|
1243
|
+
|
|
1244
|
+
Examples:
|
|
1245
|
+
tx doc drift DD-023
|
|
1246
|
+
tx doc drift DD-023 --json`,
|
|
1247
|
+
invariant: `tx invariant - Manage structured invariants (DD-023)
|
|
1248
|
+
|
|
1249
|
+
Usage: tx invariant <subcommand> [options]
|
|
1250
|
+
|
|
1251
|
+
Subcommands:
|
|
1252
|
+
list List all invariants (--subsystem, --enforcement filters)
|
|
1253
|
+
show <id> Show invariant details
|
|
1254
|
+
record <id> Record pass/fail check result
|
|
1255
|
+
sync Sync invariants from doc YAML files to DB
|
|
1256
|
+
|
|
1257
|
+
Run 'tx invariant <subcommand> --help' for subcommand-specific help.
|
|
1258
|
+
|
|
1259
|
+
Examples:
|
|
1260
|
+
tx invariant list
|
|
1261
|
+
tx invariant list --subsystem docs
|
|
1262
|
+
tx invariant show INV-DOC-001
|
|
1263
|
+
tx invariant record INV-DOC-001 --passed
|
|
1264
|
+
tx invariant sync`,
|
|
1265
|
+
"invariant list": `tx invariant list - List all invariants
|
|
1266
|
+
|
|
1267
|
+
Usage: tx invariant list [--subsystem <s>] [--enforcement <e>] [--json]
|
|
1268
|
+
|
|
1269
|
+
Lists all invariants with their rule, enforcement type, and status.
|
|
1270
|
+
|
|
1271
|
+
Options:
|
|
1272
|
+
--subsystem, -s <sub> Filter by subsystem (e.g., docs, task-management)
|
|
1273
|
+
--enforcement, -e <type> Filter by enforcement type (integration_test, linter, llm_as_judge)
|
|
1274
|
+
--json Output as JSON
|
|
1275
|
+
--help Show this help
|
|
1276
|
+
|
|
1277
|
+
Examples:
|
|
1278
|
+
tx invariant list
|
|
1279
|
+
tx invariant list --subsystem docs
|
|
1280
|
+
tx invariant list --enforcement integration_test --json`,
|
|
1281
|
+
"invariant show": `tx invariant show - Show invariant details
|
|
1282
|
+
|
|
1283
|
+
Usage: tx invariant show <id> [--json]
|
|
1284
|
+
|
|
1285
|
+
Shows full details for an invariant including rule, enforcement type,
|
|
1286
|
+
subsystem, test/lint/prompt references, and status.
|
|
1287
|
+
|
|
1288
|
+
Arguments:
|
|
1289
|
+
<id> Required. Invariant ID (e.g., INV-001, INV-DOC-001)
|
|
1290
|
+
|
|
1291
|
+
Options:
|
|
1292
|
+
--json Output as JSON
|
|
1293
|
+
--help Show this help
|
|
1294
|
+
|
|
1295
|
+
Examples:
|
|
1296
|
+
tx invariant show INV-001
|
|
1297
|
+
tx invariant show INV-DOC-001 --json`,
|
|
1298
|
+
"invariant record": `tx invariant record - Record invariant check result
|
|
1299
|
+
|
|
1300
|
+
Usage: tx invariant record <id> --passed|--failed [--details <text>]
|
|
1301
|
+
|
|
1302
|
+
Manually records the result of checking an invariant. In v1, all
|
|
1303
|
+
checks are manual. Automated runners (test, lint, LLM) are v2.
|
|
1304
|
+
|
|
1305
|
+
Arguments:
|
|
1306
|
+
<id> Required. Invariant ID (e.g., INV-001)
|
|
1307
|
+
|
|
1308
|
+
Flags (one required):
|
|
1309
|
+
--passed Record a passing check
|
|
1310
|
+
--failed Record a failing check
|
|
1311
|
+
|
|
1312
|
+
Options:
|
|
1313
|
+
--details, -d <text> Additional details about the check
|
|
1314
|
+
--json Output as JSON
|
|
1315
|
+
--help Show this help
|
|
1316
|
+
|
|
1317
|
+
Examples:
|
|
1318
|
+
tx invariant record INV-001 --passed
|
|
1319
|
+
tx invariant record INV-DOC-001 --failed --details "Missing test coverage"
|
|
1320
|
+
tx invariant record INV-001 --passed --json`,
|
|
1321
|
+
cycle: `tx cycle - Run cycle-based issue discovery scan
|
|
1322
|
+
|
|
1323
|
+
Usage: tx cycle --task-prompt <text|file> [options]
|
|
1324
|
+
|
|
1325
|
+
Dispatches sub-agent swarms to scan for codebase issues, deduplicates
|
|
1326
|
+
findings against known issues using LLM-as-judge, and optionally fixes them.
|
|
1327
|
+
Repeats in rounds within each cycle until convergence.
|
|
1328
|
+
|
|
1329
|
+
Options:
|
|
1330
|
+
--task-prompt <text|file> Area/work being reviewed (required)
|
|
1331
|
+
--scan-prompt <text|file> What sub-agents look for (optional)
|
|
1332
|
+
--name <text> Cycle name (shown in dashboard)
|
|
1333
|
+
--description <text> Cycle description
|
|
1334
|
+
--cycles <N> Number of cycles (default: 1)
|
|
1335
|
+
--max-rounds <N> Max rounds per cycle (default: 10)
|
|
1336
|
+
--agents <N> Parallel scan agents per round (default: 3)
|
|
1337
|
+
--model <model> LLM model (default: claude-opus-4-6)
|
|
1338
|
+
--fix Enable fix agent between scan rounds
|
|
1339
|
+
--scan-only Skip fix phase (explicit default)
|
|
1340
|
+
--dry-run Report only, no DB writes
|
|
1341
|
+
--score <N> Base score for new tasks (default: 500)
|
|
1342
|
+
--json Output as JSON
|
|
1343
|
+
|
|
1344
|
+
Examples:
|
|
1345
|
+
tx cycle --task-prompt "Review core services" --scan-prompt "Find bugs"
|
|
1346
|
+
tx cycle --task-prompt "Auth module" --scan-only --name "Auth review"
|
|
1347
|
+
tx cycle --task-prompt "Review core" --agents 2 --model claude-sonnet-4-5-20250929
|
|
1348
|
+
tx cycle --task-prompt "Full review" --cycles 3 --fix`,
|
|
1349
|
+
"invariant sync": `tx invariant sync - Sync invariants from doc YAML to DB
|
|
1350
|
+
|
|
1351
|
+
Usage: tx invariant sync [--doc <name>] [--json]
|
|
1352
|
+
|
|
1353
|
+
Parses invariant definitions from doc YAML files and upserts them
|
|
1354
|
+
into the database. Invariants removed from YAML are deprecated.
|
|
1355
|
+
|
|
1356
|
+
Options:
|
|
1357
|
+
--doc <name> Only sync invariants from a specific doc
|
|
1358
|
+
--json Output as JSON
|
|
1359
|
+
--help Show this help
|
|
1360
|
+
|
|
1361
|
+
Examples:
|
|
1362
|
+
tx invariant sync # Sync all docs
|
|
1363
|
+
tx invariant sync --doc DD-023 # Sync specific doc
|
|
1364
|
+
tx invariant sync --json`
|
|
1365
|
+
};
|
|
1366
|
+
//# sourceMappingURL=help.js.map
|