@proletariat/cli 0.3.11 → 0.3.13

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.
Files changed (3) hide show
  1. package/README.md +153 -194
  2. package/oclif.manifest.json +4174 -4174
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -9,26 +9,31 @@
9
9
 
10
10
  ### Seize the means of production - Ship 100x.
11
11
 
12
- > **Multi-agent orchestration of AI labor.** Spin up workers for all work, on demand.
12
+ > **Agent orchestration platform for AI labor.** Spin up workers for all work, on demand.
13
+ >
14
+ > Themed agents, including billionaires - Finally, they work for us.
13
15
 
14
- > ⚠️ **Beta Software** — Under active development. Commands and APIs may change between versions.
16
+ > ⚠️ **Beta Software** — Under active development. Commands and APIs may change between versions, and bugs are actively being squashed.
17
+ >
18
+ > - [Book a call](https://cal.com/chrismcdermut) - Feedback, ideas, or chat multi-agent workflows and the future of work/labor (and economic labor theory..)
15
19
 
16
20
  ---
17
21
 
18
22
  # TLDR
19
23
 
20
- **prlt** coordinates AI coding agents from one CLI. Isolated workspaces, secure containers, persistent state.
24
+ **prlt** is an agent orchestration platform for AI labor. Spin up workers on demand, coordinate multi-agent development from one CLI. Isolated workspaces, secure containers, persistent state.
21
25
 
22
26
  ```bash
23
27
  npm install -g @proletariat/cli
24
28
  prlt init
25
- prlt ticket create # Interactive: title, description, priority
26
- prlt work spawn # Interactive: select tickets, environment, action
29
+ prlt ticket create --title "Add OAuth" --category feature
30
+ prlt work spawn # Interactive: select tickets, environment, action
27
31
  ```
28
32
 
29
33
  Agent spawns in its own branch, writes code, opens PR. You review and merge.
30
34
 
31
35
  **Why prlt?**
36
+
32
37
  - **Isolated** - Each agent gets its own git branch. No conflicts.
33
38
  - **Secure** - Docker containers, sandboxed from your host.
34
39
  - **Durable** - Tmux sessions persist. Close window, agent keeps working.
@@ -45,40 +50,11 @@ Agent spawns in its own branch, writes code, opens PR. You review and merge.
45
50
  ```bash
46
51
  npm install -g @proletariat/cli # Install
47
52
  prlt init # Create HQ, add repos, choose theme
48
- prlt ticket create # Interactive: title, description, priority
53
+ prlt ticket create --title "Add OAuth" --category feature
49
54
  prlt work spawn # Interactive: select tickets, environment, action
50
55
  # Agent creates PR → You review → Merge → Done
51
56
  ```
52
57
 
53
- ```
54
- ┌─────┐ ┌──────┐ ┌───────┐ ┌────────┐
55
- │ You │ │ prlt │ │ Agent │ │ GitHub │
56
- └──┬──┘ └──┬───┘ └───┬───┘ └───┬────┘
57
- │ ticket create │ │ │
58
- │───────────────>│ │ │
59
- │ work spawn │ │ │
60
- │───────────────>│ │ │
61
- │ │ create branch │ │
62
- │ │ create workspace│ │
63
- │ │ spawn agent │ │
64
- │ │─────────────────>│ │
65
- │ │ │ read ticket │
66
- │ │ │ write code │
67
- │ │ │ commit │
68
- │ │ │─────────────────>│
69
- │ │ │ open PR │
70
- │ │ │─────────────────>│
71
- │ │ update status │ │
72
- │ │<─────────────────│ │
73
- │ PR ready │ │ │
74
- │<───────────────│ │ │
75
- │ review & approve │
76
- │─────────────────────────────────────────────────────>│
77
- ```
78
-
79
- <details>
80
- <summary>View interactive diagram (GitHub only)</summary>
81
-
82
58
  ```mermaid
83
59
  sequenceDiagram
84
60
  participant You
@@ -100,8 +76,6 @@ sequenceDiagram
100
76
  You->>GitHub: Review & approve
101
77
  ```
102
78
 
103
- </details>
104
-
105
79
  Spawn agents to implement, groom, or review—not just write code.
106
80
 
107
81
  ### Interactive Menus
@@ -109,34 +83,34 @@ Spawn agents to implement, groom, or review—not just write code.
109
83
  `prlt work` guides you through project and ticket selection:
110
84
 
111
85
  <p align="center">
112
- <img src="https://raw.githubusercontent.com/chrismcdermut/proletariat-cli/main/images/work/work-project-select.png" alt="Project Selection" width="600">
86
+ <img src="docs/images/work/work-project-select.png" alt="Project Selection" width="600">
113
87
  </p>
114
88
 
115
89
  Choose your operation—start a single agent, batch spawn, or watch a column:
116
90
 
117
91
  <p align="center">
118
- <img src="https://raw.githubusercontent.com/chrismcdermut/proletariat-cli/main/images/work/work-operations-menu.png" alt="Work Operations Menu" width="600">
92
+ <img src="docs/images/work/work-operations-menu.png" alt="Work Operations Menu" width="600">
119
93
  </p>
120
94
 
121
95
  Select tickets to spawn, grouped by priority:
122
96
 
123
97
  <p align="center">
124
- <img src="https://raw.githubusercontent.com/chrismcdermut/proletariat-cli/main/images/work/work-ticket-select.png" alt="Ticket Selection" width="800">
98
+ <img src="docs/images/work/work-ticket-select.png" alt="Ticket Selection" width="800">
125
99
  </p>
126
100
 
127
101
  ---
128
102
 
129
103
  # Deep Dive
130
104
 
131
- | Problem | Solution |
132
- | --- | --- |
133
- | Agents conflict with each other's changes | **Isolated** - Each agent gets its own git branch and worktree |
134
- | Agents run unsandboxed on your machine | **Secure** - Docker containers, sandboxed from your host (looking into host sandbox options) |
135
- | You lose track of who's doing what | **Trackable** - All state in one SQLite database, one CLI |
136
- | Sessions die when you close a window | **Durable** - Tmux sessions persist, detach/reattach anytime |
137
- | Context scattered across chat windows | **Structured** - Tickets with requirements, acceptance criteria |
138
- | Starting agents is heavyweight | **Ephemeral** - Spawn on demand, they work, they PR, they're done |
139
- | Context lost between agent runs | **Persistent** - Tickets accumulate context, hand off between agents |
105
+ | Problem | Solution |
106
+ | ----------------------------------------- | -------------------------------------------------------------------------------------------- |
107
+ | Agents conflict with each other's changes | **Isolated** - Each agent gets its own git branch and worktree |
108
+ | Agents run unsandboxed on your machine | **Secure** - Docker containers, sandboxed from your host (looking into host sandbox options) |
109
+ | You lose track of who's doing what | **Trackable** - All state in one SQLite database, one CLI |
110
+ | Sessions die when you close a window | **Durable** - Tmux sessions persist, detach/reattach anytime |
111
+ | Context scattered across chat windows | **Structured** - Tickets with requirements, acceptance criteria |
112
+ | Starting agents is heavyweight | **Ephemeral** - Spawn on demand, they work, they PR, they're done |
113
+ | Context lost between agent runs | **Persistent** - Tickets accumulate context, hand off between agents |
140
114
 
141
115
  ### Data Model
142
116
 
@@ -162,20 +136,20 @@ Workspace (HQ)
162
136
  └── Safe or YOLO permissions
163
137
  ```
164
138
 
165
- | Entity | Description |
166
- | --- | --- |
167
- | **Project** | Groups tickets and epics, references a workflow |
168
- | **Epic** | Work container with lifecycle (draft → active → complete) |
169
- | **Ticket** | Individual work item with requirements and acceptance criteria |
170
- | **Spec** | Static documentation (can span projects, linked to epics) |
171
- | **Workflow** | Status flow configuration (can be shared across projects) |
172
- | **Phase** | Stage in a workflow |
173
- | **Status** | Ticket state within a phase |
174
- | **Action** | Reusable prompt/action templates |
175
- | **Agent (Staff)** | Persistent named agent with dedicated workspace |
176
- | **Agent (Temp)** | Ephemeral agent spawned for a single ticket |
177
- | **Execution** | Running agent session on a ticket |
178
- | **Display** | Terminal (new tab) or Background (detached) |
139
+ | Entity | Description |
140
+ | ----------------- | -------------------------------------------------------------- |
141
+ | **Project** | Groups tickets and epics, references a workflow |
142
+ | **Epic** | Work container with lifecycle (draft → active → complete) |
143
+ | **Ticket** | Individual work item with requirements and acceptance criteria |
144
+ | **Spec** | Static documentation (can span projects, linked to epics) |
145
+ | **Workflow** | Status flow configuration (can be shared across projects) |
146
+ | **Phase** | Stage in a workflow |
147
+ | **Status** | Ticket state within a phase |
148
+ | **Action** | Reusable prompt/action templates |
149
+ | **Agent (Staff)** | Persistent named agent with dedicated workspace |
150
+ | **Agent (Temp)** | Ephemeral agent spawned for a single ticket |
151
+ | **Execution** | Running agent session on a ticket |
152
+ | **Display** | Terminal (new tab) or Background (detached) |
179
153
 
180
154
  ### Example Workflow
181
155
 
@@ -201,31 +175,6 @@ Scrum Workflow
201
175
 
202
176
  Tickets flow through statuses as work progresses. Agents automatically move tickets when they start work, open PRs, or complete tasks.
203
177
 
204
- ### Agent Naming Themes
205
-
206
- Themes control how agents are named. Staff agents use theme names directly (e.g., `bezos`, `camry`). Ephemeral agents add an adjective prefix (e.g., `bold-bezos`, `keen-camry`). Currently ephemeral names also include a number suffix (`bold-bezos-1`), but this will be removed soon.
207
-
208
- **Built-in Themes:**
209
-
210
- | Theme | Description | Example Names |
211
- | --- | --- | --- |
212
- | `billionaires` | Tech founders & executives (default) | `musk`, `gates`, `bezos` |
213
- | `toyotas` | Toyota vehicle models | `camry`, `supra`, `tacoma` |
214
- | `companies` | Major tech companies | `stripe`, `vercel`, `linear` |
215
-
216
- > *billionaires* — Finally, they work for us.
217
-
218
- **Theme Commands:**
219
-
220
- ```bash
221
- prlt agent themes list # List available themes
222
- prlt agent themes set billionaires # Set active theme
223
- prlt agent themes create mytheme # Create custom theme
224
- prlt agent themes add-names mytheme # Add names to custom theme
225
- ```
226
-
227
- Themes are selected during `prlt init`.
228
-
229
178
  ### Workspace Structure
230
179
 
231
180
  Each agent gets a copy of all repos (repo scoping coming soon). Work happens on isolated branches.
@@ -255,6 +204,31 @@ my-project/
255
204
  └── infra/
256
205
  ```
257
206
 
207
+ ### Agent Naming Themes
208
+
209
+ Themes control how agents are named. Staff agents use theme names directly (e.g., `bezos`, `camry`). Ephemeral agents add an adjective prefix (e.g., `bold-bezos`, `keen-camry`). Currently ephemeral names also include a number suffix (`bold-bezos-1`), but this will be removed soon.
210
+
211
+ **Built-in Themes:**
212
+
213
+ | Theme | Description | Example Names |
214
+ | -------------- | ------------------------------------ | ---------------------------- |
215
+ | `billionaires` | Tech founders & executives (default) | `musk`, `gates`, `bezos` |
216
+ | `toyotas` | Toyota vehicle models | `camry`, `supra`, `tacoma` |
217
+ | `companies` | Major tech companies | `stripe`, `vercel`, `linear` |
218
+
219
+ > _billionaires_ — Finally, they work for us.
220
+
221
+ **Theme Commands:**
222
+
223
+ ```bash
224
+ prlt agent themes list # List available themes
225
+ prlt agent themes set billionaires # Set active theme
226
+ prlt agent themes create mytheme # Create custom theme
227
+ prlt agent themes add-names mytheme # Add names to custom theme
228
+ ```
229
+
230
+ Themes are selected during `prlt init`.
231
+
258
232
  ### Three Ways to Use Commands
259
233
 
260
234
  #### 1. Interactive (Humans)
@@ -275,7 +249,7 @@ $ prlt ticket create
275
249
  View ticket details with `prlt ticket`:
276
250
 
277
251
  <p align="center">
278
- <img src="https://raw.githubusercontent.com/chrismcdermut/proletariat-cli/main/images/ticket/ticket-view.png" alt="Ticket View" width="600">
252
+ <img src="docs/images/ticket/ticket-view.png" alt="Ticket View" width="600">
279
253
  </p>
280
254
 
281
255
  #### 2. JSON Mode (AI Agents)
@@ -320,23 +294,23 @@ prlt ticket create \
320
294
 
321
295
  **Environment** - where the agent runs:
322
296
 
323
- | Environment | Flag | Best For |
324
- | --- | --- | --- |
325
- | 🐳 Docker | (default if devcontainer exists) | Safety—fully isolated container |
326
- | 🏃 Host | `--run-on-host` | Speed—no container overhead |
297
+ | Environment | Flag | Best For |
298
+ | ----------- | -------------------------------- | ------------------------------- |
299
+ | 🐳 Docker | (default if devcontainer exists) | Safety—fully isolated container |
300
+ | 🏃 Host | `--run-on-host` | Speed—no container overhead |
327
301
 
328
302
  **Display** - how you see it:
329
303
 
330
- | Display | Flag | Best For |
331
- | --- | --- | --- |
332
- | 📺 Terminal | `--display terminal` | Watch in new terminal tab |
333
- | 🔇 Background | `--display background` | Detached, reattach later |
304
+ | Display | Flag | Best For |
305
+ | ------------- | ---------------------- | ------------------------- |
306
+ | 📺 Terminal | `--display terminal` | Watch in new terminal tab |
307
+ | 🔇 Background | `--display background` | Detached, reattach later |
334
308
 
335
309
  **Permissions** - agent access level:
336
310
 
337
- | Mode | Flag | Description |
338
- | --- | --- | --- |
339
- | 🔒 Safe | (default) | Agent prompts for permissions |
311
+ | Mode | Flag | Description |
312
+ | ------- | -------------------- | ----------------------------------------------------------- |
313
+ | 🔒 Safe | (default) | Agent prompts for permissions |
340
314
  | 🕺 YOLO | `--skip-permissions` | No prompts, full access. Use with Docker for safe autonomy. |
341
315
 
342
316
  All sessions run in tmux under the hood—close the window, agent keeps working.
@@ -360,6 +334,7 @@ prlt work start TKT-042 --skip-permissions
360
334
  Work on multiple tickets simultaneously.
361
335
 
362
336
  **Interactive (humans):**
337
+
363
338
  ```bash
364
339
  $ prlt work spawn
365
340
 
@@ -374,24 +349,27 @@ $ prlt work spawn
374
349
  Spawning 2 tickets...
375
350
  ```
376
351
 
377
- **JSON mode (AI agents):** *(multi-select WIP)*
352
+ **JSON mode (AI agents):** _(multi-select WIP)_
353
+
378
354
  ```bash
379
355
  $ prlt work spawn --json --many
380
356
  ```
357
+
381
358
  ```json
382
359
  {
383
360
  "prompt": {
384
361
  "type": "checkbox",
385
362
  "message": "Select tickets to spawn:",
386
363
  "choices": [
387
- { "name": "[P1] TKT-042 - Add user authentication", "value": "TKT-042" },
388
- { "name": "[P1] TKT-043 - Add API rate limiting", "value": "TKT-043" }
364
+ {"name": "[P1] TKT-042 - Add user authentication", "value": "TKT-042"},
365
+ {"name": "[P1] TKT-043 - Add API rate limiting", "value": "TKT-043"}
389
366
  ]
390
367
  }
391
368
  }
392
369
  ```
393
370
 
394
371
  **Flags (scripts/CI):**
372
+
395
373
  ```bash
396
374
  prlt work spawn TKT-042 TKT-043 --action implement --mode docker
397
375
  ```
@@ -403,27 +381,9 @@ Each agent works in its own branch. No conflicts.
403
381
  Monitor running agents with `prlt execution`:
404
382
 
405
383
  <p align="center">
406
- <img src="https://raw.githubusercontent.com/chrismcdermut/proletariat-cli/main/images/execution/execution-list.png" alt="Execution List" width="800">
384
+ <img src="docs/images/execution/execution-list.png" alt="Execution List" width="800">
407
385
  </p>
408
386
 
409
- ```
410
- ┌─────────────────────┐ ┌─────────────────────┐ ┌──────────────────────────────┐
411
- │ You │ │ Agents │ │ GitHub │
412
- ├─────────────────────┤ ├─────────────────────┤ ├──────────────────────────────┤
413
- │ │ │ Agent 1 │ │ PR #101 │
414
- │ prlt work spawn ───┼─────>│ TKT-042 OAuth ──┼─────>│ feat/TKT-042-oauth │
415
- │ │ │ │ │ │
416
- │ │ │ Agent 2 │ │ PR #102 │
417
- │ ───┼─────>│ TKT-043 Rate Limit─┼─────>│ feat/TKT-043-rate-limit │
418
- │ │ │ │ │ │
419
- │ │ │ Agent 3 │ │ PR #103 │
420
- │ ───┼─────>│ TKT-044 Notifs ──┼─────>│ feat/TKT-044-notifications │
421
- └─────────────────────┘ └─────────────────────┘ └──────────────────────────────┘
422
- ```
423
-
424
- <details>
425
- <summary>View interactive diagram (GitHub only)</summary>
426
-
427
387
  ```mermaid
428
388
  flowchart LR
429
389
  subgraph You
@@ -451,12 +411,10 @@ flowchart LR
451
411
  A3 --> PR3
452
412
  ```
453
413
 
454
- </details>
455
-
456
414
  Agent-created PRs ready for review:
457
415
 
458
416
  <p align="center">
459
- <img src="https://raw.githubusercontent.com/chrismcdermut/proletariat-cli/main/images/execution/github-prs.png" alt="GitHub Pull Requests" width="800">
417
+ <img src="docs/images/execution/github-prs.png" alt="GitHub Pull Requests" width="800">
460
418
  </p>
461
419
 
462
420
  ### Command Reference
@@ -469,43 +427,43 @@ Agent-created PRs ready for review:
469
427
  <!-- ticket -->
470
428
  <tr><td rowspan="11"><b>ticket</b></td><td><code>prlt ticket create</code></td><td>Create new ticket</td></tr>
471
429
  <tr><td><code>prlt ticket list</code></td><td>List all tickets</td></tr>
472
- <tr><td><code>prlt ticket view &lt;id&gt;</code></td><td>View ticket details</td></tr>
473
- <tr><td><code>prlt ticket edit &lt;id&gt;</code></td><td>Edit ticket</td></tr>
474
- <tr><td><code>prlt ticket move &lt;id&gt; &lt;status&gt;</code></td><td>Change status</td></tr>
475
- <tr><td><code>prlt ticket delete &lt;id&gt;</code></td><td>Delete ticket</td></tr>
476
- <tr><td><code>prlt ticket complete &lt;id&gt;</code></td><td>Mark ticket complete</td></tr>
430
+ <tr><td><code>prlt ticket view <id></code></td><td>View ticket details</td></tr>
431
+ <tr><td><code>prlt ticket edit <id></code></td><td>Edit ticket</td></tr>
432
+ <tr><td><code>prlt ticket move <id> <status></code></td><td>Change status</td></tr>
433
+ <tr><td><code>prlt ticket delete <id></code></td><td>Delete ticket</td></tr>
434
+ <tr><td><code>prlt ticket complete <id></code></td><td>Mark ticket complete</td></tr>
477
435
  <tr><td><code>prlt ticket bulk</code></td><td>Bulk ticket operations</td></tr>
478
- <tr><td><code>prlt ticket link block &lt;id&gt;</code></td><td>Link blocking ticket</td></tr>
479
- <tr><td><code>prlt ticket link relates &lt;id&gt;</code></td><td>Link related ticket</td></tr>
436
+ <tr><td><code>prlt ticket link block <id></code></td><td>Link blocking ticket</td></tr>
437
+ <tr><td><code>prlt ticket link relates <id></code></td><td>Link related ticket</td></tr>
480
438
  <tr><td><code>prlt ticket template save</code></td><td>Save ticket as template</td></tr>
481
439
  <!-- work -->
482
- <tr><td rowspan="7"><b>work</b></td><td><code>prlt work start &lt;id&gt;</code></td><td>Spawn agent on ticket</td></tr>
440
+ <tr><td rowspan="7"><b>work</b></td><td><code>prlt work start <id></code></td><td>Spawn agent on ticket</td></tr>
483
441
  <tr><td><code>prlt work spawn</code></td><td>Batch spawn tickets</td></tr>
484
442
  <tr><td><code>prlt work spawn-all</code></td><td>Spawn all planned tickets</td></tr>
485
- <tr><td><code>prlt work complete &lt;id&gt;</code></td><td>Mark work done</td></tr>
486
- <tr><td><code>prlt work ready &lt;id&gt;</code></td><td>Mark ready for review</td></tr>
487
- <tr><td><code>prlt work revise &lt;id&gt;</code></td><td>Request revision</td></tr>
443
+ <tr><td><code>prlt work complete <id></code></td><td>Mark work done</td></tr>
444
+ <tr><td><code>prlt work ready <id></code></td><td>Mark ready for review</td></tr>
445
+ <tr><td><code>prlt work revise <id></code></td><td>Request revision</td></tr>
488
446
  <tr><td><code>prlt work watch</code></td><td>Watch work progress</td></tr>
489
447
  <!-- execution -->
490
448
  <tr><td rowspan="3"><b>execution</b></td><td><code>prlt execution list</code></td><td>List running agents</td></tr>
491
- <tr><td><code>prlt execution logs &lt;id&gt;</code></td><td>View agent output</td></tr>
492
- <tr><td><code>prlt execution stop &lt;id&gt;</code></td><td>Stop an agent</td></tr>
449
+ <tr><td><code>prlt execution logs <id></code></td><td>View agent output</td></tr>
450
+ <tr><td><code>prlt execution stop <id></code></td><td>Stop an agent</td></tr>
493
451
  <!-- agent -->
494
452
  <tr><td rowspan="11"><b>agent</b></td><td><code>prlt agent list</code></td><td>List all agents</td></tr>
495
- <tr><td><code>prlt agent status &lt;name&gt;</code></td><td>Check agent status</td></tr>
496
- <tr><td><code>prlt agent shell &lt;name&gt;</code></td><td>Shell into agent workspace</td></tr>
497
- <tr><td><code>prlt agent visit &lt;name&gt;</code></td><td>Navigate to workspace</td></tr>
498
- <tr><td><code>prlt agent login &lt;name&gt;</code></td><td>Auth Claude in container</td></tr>
499
- <tr><td><code>prlt agent rebuild &lt;name&gt;</code></td><td>Rebuild agent workspace</td></tr>
500
- <tr><td><code>prlt agent restart &lt;name&gt;</code></td><td>Restart agent</td></tr>
501
- <tr><td><code>prlt agent staff add &lt;names&gt;</code></td><td>Add named agents</td></tr>
453
+ <tr><td><code>prlt agent status <name></code></td><td>Check agent status</td></tr>
454
+ <tr><td><code>prlt agent shell <name></code></td><td>Shell into agent workspace</td></tr>
455
+ <tr><td><code>prlt agent visit <name></code></td><td>Navigate to workspace</td></tr>
456
+ <tr><td><code>prlt agent login <name></code></td><td>Auth Claude in container</td></tr>
457
+ <tr><td><code>prlt agent rebuild <name></code></td><td>Rebuild agent workspace</td></tr>
458
+ <tr><td><code>prlt agent restart <name></code></td><td>Restart agent</td></tr>
459
+ <tr><td><code>prlt agent staff add <names></code></td><td>Add named agents</td></tr>
502
460
  <tr><td><code>prlt agent staff list</code></td><td>List staff agents</td></tr>
503
461
  <tr><td><code>prlt agent temp list</code></td><td>List ephemeral agents</td></tr>
504
462
  <tr><td><code>prlt agent temp cleanup</code></td><td>Remove ephemeral agents</td></tr>
505
463
  <!-- agent themes -->
506
464
  <tr><td rowspan="4"><b>agent themes</b></td><td><code>prlt agent themes list</code></td><td>List available themes</td></tr>
507
- <tr><td><code>prlt agent themes set &lt;name&gt;</code></td><td>Set active theme</td></tr>
508
- <tr><td><code>prlt agent themes create &lt;name&gt;</code></td><td>Create custom theme</td></tr>
465
+ <tr><td><code>prlt agent themes set <name></code></td><td>Set active theme</td></tr>
466
+ <tr><td><code>prlt agent themes create <name></code></td><td>Create custom theme</td></tr>
509
467
  <tr><td><code>prlt agent themes add-names</code></td><td>Add names to theme</td></tr>
510
468
  <!-- board -->
511
469
  <tr><td rowspan="2"><b>board</b></td><td><code>prlt board</code></td><td>View kanban board</td></tr>
@@ -513,35 +471,35 @@ Agent-created PRs ready for review:
513
471
  <!-- project -->
514
472
  <tr><td rowspan="6"><b>project</b></td><td><code>prlt project create</code></td><td>Create project</td></tr>
515
473
  <tr><td><code>prlt project list</code></td><td>List projects</td></tr>
516
- <tr><td><code>prlt project view &lt;id&gt;</code></td><td>View project details</td></tr>
517
- <tr><td><code>prlt project archive &lt;id&gt;</code></td><td>Archive project</td></tr>
518
- <tr><td><code>prlt project unarchive &lt;id&gt;</code></td><td>Unarchive project</td></tr>
519
- <tr><td><code>prlt project delete &lt;id&gt;</code></td><td>Delete project</td></tr>
474
+ <tr><td><code>prlt project view <id></code></td><td>View project details</td></tr>
475
+ <tr><td><code>prlt project archive <id></code></td><td>Archive project</td></tr>
476
+ <tr><td><code>prlt project unarchive <id></code></td><td>Unarchive project</td></tr>
477
+ <tr><td><code>prlt project delete <id></code></td><td>Delete project</td></tr>
520
478
  <!-- epic -->
521
479
  <tr><td rowspan="10"><b>epic</b></td><td><code>prlt epic create</code></td><td>Create epic</td></tr>
522
480
  <tr><td><code>prlt epic list</code></td><td>List epics</td></tr>
523
- <tr><td><code>prlt epic view &lt;id&gt;</code></td><td>View epic details</td></tr>
524
- <tr><td><code>prlt epic ticket &lt;id&gt;</code></td><td>Add tickets to epic</td></tr>
525
- <tr><td><code>prlt epic progress &lt;id&gt;</code></td><td>View epic progress</td></tr>
526
- <tr><td><code>prlt epic move &lt;id&gt; &lt;status&gt;</code></td><td>Move epic status</td></tr>
527
- <tr><td><code>prlt epic archive &lt;id&gt;</code></td><td>Archive epic</td></tr>
528
- <tr><td><code>prlt epic activate &lt;id&gt;</code></td><td>Activate epic</td></tr>
481
+ <tr><td><code>prlt epic view <id></code></td><td>View epic details</td></tr>
482
+ <tr><td><code>prlt epic ticket <id></code></td><td>Add tickets to epic</td></tr>
483
+ <tr><td><code>prlt epic progress <id></code></td><td>View epic progress</td></tr>
484
+ <tr><td><code>prlt epic move <id> <status></code></td><td>Move epic status</td></tr>
485
+ <tr><td><code>prlt epic archive <id></code></td><td>Archive epic</td></tr>
486
+ <tr><td><code>prlt epic activate <id></code></td><td>Activate epic</td></tr>
529
487
  <tr><td><code>prlt epic reorder</code></td><td>Reorder epics</td></tr>
530
- <tr><td><code>prlt epic link block &lt;id&gt;</code></td><td>Link blocking epic</td></tr>
488
+ <tr><td><code>prlt epic link block <id></code></td><td>Link blocking epic</td></tr>
531
489
  <!-- spec -->
532
490
  <tr><td rowspan="6"><b>spec</b></td><td><code>prlt spec create</code></td><td>Create specification</td></tr>
533
491
  <tr><td><code>prlt spec list</code></td><td>List specifications</td></tr>
534
- <tr><td><code>prlt spec view &lt;id&gt;</code></td><td>View specification</td></tr>
535
- <tr><td><code>prlt spec plan &lt;id&gt;</code></td><td>Generate plan from spec</td></tr>
536
- <tr><td><code>prlt spec ticket &lt;id&gt;</code></td><td>Create ticket from spec</td></tr>
537
- <tr><td><code>prlt spec link relates &lt;id&gt;</code></td><td>Link related spec</td></tr>
492
+ <tr><td><code>prlt spec view <id></code></td><td>View specification</td></tr>
493
+ <tr><td><code>prlt spec plan <id></code></td><td>Generate plan from spec</td></tr>
494
+ <tr><td><code>prlt spec ticket <id></code></td><td>Create ticket from spec</td></tr>
495
+ <tr><td><code>prlt spec link relates <id></code></td><td>Link related spec</td></tr>
538
496
  <!-- action -->
539
497
  <tr><td rowspan="6"><b>action</b></td><td><code>prlt action create</code></td><td>Create action template</td></tr>
540
498
  <tr><td><code>prlt action list</code></td><td>List actions</td></tr>
541
- <tr><td><code>prlt action show &lt;id&gt;</code></td><td>Show action details</td></tr>
542
- <tr><td><code>prlt action run &lt;id&gt;</code></td><td>Run action</td></tr>
543
- <tr><td><code>prlt action update &lt;id&gt;</code></td><td>Update action</td></tr>
544
- <tr><td><code>prlt action delete &lt;id&gt;</code></td><td>Delete action</td></tr>
499
+ <tr><td><code>prlt action show <id></code></td><td>Show action details</td></tr>
500
+ <tr><td><code>prlt action run <id></code></td><td>Run action</td></tr>
501
+ <tr><td><code>prlt action update <id></code></td><td>Update action</td></tr>
502
+ <tr><td><code>prlt action delete <id></code></td><td>Delete action</td></tr>
545
503
  <!-- branch -->
546
504
  <tr><td rowspan="3"><b>branch</b></td><td><code>prlt branch create</code></td><td>Create branch</td></tr>
547
505
  <tr><td><code>prlt branch list</code></td><td>List branches</td></tr>
@@ -549,61 +507,62 @@ Agent-created PRs ready for review:
549
507
  <!-- status -->
550
508
  <tr><td rowspan="5"><b>status</b></td><td><code>prlt status list</code></td><td>List workflow statuses</td></tr>
551
509
  <tr><td><code>prlt status create</code></td><td>Create custom status</td></tr>
552
- <tr><td><code>prlt status update &lt;id&gt;</code></td><td>Update status</td></tr>
553
- <tr><td><code>prlt status move &lt;id&gt;</code></td><td>Reorder status</td></tr>
554
- <tr><td><code>prlt status delete &lt;id&gt;</code></td><td>Delete status</td></tr>
510
+ <tr><td><code>prlt status update <id></code></td><td>Update status</td></tr>
511
+ <tr><td><code>prlt status move <id></code></td><td>Reorder status</td></tr>
512
+ <tr><td><code>prlt status delete <id></code></td><td>Delete status</td></tr>
555
513
  <!-- workflow -->
556
514
  <tr><td rowspan="5"><b>workflow</b></td><td><code>prlt workflow list</code></td><td>List workflows</td></tr>
557
515
  <tr><td><code>prlt workflow create</code></td><td>Create workflow</td></tr>
558
- <tr><td><code>prlt workflow view &lt;id&gt;</code></td><td>View workflow</td></tr>
559
- <tr><td><code>prlt workflow switch &lt;id&gt;</code></td><td>Switch active workflow</td></tr>
560
- <tr><td><code>prlt workflow delete &lt;id&gt;</code></td><td>Delete workflow</td></tr>
516
+ <tr><td><code>prlt workflow view <id></code></td><td>View workflow</td></tr>
517
+ <tr><td><code>prlt workflow switch <id></code></td><td>Switch active workflow</td></tr>
518
+ <tr><td><code>prlt workflow delete <id></code></td><td>Delete workflow</td></tr>
561
519
  <!-- phase -->
562
520
  <tr><td rowspan="5"><b>phase</b></td><td><code>prlt phase list</code></td><td>List phases</td></tr>
563
521
  <tr><td><code>prlt phase create</code></td><td>Create phase</td></tr>
564
- <tr><td><code>prlt phase update &lt;id&gt;</code></td><td>Update phase</td></tr>
565
- <tr><td><code>prlt phase move &lt;id&gt;</code></td><td>Reorder phase</td></tr>
566
- <tr><td><code>prlt phase delete &lt;id&gt;</code></td><td>Delete phase</td></tr>
522
+ <tr><td><code>prlt phase update <id></code></td><td>Update phase</td></tr>
523
+ <tr><td><code>prlt phase move <id></code></td><td>Reorder phase</td></tr>
524
+ <tr><td><code>prlt phase delete <id></code></td><td>Delete phase</td></tr>
567
525
  <!-- template -->
568
526
  <tr><td rowspan="5"><b>template</b></td><td><code>prlt template list</code></td><td>List templates</td></tr>
569
- <tr><td><code>prlt template delete &lt;id&gt;</code></td><td>Delete template</td></tr>
527
+ <tr><td><code>prlt template delete <id></code></td><td>Delete template</td></tr>
570
528
  <tr><td><code>prlt template ticket list</code></td><td>List ticket templates</td></tr>
571
529
  <tr><td><code>prlt template ticket apply</code></td><td>Apply ticket template</td></tr>
572
530
  <tr><td><code>prlt template phase list</code></td><td>List phase templates</td></tr>
573
531
  <!-- pr -->
574
532
  <tr><td rowspan="3"><b>pr</b></td><td><code>prlt pr create</code></td><td>Create pull request</td></tr>
575
- <tr><td><code>prlt pr status &lt;id&gt;</code></td><td>Check PR status</td></tr>
576
- <tr><td><code>prlt pr link &lt;id&gt; &lt;url&gt;</code></td><td>Link PR to ticket</td></tr>
533
+ <tr><td><code>prlt pr status <id></code></td><td>Check PR status</td></tr>
534
+ <tr><td><code>prlt pr link <id> <url></code></td><td>Link PR to ticket</td></tr>
577
535
  <!-- gh -->
578
536
  <tr><td rowspan="3"><b>gh</b></td><td><code>prlt gh login</code></td><td>Login to GitHub</td></tr>
579
537
  <tr><td><code>prlt gh status</code></td><td>Check auth status</td></tr>
580
538
  <tr><td><code>prlt gh token</code></td><td>Get GitHub token</td></tr>
581
539
  <!-- repo -->
582
- <tr><td rowspan="4"><b>repo</b></td><td><code>prlt repo add &lt;url&gt;</code></td><td>Add repository</td></tr>
540
+ <tr><td rowspan="4"><b>repo</b></td><td><code>prlt repo add <url></code></td><td>Add repository</td></tr>
583
541
  <tr><td><code>prlt repo list</code></td><td>List repositories</td></tr>
584
- <tr><td><code>prlt repo view &lt;name&gt;</code></td><td>View repository details</td></tr>
585
- <tr><td><code>prlt repo remove &lt;name&gt;</code></td><td>Remove repository</td></tr>
542
+ <tr><td><code>prlt repo view <name></code></td><td>View repository details</td></tr>
543
+ <tr><td><code>prlt repo remove <name></code></td><td>Remove repository</td></tr>
586
544
  <!-- docker -->
587
545
  <tr><td rowspan="10"><b>docker</b></td><td><code>prlt docker list</code></td><td>List containers</td></tr>
588
546
  <tr><td><code>prlt docker status</code></td><td>Check Docker status</td></tr>
589
- <tr><td><code>prlt docker start &lt;name&gt;</code></td><td>Start container</td></tr>
590
- <tr><td><code>prlt docker stop &lt;name&gt;</code></td><td>Stop container</td></tr>
591
- <tr><td><code>prlt docker restart &lt;name&gt;</code></td><td>Restart container</td></tr>
592
- <tr><td><code>prlt docker logs &lt;name&gt;</code></td><td>View container logs</td></tr>
593
- <tr><td><code>prlt docker shell &lt;name&gt;</code></td><td>Shell into container</td></tr>
594
- <tr><td><code>prlt docker sync &lt;name&gt;</code></td><td>Sync container files</td></tr>
547
+ <tr><td><code>prlt docker start <name></code></td><td>Start container</td></tr>
548
+ <tr><td><code>prlt docker stop <name></code></td><td>Stop container</td></tr>
549
+ <tr><td><code>prlt docker restart <name></code></td><td>Restart container</td></tr>
550
+ <tr><td><code>prlt docker logs <name></code></td><td>View container logs</td></tr>
551
+ <tr><td><code>prlt docker shell <name></code></td><td>Shell into container</td></tr>
552
+ <tr><td><code>prlt docker sync <name></code></td><td>Sync container files</td></tr>
595
553
  <tr><td><code>prlt docker clean</code></td><td>Remove stopped containers</td></tr>
596
554
  <tr><td><code>prlt docker prune</code></td><td>Remove unused resources</td></tr>
597
555
  <!-- session -->
598
556
  <tr><td rowspan="2"><b>session</b></td><td><code>prlt session list</code></td><td>List active tmux sessions</td></tr>
599
- <tr><td><code>prlt session attach &lt;name&gt;</code></td><td>Attach to tmux session</td></tr>
557
+ <tr><td><code>prlt session attach <name></code></td><td>Attach to tmux session</td></tr>
600
558
  <!-- workspace -->
601
559
  <tr><td rowspan="4"><b>workspace</b></td><td><code>prlt init</code></td><td>Initialize workspace</td></tr>
602
560
  <tr><td><code>prlt workspace list</code></td><td>List workspaces</td></tr>
603
561
  <tr><td><code>prlt workspace add</code></td><td>Add workspace</td></tr>
604
- <tr><td><code>prlt workspace use &lt;name&gt;</code></td><td>Switch workspace</td></tr>
562
+ <tr><td><code>prlt workspace use <name></code></td><td>Switch workspace</td></tr>
605
563
  <!-- utility -->
606
- <tr><td rowspan="3"><b>utility</b></td><td><code>prlt whoami</code></td><td>Show current context</td></tr>
564
+ <tr><td rowspan="4"><b>utility</b></td><td><code>prlt whoami</code></td><td>Show current context</td></tr>
565
+ <tr><td><code>prlt claude</code></td><td>Quick ad-hoc Claude session</td></tr>
607
566
  <tr><td><code>prlt commit</code></td><td>Conventional commit</td></tr>
608
567
  <tr><td><code>prlt autocomplete setup</code></td><td>Setup shell autocomplete</td></tr>
609
568
  </table>
@@ -655,9 +614,9 @@ Agent adds acceptance criteria, subtasks, estimates.
655
614
 
656
615
  ## Environment Variables
657
616
 
658
- | Variable | Purpose |
659
- | ------------------- | ----------------------------- |
660
- | `GITHUB_TOKEN` | GitHub operations (PRs, etc.) |
617
+ | Variable | Purpose |
618
+ | -------------- | ----------------------------- |
619
+ | `GITHUB_TOKEN` | GitHub operations (PRs, etc.) |
661
620
 
662
621
  Claude Code handles its own authentication via `claude login`.
663
622
 
@@ -678,7 +637,7 @@ Claude Code handles its own authentication via `claude login`.
678
637
 
679
638
  - **Discord**: [discord.gg/tmZyjNNSvw](https://discord.gg/tmZyjNNSvw)
680
639
  - **GitHub Issues**: [Report bugs or request features](https://github.com/chrismcdermut/proletariat-cli/issues)
681
- - **LinkedIn**: [Christopher McDermut](https://www.linkedin.com/in/christopher-mcdermut/)
640
+ - **Chat**: [Book a call](https://cal.com/chrismcdermut) — Feedback, ideas, or talk multi-agent workflows
682
641
 
683
642
  ---
684
643