@proletariat/cli 0.3.87 → 0.3.88

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 (96) hide show
  1. package/dist/commands/init.d.ts +6 -1
  2. package/dist/commands/init.js +44 -89
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/commands/new.d.ts +30 -2
  5. package/dist/commands/new.js +141 -9
  6. package/dist/commands/new.js.map +1 -1
  7. package/dist/hooks/init.js +3 -6
  8. package/dist/hooks/init.js.map +1 -1
  9. package/dist/lib/asana/config.d.ts +1 -1
  10. package/dist/lib/asana/config.js +18 -30
  11. package/dist/lib/asana/config.js.map +1 -1
  12. package/dist/lib/asana/mapper.d.ts +4 -3
  13. package/dist/lib/asana/mapper.js +17 -10
  14. package/dist/lib/asana/mapper.js.map +1 -1
  15. package/dist/lib/database/agents.d.ts +73 -0
  16. package/dist/lib/database/agents.js +341 -0
  17. package/dist/lib/database/agents.js.map +1 -0
  18. package/dist/lib/database/driver.d.ts +115 -0
  19. package/dist/lib/database/driver.js +109 -0
  20. package/dist/lib/database/driver.js.map +1 -0
  21. package/dist/lib/database/index.d.ts +25 -287
  22. package/dist/lib/database/index.js +35 -1067
  23. package/dist/lib/database/index.js.map +1 -1
  24. package/dist/lib/database/media.d.ts +53 -0
  25. package/dist/lib/database/media.js +118 -0
  26. package/dist/lib/database/media.js.map +1 -0
  27. package/dist/lib/database/pmo-bootstrap.d.ts +30 -0
  28. package/dist/lib/database/pmo-bootstrap.js +105 -0
  29. package/dist/lib/database/pmo-bootstrap.js.map +1 -0
  30. package/dist/lib/database/repositories.d.ts +26 -0
  31. package/dist/lib/database/repositories.js +56 -0
  32. package/dist/lib/database/repositories.js.map +1 -0
  33. package/dist/lib/database/settings-store.d.ts +60 -0
  34. package/dist/lib/database/settings-store.js +87 -0
  35. package/dist/lib/database/settings-store.js.map +1 -0
  36. package/dist/lib/database/themes.d.ts +59 -0
  37. package/dist/lib/database/themes.js +212 -0
  38. package/dist/lib/database/themes.js.map +1 -0
  39. package/dist/lib/database/workspace.d.ts +46 -0
  40. package/dist/lib/database/workspace.js +158 -0
  41. package/dist/lib/database/workspace.js.map +1 -0
  42. package/dist/lib/database/worktrees.d.ts +33 -0
  43. package/dist/lib/database/worktrees.js +60 -0
  44. package/dist/lib/database/worktrees.js.map +1 -0
  45. package/dist/lib/execution/config.d.ts +1 -1
  46. package/dist/lib/execution/config.js +7 -17
  47. package/dist/lib/execution/config.js.map +1 -1
  48. package/dist/lib/execution/spawner.d.ts +1 -1
  49. package/dist/lib/execution/storage.d.ts +4 -3
  50. package/dist/lib/execution/storage.js +11 -4
  51. package/dist/lib/execution/storage.js.map +1 -1
  52. package/dist/lib/external-issues/mapping-store.d.ts +4 -3
  53. package/dist/lib/external-issues/mapping-store.js +21 -13
  54. package/dist/lib/external-issues/mapping-store.js.map +1 -1
  55. package/dist/lib/external-issues/outbound-sync.d.ts +1 -1
  56. package/dist/lib/jira/config.d.ts +1 -6
  57. package/dist/lib/jira/config.js +16 -33
  58. package/dist/lib/jira/config.js.map +1 -1
  59. package/dist/lib/linear/config.d.ts +1 -1
  60. package/dist/lib/linear/config.js +16 -38
  61. package/dist/lib/linear/config.js.map +1 -1
  62. package/dist/lib/linear/mapper.d.ts +4 -3
  63. package/dist/lib/linear/mapper.js +20 -13
  64. package/dist/lib/linear/mapper.js.map +1 -1
  65. package/dist/lib/monday/config.d.ts +1 -1
  66. package/dist/lib/monday/config.js +16 -32
  67. package/dist/lib/monday/config.js.map +1 -1
  68. package/dist/lib/monday/mapper.d.ts +4 -3
  69. package/dist/lib/monday/mapper.js +19 -12
  70. package/dist/lib/monday/mapper.js.map +1 -1
  71. package/dist/lib/onboarding/wizard.d.ts +2 -2
  72. package/dist/lib/onboarding/wizard.js +32 -24
  73. package/dist/lib/onboarding/wizard.js.map +1 -1
  74. package/dist/lib/pmo/diet.d.ts +1 -1
  75. package/dist/lib/pmo/storage/index.d.ts +8 -0
  76. package/dist/lib/pmo/storage/index.js +13 -1
  77. package/dist/lib/pmo/storage/index.js.map +1 -1
  78. package/dist/lib/pmo/storage/types.d.ts +4 -1
  79. package/dist/lib/shortcut/config.d.ts +1 -7
  80. package/dist/lib/shortcut/config.js +13 -32
  81. package/dist/lib/shortcut/config.js.map +1 -1
  82. package/dist/lib/trello/config.d.ts +1 -26
  83. package/dist/lib/trello/config.js +23 -64
  84. package/dist/lib/trello/config.js.map +1 -1
  85. package/dist/lib/trello/mapper.d.ts +4 -3
  86. package/dist/lib/trello/mapper.js +17 -10
  87. package/dist/lib/trello/mapper.js.map +1 -1
  88. package/dist/lib/work-lifecycle/post-execution.d.ts +1 -1
  89. package/dist/lib/work-source/config.d.ts +1 -1
  90. package/dist/lib/work-source/config.js +14 -24
  91. package/dist/lib/work-source/config.js.map +1 -1
  92. package/dist/lib/work-source/provider-sources.d.ts +1 -1
  93. package/dist/lib/work-source/provider-sources.js +8 -20
  94. package/dist/lib/work-source/provider-sources.js.map +1 -1
  95. package/oclif.manifest.json +1461 -1412
  96. package/package.json +1 -1
@@ -322,11 +322,9 @@
322
322
  "init": {
323
323
  "aliases": [],
324
324
  "args": {},
325
- "description": "Initialize machine-level Proletariat configuration (~/.proletariat)",
325
+ "description": "Initialize a new headquarters (deprecated — use `prlt new` instead)",
326
326
  "examples": [
327
- "<%= config.bin %> <%= command.id %>",
328
- "<%= config.bin %> <%= command.id %> --json",
329
- "<%= config.bin %> <%= command.id %> --json --setup claude-code"
327
+ "<%= config.bin %> new"
330
328
  ],
331
329
  "flags": {
332
330
  "json": {
@@ -342,6 +340,44 @@
342
340
  "allowNo": false,
343
341
  "type": "boolean"
344
342
  },
343
+ "name": {
344
+ "char": "n",
345
+ "description": "HQ name",
346
+ "name": "name",
347
+ "hasDynamicHelp": false,
348
+ "multiple": false,
349
+ "type": "option"
350
+ },
351
+ "path": {
352
+ "char": "p",
353
+ "description": "HQ path (defaults to ./{name}-hq)",
354
+ "name": "path",
355
+ "hasDynamicHelp": false,
356
+ "multiple": false,
357
+ "type": "option"
358
+ },
359
+ "agents": {
360
+ "char": "a",
361
+ "description": "Comma-separated list of agent names",
362
+ "name": "agents",
363
+ "hasDynamicHelp": false,
364
+ "multiple": false,
365
+ "type": "option"
366
+ },
367
+ "repos": {
368
+ "char": "r",
369
+ "description": "Comma-separated list of repository paths to clone/move",
370
+ "name": "repos",
371
+ "hasDynamicHelp": false,
372
+ "multiple": false,
373
+ "type": "option"
374
+ },
375
+ "pmo": {
376
+ "description": "Include PMO (Project Management Org)",
377
+ "name": "pmo",
378
+ "allowNo": true,
379
+ "type": "boolean"
380
+ },
345
381
  "setup": {
346
382
  "description": "Setup method for agent-driven onboarding (claude-code, codex, or manual)",
347
383
  "name": "setup",
@@ -356,6 +392,7 @@
356
392
  }
357
393
  },
358
394
  "hasDynamicHelp": false,
395
+ "hidden": true,
359
396
  "hiddenAliases": [],
360
397
  "id": "init",
361
398
  "pluginAlias": "@proletariat/cli",
@@ -507,6 +544,18 @@
507
544
  "name": "pmo",
508
545
  "allowNo": true,
509
546
  "type": "boolean"
547
+ },
548
+ "setup": {
549
+ "description": "Setup method for agent-driven onboarding (claude-code, codex, or manual)",
550
+ "name": "setup",
551
+ "hasDynamicHelp": false,
552
+ "multiple": false,
553
+ "options": [
554
+ "claude-code",
555
+ "codex",
556
+ "manual"
557
+ ],
558
+ "type": "option"
510
559
  }
511
560
  },
512
561
  "hasDynamicHelp": false,
@@ -1529,66 +1578,6 @@
1529
1578
  "update.js"
1530
1579
  ]
1531
1580
  },
1532
- "autocomplete:setup": {
1533
- "aliases": [],
1534
- "args": {},
1535
- "description": "Auto-detect shell and set up autocomplete",
1536
- "examples": [
1537
- "<%= config.bin %> <%= command.id %>",
1538
- "<%= config.bin %> <%= command.id %> --install",
1539
- "<%= config.bin %> <%= command.id %> --shell zsh",
1540
- "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
1541
- ],
1542
- "flags": {
1543
- "json": {
1544
- "description": "Output as JSON for AI agents/scripts",
1545
- "name": "json",
1546
- "allowNo": false,
1547
- "type": "boolean"
1548
- },
1549
- "machine": {
1550
- "char": "m",
1551
- "description": "Output as JSON for AI agents/scripts",
1552
- "name": "machine",
1553
- "allowNo": false,
1554
- "type": "boolean"
1555
- },
1556
- "install": {
1557
- "char": "i",
1558
- "description": "Automatically install to shell config file",
1559
- "name": "install",
1560
- "allowNo": false,
1561
- "type": "boolean"
1562
- },
1563
- "shell": {
1564
- "char": "s",
1565
- "description": "Override shell detection (zsh, bash, powershell)",
1566
- "name": "shell",
1567
- "hasDynamicHelp": false,
1568
- "multiple": false,
1569
- "options": [
1570
- "zsh",
1571
- "bash",
1572
- "powershell"
1573
- ],
1574
- "type": "option"
1575
- }
1576
- },
1577
- "hasDynamicHelp": false,
1578
- "hiddenAliases": [],
1579
- "id": "autocomplete:setup",
1580
- "pluginAlias": "@proletariat/cli",
1581
- "pluginName": "@proletariat/cli",
1582
- "pluginType": "core",
1583
- "strict": true,
1584
- "isESM": true,
1585
- "relativePath": [
1586
- "dist",
1587
- "commands",
1588
- "autocomplete",
1589
- "setup.js"
1590
- ]
1591
- },
1592
1581
  "agent:auth": {
1593
1582
  "aliases": [],
1594
1583
  "args": {},
@@ -2292,6 +2281,66 @@
2292
2281
  "visit.js"
2293
2282
  ]
2294
2283
  },
2284
+ "autocomplete:setup": {
2285
+ "aliases": [],
2286
+ "args": {},
2287
+ "description": "Auto-detect shell and set up autocomplete",
2288
+ "examples": [
2289
+ "<%= config.bin %> <%= command.id %>",
2290
+ "<%= config.bin %> <%= command.id %> --install",
2291
+ "<%= config.bin %> <%= command.id %> --shell zsh",
2292
+ "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
2293
+ ],
2294
+ "flags": {
2295
+ "json": {
2296
+ "description": "Output as JSON for AI agents/scripts",
2297
+ "name": "json",
2298
+ "allowNo": false,
2299
+ "type": "boolean"
2300
+ },
2301
+ "machine": {
2302
+ "char": "m",
2303
+ "description": "Output as JSON for AI agents/scripts",
2304
+ "name": "machine",
2305
+ "allowNo": false,
2306
+ "type": "boolean"
2307
+ },
2308
+ "install": {
2309
+ "char": "i",
2310
+ "description": "Automatically install to shell config file",
2311
+ "name": "install",
2312
+ "allowNo": false,
2313
+ "type": "boolean"
2314
+ },
2315
+ "shell": {
2316
+ "char": "s",
2317
+ "description": "Override shell detection (zsh, bash, powershell)",
2318
+ "name": "shell",
2319
+ "hasDynamicHelp": false,
2320
+ "multiple": false,
2321
+ "options": [
2322
+ "zsh",
2323
+ "bash",
2324
+ "powershell"
2325
+ ],
2326
+ "type": "option"
2327
+ }
2328
+ },
2329
+ "hasDynamicHelp": false,
2330
+ "hiddenAliases": [],
2331
+ "id": "autocomplete:setup",
2332
+ "pluginAlias": "@proletariat/cli",
2333
+ "pluginName": "@proletariat/cli",
2334
+ "pluginType": "core",
2335
+ "strict": true,
2336
+ "isESM": true,
2337
+ "relativePath": [
2338
+ "dist",
2339
+ "commands",
2340
+ "autocomplete",
2341
+ "setup.js"
2342
+ ]
2343
+ },
2295
2344
  "asana:connect": {
2296
2345
  "aliases": [],
2297
2346
  "args": {},
@@ -3564,27 +3613,40 @@
3564
3613
  "index.js"
3565
3614
  ]
3566
3615
  },
3567
- "execution:config": {
3616
+ "docker:clean": {
3568
3617
  "aliases": [],
3569
3618
  "args": {},
3570
- "description": "View and update execution preferences",
3619
+ "description": "Remove orphaned containers (containers without running agents)",
3571
3620
  "examples": [
3572
- "<%= config.bin %> execution config # Interactive menu",
3573
- "<%= config.bin %> execution config --json # Output current config as JSON",
3574
- "<%= config.bin %> execution config --list # Show all settings",
3575
- "<%= config.bin %> execution config --set defaultEnvironment host",
3576
- "<%= config.bin %> execution config --set outputMode interactive",
3577
- "<%= config.bin %> execution config --set permissionMode safe",
3578
- "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
3621
+ "<%= config.bin %> <%= command.id %>",
3622
+ "<%= config.bin %> <%= command.id %> --force",
3623
+ "<%= config.bin %> <%= command.id %> --dry-run"
3579
3624
  ],
3580
3625
  "flags": {
3581
- "project": {
3582
- "char": "P",
3583
- "description": "Project ID (uses first project if only one exists)",
3584
- "name": "project",
3585
- "hasDynamicHelp": false,
3586
- "multiple": false,
3587
- "type": "option"
3626
+ "force": {
3627
+ "aliases": [
3628
+ "yes",
3629
+ "y"
3630
+ ],
3631
+ "char": "f",
3632
+ "description": "Skip confirmation prompt",
3633
+ "name": "force",
3634
+ "allowNo": false,
3635
+ "type": "boolean"
3636
+ },
3637
+ "dry-run": {
3638
+ "char": "d",
3639
+ "description": "Show what would be removed without removing",
3640
+ "name": "dry-run",
3641
+ "allowNo": false,
3642
+ "type": "boolean"
3643
+ },
3644
+ "all": {
3645
+ "char": "a",
3646
+ "description": "Remove all stopped devcontainers (not just orphaned)",
3647
+ "name": "all",
3648
+ "allowNo": false,
3649
+ "type": "boolean"
3588
3650
  },
3589
3651
  "json": {
3590
3652
  "description": "Output as JSON for AI agents/scripts",
@@ -3598,64 +3660,42 @@
3598
3660
  "name": "machine",
3599
3661
  "allowNo": false,
3600
3662
  "type": "boolean"
3601
- },
3602
- "set": {
3603
- "char": "s",
3604
- "description": "Set a config value (format: key value)",
3605
- "name": "set",
3606
- "hasDynamicHelp": false,
3607
- "multiple": true,
3608
- "type": "option"
3609
- },
3610
- "list": {
3611
- "char": "l",
3612
- "description": "List all configuration values",
3613
- "name": "list",
3614
- "allowNo": false,
3615
- "type": "boolean"
3616
- },
3617
- "setting": {
3618
- "description": "Navigate to a specific setting prompt (for agent navigation)",
3619
- "name": "setting",
3620
- "hasDynamicHelp": false,
3621
- "multiple": false,
3622
- "type": "option"
3623
3663
  }
3624
3664
  },
3625
3665
  "hasDynamicHelp": false,
3626
3666
  "hiddenAliases": [],
3627
- "id": "execution:config",
3667
+ "id": "docker:clean",
3628
3668
  "pluginAlias": "@proletariat/cli",
3629
3669
  "pluginName": "@proletariat/cli",
3630
3670
  "pluginType": "core",
3631
3671
  "strict": true,
3672
+ "enableJsonFlag": false,
3632
3673
  "isESM": true,
3633
3674
  "relativePath": [
3634
3675
  "dist",
3635
3676
  "commands",
3636
- "execution",
3637
- "config.js"
3677
+ "docker",
3678
+ "clean.js"
3638
3679
  ]
3639
3680
  },
3640
- "execution": {
3681
+ "docker": {
3641
3682
  "aliases": [],
3642
3683
  "args": {},
3643
- "description": "Single execution operations (view, logs, stop)",
3684
+ "description": "Manage Docker containers used by agents",
3644
3685
  "examples": [
3645
3686
  "<%= config.bin %> <%= command.id %>",
3646
- "<%= config.bin %> <%= command.id %> view WORK-001",
3647
- "<%= config.bin %> <%= command.id %> logs WORK-001",
3648
- "<%= config.bin %> <%= command.id %> stop WORK-001"
3649
- ],
3650
- "flags": {
3651
- "project": {
3652
- "char": "P",
3653
- "description": "Project ID (uses first project if only one exists)",
3654
- "name": "project",
3655
- "hasDynamicHelp": false,
3656
- "multiple": false,
3657
- "type": "option"
3658
- },
3687
+ "<%= config.bin %> docker status",
3688
+ "<%= config.bin %> docker list",
3689
+ "<%= config.bin %> docker logs WORK-001",
3690
+ "<%= config.bin %> docker start WORK-001",
3691
+ "<%= config.bin %> docker stop kalanick",
3692
+ "<%= config.bin %> docker shell WORK-001",
3693
+ "<%= config.bin %> docker restart abc123",
3694
+ "<%= config.bin %> docker sync",
3695
+ "<%= config.bin %> docker clean",
3696
+ "<%= config.bin %> docker prune"
3697
+ ],
3698
+ "flags": {
3659
3699
  "json": {
3660
3700
  "description": "Output as JSON for AI agents/scripts",
3661
3701
  "name": "json",
@@ -3672,7 +3712,7 @@
3672
3712
  },
3673
3713
  "hasDynamicHelp": false,
3674
3714
  "hiddenAliases": [],
3675
- "id": "execution",
3715
+ "id": "docker",
3676
3716
  "pluginAlias": "@proletariat/cli",
3677
3717
  "pluginName": "@proletariat/cli",
3678
3718
  "pluginType": "core",
@@ -3681,29 +3721,20 @@
3681
3721
  "relativePath": [
3682
3722
  "dist",
3683
3723
  "commands",
3684
- "execution",
3724
+ "docker",
3685
3725
  "index.js"
3686
3726
  ]
3687
3727
  },
3688
- "execution:list": {
3728
+ "docker:list": {
3689
3729
  "aliases": [],
3690
3730
  "args": {},
3691
- "description": "List running and recent executions",
3731
+ "description": "Show Docker containers from agent_work table with status",
3692
3732
  "examples": [
3693
3733
  "<%= config.bin %> <%= command.id %>",
3694
- "<%= config.bin %> <%= command.id %> --status running",
3695
- "<%= config.bin %> <%= command.id %> --agent alice",
3696
- "<%= config.bin %> <%= command.id %> --limit 50"
3734
+ "<%= config.bin %> <%= command.id %> --all",
3735
+ "<%= config.bin %> <%= command.id %> --running"
3697
3736
  ],
3698
3737
  "flags": {
3699
- "project": {
3700
- "char": "P",
3701
- "description": "Project ID (uses first project if only one exists)",
3702
- "name": "project",
3703
- "hasDynamicHelp": false,
3704
- "multiple": false,
3705
- "type": "option"
3706
- },
3707
3738
  "json": {
3708
3739
  "description": "Output as JSON for AI agents/scripts",
3709
3740
  "name": "json",
@@ -3717,79 +3748,54 @@
3717
3748
  "allowNo": false,
3718
3749
  "type": "boolean"
3719
3750
  },
3720
- "status": {
3721
- "char": "s",
3722
- "description": "Filter by status",
3723
- "name": "status",
3724
- "hasDynamicHelp": false,
3725
- "multiple": false,
3726
- "options": [
3727
- "starting",
3728
- "running",
3729
- "completed",
3730
- "failed",
3731
- "stopped"
3732
- ],
3733
- "type": "option"
3734
- },
3735
- "agent": {
3751
+ "all": {
3736
3752
  "char": "a",
3737
- "description": "Filter by agent name",
3738
- "name": "agent",
3739
- "hasDynamicHelp": false,
3740
- "multiple": false,
3741
- "type": "option"
3753
+ "description": "Show all containers (including non-devcontainer)",
3754
+ "name": "all",
3755
+ "allowNo": false,
3756
+ "type": "boolean"
3742
3757
  },
3743
- "limit": {
3744
- "char": "l",
3745
- "description": "Number of results",
3746
- "name": "limit",
3747
- "default": 20,
3748
- "hasDynamicHelp": false,
3749
- "multiple": false,
3750
- "type": "option"
3758
+ "running": {
3759
+ "char": "r",
3760
+ "description": "Only show running containers",
3761
+ "name": "running",
3762
+ "allowNo": false,
3763
+ "type": "boolean"
3751
3764
  }
3752
3765
  },
3753
3766
  "hasDynamicHelp": false,
3754
3767
  "hiddenAliases": [],
3755
- "id": "execution:list",
3768
+ "id": "docker:list",
3756
3769
  "pluginAlias": "@proletariat/cli",
3757
3770
  "pluginName": "@proletariat/cli",
3758
3771
  "pluginType": "core",
3759
3772
  "strict": true,
3773
+ "enableJsonFlag": false,
3760
3774
  "isESM": true,
3761
3775
  "relativePath": [
3762
3776
  "dist",
3763
3777
  "commands",
3764
- "execution",
3778
+ "docker",
3765
3779
  "list.js"
3766
3780
  ]
3767
3781
  },
3768
- "execution:logs": {
3782
+ "docker:logs": {
3769
3783
  "aliases": [],
3770
3784
  "args": {
3771
- "id": {
3772
- "description": "Execution ID - prompts if not provided",
3773
- "name": "id",
3774
- "required": false
3785
+ "target": {
3786
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3787
+ "name": "target",
3788
+ "required": true
3775
3789
  }
3776
3790
  },
3777
- "description": "View execution logs",
3791
+ "description": "View logs from a container (by execution ID, agent name, or container ID)",
3778
3792
  "examples": [
3779
3793
  "<%= config.bin %> <%= command.id %> WORK-001",
3780
- "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3781
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3782
- "<%= config.bin %> <%= command.id %> # Interactive mode"
3794
+ "<%= config.bin %> <%= command.id %> kalanick",
3795
+ "<%= config.bin %> <%= command.id %> abc123 --follow",
3796
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3783
3797
  ],
3784
3798
  "flags": {
3785
- "project": {
3786
- "char": "P",
3787
- "description": "Project ID (uses first project if only one exists)",
3788
- "name": "project",
3789
- "hasDynamicHelp": false,
3790
- "multiple": false,
3791
- "type": "option"
3792
- },
3793
3799
  "json": {
3794
3800
  "description": "Output as JSON for AI agents/scripts",
3795
3801
  "name": "json",
@@ -3805,131 +3811,148 @@
3805
3811
  },
3806
3812
  "follow": {
3807
3813
  "char": "f",
3808
- "description": "Stream logs in real-time",
3814
+ "description": "Follow log output",
3809
3815
  "name": "follow",
3810
3816
  "allowNo": false,
3811
3817
  "type": "boolean"
3812
3818
  },
3813
3819
  "tail": {
3814
3820
  "char": "n",
3815
- "description": "Show last n lines",
3821
+ "description": "Number of lines to show from the end",
3816
3822
  "name": "tail",
3823
+ "default": 100,
3817
3824
  "hasDynamicHelp": false,
3818
3825
  "multiple": false,
3819
3826
  "type": "option"
3827
+ },
3828
+ "timestamps": {
3829
+ "char": "t",
3830
+ "description": "Show timestamps",
3831
+ "name": "timestamps",
3832
+ "allowNo": false,
3833
+ "type": "boolean"
3820
3834
  }
3821
3835
  },
3822
3836
  "hasDynamicHelp": false,
3823
3837
  "hiddenAliases": [],
3824
- "id": "execution:logs",
3838
+ "id": "docker:logs",
3825
3839
  "pluginAlias": "@proletariat/cli",
3826
3840
  "pluginName": "@proletariat/cli",
3827
3841
  "pluginType": "core",
3828
3842
  "strict": true,
3843
+ "enableJsonFlag": false,
3829
3844
  "isESM": true,
3830
3845
  "relativePath": [
3831
3846
  "dist",
3832
3847
  "commands",
3833
- "execution",
3848
+ "docker",
3834
3849
  "logs.js"
3835
3850
  ]
3836
3851
  },
3837
- "execution:stop": {
3852
+ "docker:prune": {
3838
3853
  "aliases": [],
3839
- "args": {
3840
- "id": {
3841
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3842
- "name": "id",
3843
- "required": false
3844
- }
3845
- },
3846
- "description": "Stop running execution(s)",
3854
+ "args": {},
3855
+ "description": "Remove unused Docker resources (containers, images, volumes, networks)",
3847
3856
  "examples": [
3848
- "<%= config.bin %> <%= command.id %> WORK-001",
3849
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
3850
- "<%= config.bin %> <%= command.id %> # Interactive mode",
3857
+ "<%= config.bin %> <%= command.id %>",
3851
3858
  "<%= config.bin %> <%= command.id %> --all",
3852
- "<%= config.bin %> <%= command.id %> --all --force",
3853
- "<%= config.bin %> <%= command.id %> --agent altman"
3859
+ "<%= config.bin %> <%= command.id %> --volumes",
3860
+ "<%= config.bin %> <%= command.id %> --dry-run"
3854
3861
  ],
3855
3862
  "flags": {
3856
- "project": {
3857
- "char": "P",
3858
- "description": "Project ID (uses first project if only one exists)",
3859
- "name": "project",
3860
- "hasDynamicHelp": false,
3861
- "multiple": false,
3862
- "type": "option"
3863
+ "force": {
3864
+ "aliases": [
3865
+ "yes",
3866
+ "y"
3867
+ ],
3868
+ "char": "f",
3869
+ "description": "Skip confirmation prompt",
3870
+ "name": "force",
3871
+ "allowNo": false,
3872
+ "type": "boolean"
3863
3873
  },
3864
- "json": {
3865
- "description": "Output as JSON for AI agents/scripts",
3866
- "name": "json",
3874
+ "dry-run": {
3875
+ "char": "d",
3876
+ "description": "Show what would be removed without removing",
3877
+ "name": "dry-run",
3867
3878
  "allowNo": false,
3868
3879
  "type": "boolean"
3869
3880
  },
3870
- "machine": {
3871
- "char": "m",
3872
- "description": "Output as JSON for AI agents/scripts",
3873
- "name": "machine",
3881
+ "all": {
3882
+ "char": "a",
3883
+ "description": "Remove all unused images, not just dangling ones",
3884
+ "name": "all",
3874
3885
  "allowNo": false,
3875
3886
  "type": "boolean"
3876
3887
  },
3877
- "force": {
3878
- "char": "f",
3879
- "description": "Force kill (SIGKILL instead of SIGTERM)",
3880
- "name": "force",
3888
+ "volumes": {
3889
+ "description": "Also prune volumes (dangerous - data loss possible)",
3890
+ "name": "volumes",
3881
3891
  "allowNo": false,
3882
3892
  "type": "boolean"
3883
3893
  },
3884
- "all": {
3885
- "description": "Stop all running executions",
3886
- "name": "all",
3894
+ "json": {
3895
+ "description": "Output as JSON for AI agents/scripts",
3896
+ "name": "json",
3887
3897
  "allowNo": false,
3888
3898
  "type": "boolean"
3889
3899
  },
3890
- "agent": {
3891
- "char": "a",
3892
- "description": "Stop all executions for a specific agent",
3893
- "name": "agent",
3894
- "hasDynamicHelp": false,
3895
- "multiple": false,
3896
- "type": "option"
3900
+ "machine": {
3901
+ "char": "m",
3902
+ "description": "Output as JSON for AI agents/scripts",
3903
+ "name": "machine",
3904
+ "allowNo": false,
3905
+ "type": "boolean"
3897
3906
  }
3898
3907
  },
3899
3908
  "hasDynamicHelp": false,
3900
3909
  "hiddenAliases": [],
3901
- "id": "execution:stop",
3910
+ "id": "docker:prune",
3902
3911
  "pluginAlias": "@proletariat/cli",
3903
3912
  "pluginName": "@proletariat/cli",
3904
3913
  "pluginType": "core",
3905
3914
  "strict": true,
3915
+ "enableJsonFlag": false,
3906
3916
  "isESM": true,
3907
3917
  "relativePath": [
3908
3918
  "dist",
3909
3919
  "commands",
3910
- "execution",
3911
- "stop.js"
3920
+ "docker",
3921
+ "prune.js"
3912
3922
  ]
3913
3923
  },
3914
- "execution:view": {
3924
+ "docker:restart": {
3915
3925
  "aliases": [],
3916
3926
  "args": {
3917
- "id": {
3918
- "description": "Execution ID - prompts if not provided",
3919
- "name": "id",
3920
- "required": false
3927
+ "target": {
3928
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3929
+ "name": "target",
3930
+ "required": true
3921
3931
  }
3922
3932
  },
3923
- "description": "View details of a specific execution",
3933
+ "description": "Restart a container (by execution ID, agent name, or container ID)",
3924
3934
  "examples": [
3925
3935
  "<%= config.bin %> <%= command.id %> WORK-001",
3926
- "<%= config.bin %> <%= command.id %> # Interactive mode"
3936
+ "<%= config.bin %> <%= command.id %> kalanick",
3937
+ "<%= config.bin %> <%= command.id %> abc123 --force"
3927
3938
  ],
3928
3939
  "flags": {
3929
- "project": {
3930
- "char": "P",
3931
- "description": "Project ID (uses first project if only one exists)",
3932
- "name": "project",
3940
+ "force": {
3941
+ "aliases": [
3942
+ "yes",
3943
+ "y"
3944
+ ],
3945
+ "char": "f",
3946
+ "description": "Skip confirmation prompt",
3947
+ "name": "force",
3948
+ "allowNo": false,
3949
+ "type": "boolean"
3950
+ },
3951
+ "time": {
3952
+ "char": "t",
3953
+ "description": "Seconds to wait before killing the container during stop",
3954
+ "name": "time",
3955
+ "default": 10,
3933
3956
  "hasDynamicHelp": false,
3934
3957
  "multiple": false,
3935
3958
  "type": "option"
@@ -3950,100 +3973,34 @@
3950
3973
  },
3951
3974
  "hasDynamicHelp": false,
3952
3975
  "hiddenAliases": [],
3953
- "id": "execution:view",
3976
+ "id": "docker:restart",
3954
3977
  "pluginAlias": "@proletariat/cli",
3955
3978
  "pluginName": "@proletariat/cli",
3956
3979
  "pluginType": "core",
3957
3980
  "strict": true,
3981
+ "enableJsonFlag": false,
3958
3982
  "isESM": true,
3959
3983
  "relativePath": [
3960
3984
  "dist",
3961
3985
  "commands",
3962
- "execution",
3963
- "view.js"
3986
+ "docker",
3987
+ "restart.js"
3964
3988
  ]
3965
3989
  },
3966
- "docker:clean": {
3990
+ "docker:shell": {
3967
3991
  "aliases": [],
3968
- "args": {},
3969
- "description": "Remove orphaned containers (containers without running agents)",
3970
- "examples": [
3971
- "<%= config.bin %> <%= command.id %>",
3972
- "<%= config.bin %> <%= command.id %> --force",
3973
- "<%= config.bin %> <%= command.id %> --dry-run"
3974
- ],
3975
- "flags": {
3976
- "force": {
3977
- "aliases": [
3978
- "yes",
3979
- "y"
3980
- ],
3981
- "char": "f",
3982
- "description": "Skip confirmation prompt",
3983
- "name": "force",
3984
- "allowNo": false,
3985
- "type": "boolean"
3986
- },
3987
- "dry-run": {
3988
- "char": "d",
3989
- "description": "Show what would be removed without removing",
3990
- "name": "dry-run",
3991
- "allowNo": false,
3992
- "type": "boolean"
3993
- },
3994
- "all": {
3995
- "char": "a",
3996
- "description": "Remove all stopped devcontainers (not just orphaned)",
3997
- "name": "all",
3998
- "allowNo": false,
3999
- "type": "boolean"
4000
- },
4001
- "json": {
4002
- "description": "Output as JSON for AI agents/scripts",
4003
- "name": "json",
4004
- "allowNo": false,
4005
- "type": "boolean"
4006
- },
4007
- "machine": {
4008
- "char": "m",
4009
- "description": "Output as JSON for AI agents/scripts",
4010
- "name": "machine",
4011
- "allowNo": false,
4012
- "type": "boolean"
3992
+ "args": {
3993
+ "target": {
3994
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3995
+ "name": "target",
3996
+ "required": true
4013
3997
  }
4014
3998
  },
4015
- "hasDynamicHelp": false,
4016
- "hiddenAliases": [],
4017
- "id": "docker:clean",
4018
- "pluginAlias": "@proletariat/cli",
4019
- "pluginName": "@proletariat/cli",
4020
- "pluginType": "core",
4021
- "strict": true,
4022
- "enableJsonFlag": false,
4023
- "isESM": true,
4024
- "relativePath": [
4025
- "dist",
4026
- "commands",
4027
- "docker",
4028
- "clean.js"
4029
- ]
4030
- },
4031
- "docker": {
4032
- "aliases": [],
4033
- "args": {},
4034
- "description": "Manage Docker containers used by agents",
3999
+ "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
4035
4000
  "examples": [
4036
- "<%= config.bin %> <%= command.id %>",
4037
- "<%= config.bin %> docker status",
4038
- "<%= config.bin %> docker list",
4039
- "<%= config.bin %> docker logs WORK-001",
4040
- "<%= config.bin %> docker start WORK-001",
4041
- "<%= config.bin %> docker stop kalanick",
4042
- "<%= config.bin %> docker shell WORK-001",
4043
- "<%= config.bin %> docker restart abc123",
4044
- "<%= config.bin %> docker sync",
4045
- "<%= config.bin %> docker clean",
4046
- "<%= config.bin %> docker prune"
4001
+ "<%= config.bin %> <%= command.id %> WORK-001",
4002
+ "<%= config.bin %> <%= command.id %> kalanick",
4003
+ "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
4047
4004
  ],
4048
4005
  "flags": {
4049
4006
  "json": {
@@ -4058,64 +4015,36 @@
4058
4015
  "name": "machine",
4059
4016
  "allowNo": false,
4060
4017
  "type": "boolean"
4061
- }
4062
- },
4063
- "hasDynamicHelp": false,
4064
- "hiddenAliases": [],
4065
- "id": "docker",
4066
- "pluginAlias": "@proletariat/cli",
4067
- "pluginName": "@proletariat/cli",
4068
- "pluginType": "core",
4069
- "strict": true,
4070
- "isESM": true,
4071
- "relativePath": [
4072
- "dist",
4073
- "commands",
4074
- "docker",
4075
- "index.js"
4076
- ]
4077
- },
4078
- "docker:list": {
4079
- "aliases": [],
4080
- "args": {},
4081
- "description": "Show Docker containers from agent_work table with status",
4082
- "examples": [
4083
- "<%= config.bin %> <%= command.id %>",
4084
- "<%= config.bin %> <%= command.id %> --all",
4085
- "<%= config.bin %> <%= command.id %> --running"
4086
- ],
4087
- "flags": {
4088
- "json": {
4089
- "description": "Output as JSON for AI agents/scripts",
4090
- "name": "json",
4091
- "allowNo": false,
4092
- "type": "boolean"
4093
4018
  },
4094
- "machine": {
4095
- "char": "m",
4096
- "description": "Output as JSON for AI agents/scripts",
4097
- "name": "machine",
4098
- "allowNo": false,
4099
- "type": "boolean"
4019
+ "shell": {
4020
+ "char": "s",
4021
+ "description": "Shell to use",
4022
+ "name": "shell",
4023
+ "default": "/bin/sh",
4024
+ "hasDynamicHelp": false,
4025
+ "multiple": false,
4026
+ "type": "option"
4100
4027
  },
4101
- "all": {
4102
- "char": "a",
4103
- "description": "Show all containers (including non-devcontainer)",
4104
- "name": "all",
4105
- "allowNo": false,
4106
- "type": "boolean"
4028
+ "user": {
4029
+ "char": "u",
4030
+ "description": "User to run as",
4031
+ "name": "user",
4032
+ "hasDynamicHelp": false,
4033
+ "multiple": false,
4034
+ "type": "option"
4107
4035
  },
4108
- "running": {
4109
- "char": "r",
4110
- "description": "Only show running containers",
4111
- "name": "running",
4112
- "allowNo": false,
4113
- "type": "boolean"
4036
+ "workdir": {
4037
+ "char": "w",
4038
+ "description": "Working directory inside the container",
4039
+ "name": "workdir",
4040
+ "hasDynamicHelp": false,
4041
+ "multiple": false,
4042
+ "type": "option"
4114
4043
  }
4115
4044
  },
4116
4045
  "hasDynamicHelp": false,
4117
4046
  "hiddenAliases": [],
4118
- "id": "docker:list",
4047
+ "id": "docker:shell",
4119
4048
  "pluginAlias": "@proletariat/cli",
4120
4049
  "pluginName": "@proletariat/cli",
4121
4050
  "pluginType": "core",
@@ -4126,10 +4055,10 @@
4126
4055
  "dist",
4127
4056
  "commands",
4128
4057
  "docker",
4129
- "list.js"
4058
+ "shell.js"
4130
4059
  ]
4131
4060
  },
4132
- "docker:logs": {
4061
+ "docker:start": {
4133
4062
  "aliases": [],
4134
4063
  "args": {
4135
4064
  "target": {
@@ -4138,12 +4067,11 @@
4138
4067
  "required": true
4139
4068
  }
4140
4069
  },
4141
- "description": "View logs from a container (by execution ID, agent name, or container ID)",
4070
+ "description": "Start a stopped container (by execution ID, agent name, or container ID)",
4142
4071
  "examples": [
4143
4072
  "<%= config.bin %> <%= command.id %> WORK-001",
4144
4073
  "<%= config.bin %> <%= command.id %> kalanick",
4145
- "<%= config.bin %> <%= command.id %> abc123 --follow",
4146
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
4074
+ "<%= config.bin %> <%= command.id %> abc123"
4147
4075
  ],
4148
4076
  "flags": {
4149
4077
  "json": {
@@ -4159,33 +4087,17 @@
4159
4087
  "allowNo": false,
4160
4088
  "type": "boolean"
4161
4089
  },
4162
- "follow": {
4163
- "char": "f",
4164
- "description": "Follow log output",
4165
- "name": "follow",
4166
- "allowNo": false,
4167
- "type": "boolean"
4168
- },
4169
- "tail": {
4170
- "char": "n",
4171
- "description": "Number of lines to show from the end",
4172
- "name": "tail",
4173
- "default": 100,
4174
- "hasDynamicHelp": false,
4175
- "multiple": false,
4176
- "type": "option"
4177
- },
4178
- "timestamps": {
4179
- "char": "t",
4180
- "description": "Show timestamps",
4181
- "name": "timestamps",
4090
+ "attach": {
4091
+ "char": "a",
4092
+ "description": "Attach to container after starting",
4093
+ "name": "attach",
4182
4094
  "allowNo": false,
4183
4095
  "type": "boolean"
4184
4096
  }
4185
4097
  },
4186
4098
  "hasDynamicHelp": false,
4187
4099
  "hiddenAliases": [],
4188
- "id": "docker:logs",
4100
+ "id": "docker:start",
4189
4101
  "pluginAlias": "@proletariat/cli",
4190
4102
  "pluginName": "@proletariat/cli",
4191
4103
  "pluginType": "core",
@@ -4196,51 +4108,17 @@
4196
4108
  "dist",
4197
4109
  "commands",
4198
4110
  "docker",
4199
- "logs.js"
4111
+ "start.js"
4200
4112
  ]
4201
4113
  },
4202
- "docker:prune": {
4114
+ "docker:status": {
4203
4115
  "aliases": [],
4204
4116
  "args": {},
4205
- "description": "Remove unused Docker resources (containers, images, volumes, networks)",
4117
+ "description": "Check if Docker daemon is running",
4206
4118
  "examples": [
4207
- "<%= config.bin %> <%= command.id %>",
4208
- "<%= config.bin %> <%= command.id %> --all",
4209
- "<%= config.bin %> <%= command.id %> --volumes",
4210
- "<%= config.bin %> <%= command.id %> --dry-run"
4119
+ "<%= config.bin %> <%= command.id %>"
4211
4120
  ],
4212
4121
  "flags": {
4213
- "force": {
4214
- "aliases": [
4215
- "yes",
4216
- "y"
4217
- ],
4218
- "char": "f",
4219
- "description": "Skip confirmation prompt",
4220
- "name": "force",
4221
- "allowNo": false,
4222
- "type": "boolean"
4223
- },
4224
- "dry-run": {
4225
- "char": "d",
4226
- "description": "Show what would be removed without removing",
4227
- "name": "dry-run",
4228
- "allowNo": false,
4229
- "type": "boolean"
4230
- },
4231
- "all": {
4232
- "char": "a",
4233
- "description": "Remove all unused images, not just dangling ones",
4234
- "name": "all",
4235
- "allowNo": false,
4236
- "type": "boolean"
4237
- },
4238
- "volumes": {
4239
- "description": "Also prune volumes (dangerous - data loss possible)",
4240
- "name": "volumes",
4241
- "allowNo": false,
4242
- "type": "boolean"
4243
- },
4244
4122
  "json": {
4245
4123
  "description": "Output as JSON for AI agents/scripts",
4246
4124
  "name": "json",
@@ -4257,7 +4135,7 @@
4257
4135
  },
4258
4136
  "hasDynamicHelp": false,
4259
4137
  "hiddenAliases": [],
4260
- "id": "docker:prune",
4138
+ "id": "docker:status",
4261
4139
  "pluginAlias": "@proletariat/cli",
4262
4140
  "pluginName": "@proletariat/cli",
4263
4141
  "pluginType": "core",
@@ -4268,10 +4146,10 @@
4268
4146
  "dist",
4269
4147
  "commands",
4270
4148
  "docker",
4271
- "prune.js"
4149
+ "status.js"
4272
4150
  ]
4273
4151
  },
4274
- "docker:restart": {
4152
+ "docker:stop": {
4275
4153
  "aliases": [],
4276
4154
  "args": {
4277
4155
  "target": {
@@ -4280,7 +4158,7 @@
4280
4158
  "required": true
4281
4159
  }
4282
4160
  },
4283
- "description": "Restart a container (by execution ID, agent name, or container ID)",
4161
+ "description": "Stop a running container (by execution ID, agent name, or container ID)",
4284
4162
  "examples": [
4285
4163
  "<%= config.bin %> <%= command.id %> WORK-001",
4286
4164
  "<%= config.bin %> <%= command.id %> kalanick",
@@ -4300,7 +4178,7 @@
4300
4178
  },
4301
4179
  "time": {
4302
4180
  "char": "t",
4303
- "description": "Seconds to wait before killing the container during stop",
4181
+ "description": "Seconds to wait before killing the container",
4304
4182
  "name": "time",
4305
4183
  "default": 10,
4306
4184
  "hasDynamicHelp": false,
@@ -4323,7 +4201,7 @@
4323
4201
  },
4324
4202
  "hasDynamicHelp": false,
4325
4203
  "hiddenAliases": [],
4326
- "id": "docker:restart",
4204
+ "id": "docker:stop",
4327
4205
  "pluginAlias": "@proletariat/cli",
4328
4206
  "pluginName": "@proletariat/cli",
4329
4207
  "pluginType": "core",
@@ -4334,23 +4212,15 @@
4334
4212
  "dist",
4335
4213
  "commands",
4336
4214
  "docker",
4337
- "restart.js"
4215
+ "stop.js"
4338
4216
  ]
4339
4217
  },
4340
- "docker:shell": {
4218
+ "docker:sync": {
4341
4219
  "aliases": [],
4342
- "args": {
4343
- "target": {
4344
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4345
- "name": "target",
4346
- "required": true
4347
- }
4348
- },
4349
- "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
4220
+ "args": {},
4221
+ "description": "Sync container status from Docker into the database",
4350
4222
  "examples": [
4351
- "<%= config.bin %> <%= command.id %> WORK-001",
4352
- "<%= config.bin %> <%= command.id %> kalanick",
4353
- "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
4223
+ "<%= config.bin %> <%= command.id %>"
4354
4224
  ],
4355
4225
  "flags": {
4356
4226
  "json": {
@@ -4365,36 +4235,11 @@
4365
4235
  "name": "machine",
4366
4236
  "allowNo": false,
4367
4237
  "type": "boolean"
4368
- },
4369
- "shell": {
4370
- "char": "s",
4371
- "description": "Shell to use",
4372
- "name": "shell",
4373
- "default": "/bin/sh",
4374
- "hasDynamicHelp": false,
4375
- "multiple": false,
4376
- "type": "option"
4377
- },
4378
- "user": {
4379
- "char": "u",
4380
- "description": "User to run as",
4381
- "name": "user",
4382
- "hasDynamicHelp": false,
4383
- "multiple": false,
4384
- "type": "option"
4385
- },
4386
- "workdir": {
4387
- "char": "w",
4388
- "description": "Working directory inside the container",
4389
- "name": "workdir",
4390
- "hasDynamicHelp": false,
4391
- "multiple": false,
4392
- "type": "option"
4393
4238
  }
4394
4239
  },
4395
4240
  "hasDynamicHelp": false,
4396
4241
  "hiddenAliases": [],
4397
- "id": "docker:shell",
4242
+ "id": "docker:sync",
4398
4243
  "pluginAlias": "@proletariat/cli",
4399
4244
  "pluginName": "@proletariat/cli",
4400
4245
  "pluginType": "core",
@@ -4405,23 +4250,16 @@
4405
4250
  "dist",
4406
4251
  "commands",
4407
4252
  "docker",
4408
- "shell.js"
4253
+ "sync.js"
4409
4254
  ]
4410
4255
  },
4411
- "docker:start": {
4256
+ "feedback": {
4412
4257
  "aliases": [],
4413
- "args": {
4414
- "target": {
4415
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4416
- "name": "target",
4417
- "required": true
4418
- }
4419
- },
4420
- "description": "Start a stopped container (by execution ID, agent name, or container ID)",
4258
+ "args": {},
4259
+ "description": "Interactive menu for feedback and issue operations",
4421
4260
  "examples": [
4422
- "<%= config.bin %> <%= command.id %> WORK-001",
4423
- "<%= config.bin %> <%= command.id %> kalanick",
4424
- "<%= config.bin %> <%= command.id %> abc123"
4261
+ "<%= config.bin %> <%= command.id %>",
4262
+ "<%= config.bin %> <%= command.id %> --action submit"
4425
4263
  ],
4426
4264
  "flags": {
4427
4265
  "json": {
@@ -4437,17 +4275,23 @@
4437
4275
  "allowNo": false,
4438
4276
  "type": "boolean"
4439
4277
  },
4440
- "attach": {
4278
+ "action": {
4441
4279
  "char": "a",
4442
- "description": "Attach to container after starting",
4443
- "name": "attach",
4444
- "allowNo": false,
4445
- "type": "boolean"
4280
+ "description": "Action to perform (submit, list, view)",
4281
+ "name": "action",
4282
+ "hasDynamicHelp": false,
4283
+ "multiple": false,
4284
+ "options": [
4285
+ "submit",
4286
+ "list",
4287
+ "view"
4288
+ ],
4289
+ "type": "option"
4446
4290
  }
4447
4291
  },
4448
4292
  "hasDynamicHelp": false,
4449
4293
  "hiddenAliases": [],
4450
- "id": "docker:start",
4294
+ "id": "feedback",
4451
4295
  "pluginAlias": "@proletariat/cli",
4452
4296
  "pluginName": "@proletariat/cli",
4453
4297
  "pluginType": "core",
@@ -4457,16 +4301,19 @@
4457
4301
  "relativePath": [
4458
4302
  "dist",
4459
4303
  "commands",
4460
- "docker",
4461
- "start.js"
4304
+ "feedback",
4305
+ "index.js"
4462
4306
  ]
4463
4307
  },
4464
- "docker:status": {
4308
+ "feedback:list": {
4465
4309
  "aliases": [],
4466
4310
  "args": {},
4467
- "description": "Check if Docker daemon is running",
4311
+ "description": "List recent feedback issues from the repository",
4468
4312
  "examples": [
4469
- "<%= config.bin %> <%= command.id %>"
4313
+ "<%= config.bin %> <%= command.id %>",
4314
+ "<%= config.bin %> <%= command.id %> --category bug",
4315
+ "<%= config.bin %> <%= command.id %> --state closed --limit 10",
4316
+ "<%= config.bin %> <%= command.id %> --json"
4470
4317
  ],
4471
4318
  "flags": {
4472
4319
  "json": {
@@ -4481,11 +4328,47 @@
4481
4328
  "name": "machine",
4482
4329
  "allowNo": false,
4483
4330
  "type": "boolean"
4331
+ },
4332
+ "category": {
4333
+ "char": "c",
4334
+ "description": "Filter by category (bug, feature, general)",
4335
+ "name": "category",
4336
+ "hasDynamicHelp": false,
4337
+ "multiple": false,
4338
+ "options": [
4339
+ "bug",
4340
+ "feature",
4341
+ "general"
4342
+ ],
4343
+ "type": "option"
4344
+ },
4345
+ "state": {
4346
+ "char": "s",
4347
+ "description": "Filter by state",
4348
+ "name": "state",
4349
+ "default": "open",
4350
+ "hasDynamicHelp": false,
4351
+ "multiple": false,
4352
+ "options": [
4353
+ "open",
4354
+ "closed",
4355
+ "all"
4356
+ ],
4357
+ "type": "option"
4358
+ },
4359
+ "limit": {
4360
+ "char": "l",
4361
+ "description": "Maximum number of issues to show",
4362
+ "name": "limit",
4363
+ "default": 20,
4364
+ "hasDynamicHelp": false,
4365
+ "multiple": false,
4366
+ "type": "option"
4484
4367
  }
4485
4368
  },
4486
4369
  "hasDynamicHelp": false,
4487
4370
  "hiddenAliases": [],
4488
- "id": "docker:status",
4371
+ "id": "feedback:list",
4489
4372
  "pluginAlias": "@proletariat/cli",
4490
4373
  "pluginName": "@proletariat/cli",
4491
4374
  "pluginType": "core",
@@ -4495,46 +4378,20 @@
4495
4378
  "relativePath": [
4496
4379
  "dist",
4497
4380
  "commands",
4498
- "docker",
4499
- "status.js"
4381
+ "feedback",
4382
+ "list.js"
4500
4383
  ]
4501
4384
  },
4502
- "docker:stop": {
4385
+ "feedback:submit": {
4503
4386
  "aliases": [],
4504
- "args": {
4505
- "target": {
4506
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4507
- "name": "target",
4508
- "required": true
4509
- }
4510
- },
4511
- "description": "Stop a running container (by execution ID, agent name, or container ID)",
4387
+ "args": {},
4388
+ "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
4512
4389
  "examples": [
4513
- "<%= config.bin %> <%= command.id %> WORK-001",
4514
- "<%= config.bin %> <%= command.id %> kalanick",
4515
- "<%= config.bin %> <%= command.id %> abc123 --force"
4390
+ "<%= config.bin %> <%= command.id %>",
4391
+ "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
4392
+ "<%= config.bin %> <%= command.id %> --json"
4516
4393
  ],
4517
4394
  "flags": {
4518
- "force": {
4519
- "aliases": [
4520
- "yes",
4521
- "y"
4522
- ],
4523
- "char": "f",
4524
- "description": "Skip confirmation prompt",
4525
- "name": "force",
4526
- "allowNo": false,
4527
- "type": "boolean"
4528
- },
4529
- "time": {
4530
- "char": "t",
4531
- "description": "Seconds to wait before killing the container",
4532
- "name": "time",
4533
- "default": 10,
4534
- "hasDynamicHelp": false,
4535
- "multiple": false,
4536
- "type": "option"
4537
- },
4538
4395
  "json": {
4539
4396
  "description": "Output as JSON for AI agents/scripts",
4540
4397
  "name": "json",
@@ -4547,30 +4404,65 @@
4547
4404
  "name": "machine",
4548
4405
  "allowNo": false,
4549
4406
  "type": "boolean"
4407
+ },
4408
+ "title": {
4409
+ "char": "t",
4410
+ "description": "Issue title (one-liner) [required for non-interactive]",
4411
+ "name": "title",
4412
+ "hasDynamicHelp": false,
4413
+ "multiple": false,
4414
+ "type": "option"
4415
+ },
4416
+ "body": {
4417
+ "char": "b",
4418
+ "description": "Issue description [required for non-interactive]",
4419
+ "name": "body",
4420
+ "hasDynamicHelp": false,
4421
+ "multiple": false,
4422
+ "type": "option"
4423
+ },
4424
+ "category": {
4425
+ "char": "c",
4426
+ "description": "Feedback category",
4427
+ "name": "category",
4428
+ "hasDynamicHelp": false,
4429
+ "multiple": false,
4430
+ "options": [
4431
+ "bug",
4432
+ "feature",
4433
+ "general"
4434
+ ],
4435
+ "type": "option"
4550
4436
  }
4551
4437
  },
4552
4438
  "hasDynamicHelp": false,
4553
4439
  "hiddenAliases": [],
4554
- "id": "docker:stop",
4440
+ "id": "feedback:submit",
4555
4441
  "pluginAlias": "@proletariat/cli",
4556
4442
  "pluginName": "@proletariat/cli",
4557
4443
  "pluginType": "core",
4558
4444
  "strict": true,
4559
- "enableJsonFlag": false,
4560
4445
  "isESM": true,
4561
4446
  "relativePath": [
4562
4447
  "dist",
4563
4448
  "commands",
4564
- "docker",
4565
- "stop.js"
4449
+ "feedback",
4450
+ "submit.js"
4566
4451
  ]
4567
4452
  },
4568
- "docker:sync": {
4453
+ "feedback:view": {
4569
4454
  "aliases": [],
4570
- "args": {},
4571
- "description": "Sync container status from Docker into the database",
4455
+ "args": {
4456
+ "number": {
4457
+ "description": "Issue number to view",
4458
+ "name": "number",
4459
+ "required": true
4460
+ }
4461
+ },
4462
+ "description": "View details of a specific feedback issue",
4572
4463
  "examples": [
4573
- "<%= config.bin %> <%= command.id %>"
4464
+ "<%= config.bin %> <%= command.id %> 123",
4465
+ "<%= config.bin %> <%= command.id %> 123 --json"
4574
4466
  ],
4575
4467
  "flags": {
4576
4468
  "json": {
@@ -4589,7 +4481,7 @@
4589
4481
  },
4590
4482
  "hasDynamicHelp": false,
4591
4483
  "hiddenAliases": [],
4592
- "id": "docker:sync",
4484
+ "id": "feedback:view",
4593
4485
  "pluginAlias": "@proletariat/cli",
4594
4486
  "pluginName": "@proletariat/cli",
4595
4487
  "pluginType": "core",
@@ -4599,21 +4491,32 @@
4599
4491
  "relativePath": [
4600
4492
  "dist",
4601
4493
  "commands",
4602
- "docker",
4603
- "sync.js"
4494
+ "feedback",
4495
+ "view.js"
4604
4496
  ]
4605
4497
  },
4606
- "gh": {
4498
+ "execution:config": {
4607
4499
  "aliases": [],
4608
4500
  "args": {},
4609
- "description": "GitHub CLI setup and status for PR workflow",
4501
+ "description": "View and update execution preferences",
4610
4502
  "examples": [
4611
- "<%= config.bin %> <%= command.id %>",
4612
- "<%= config.bin %> <%= command.id %> status",
4613
- "<%= config.bin %> <%= command.id %> login",
4614
- "<%= config.bin %> <%= command.id %> token"
4503
+ "<%= config.bin %> execution config # Interactive menu",
4504
+ "<%= config.bin %> execution config --json # Output current config as JSON",
4505
+ "<%= config.bin %> execution config --list # Show all settings",
4506
+ "<%= config.bin %> execution config --set defaultEnvironment host",
4507
+ "<%= config.bin %> execution config --set outputMode interactive",
4508
+ "<%= config.bin %> execution config --set permissionMode safe",
4509
+ "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
4615
4510
  ],
4616
4511
  "flags": {
4512
+ "project": {
4513
+ "char": "P",
4514
+ "description": "Project ID (uses first project if only one exists)",
4515
+ "name": "project",
4516
+ "hasDynamicHelp": false,
4517
+ "multiple": false,
4518
+ "type": "option"
4519
+ },
4617
4520
  "json": {
4618
4521
  "description": "Output as JSON for AI agents/scripts",
4619
4522
  "name": "json",
@@ -4626,32 +4529,64 @@
4626
4529
  "name": "machine",
4627
4530
  "allowNo": false,
4628
4531
  "type": "boolean"
4629
- }
4630
- },
4631
- "hasDynamicHelp": false,
4632
- "hiddenAliases": [],
4633
- "id": "gh",
4634
- "pluginAlias": "@proletariat/cli",
4635
- "pluginName": "@proletariat/cli",
4636
- "pluginType": "core",
4532
+ },
4533
+ "set": {
4534
+ "char": "s",
4535
+ "description": "Set a config value (format: key value)",
4536
+ "name": "set",
4537
+ "hasDynamicHelp": false,
4538
+ "multiple": true,
4539
+ "type": "option"
4540
+ },
4541
+ "list": {
4542
+ "char": "l",
4543
+ "description": "List all configuration values",
4544
+ "name": "list",
4545
+ "allowNo": false,
4546
+ "type": "boolean"
4547
+ },
4548
+ "setting": {
4549
+ "description": "Navigate to a specific setting prompt (for agent navigation)",
4550
+ "name": "setting",
4551
+ "hasDynamicHelp": false,
4552
+ "multiple": false,
4553
+ "type": "option"
4554
+ }
4555
+ },
4556
+ "hasDynamicHelp": false,
4557
+ "hiddenAliases": [],
4558
+ "id": "execution:config",
4559
+ "pluginAlias": "@proletariat/cli",
4560
+ "pluginName": "@proletariat/cli",
4561
+ "pluginType": "core",
4637
4562
  "strict": true,
4638
- "enableJsonFlag": false,
4639
4563
  "isESM": true,
4640
4564
  "relativePath": [
4641
4565
  "dist",
4642
4566
  "commands",
4643
- "gh",
4644
- "index.js"
4567
+ "execution",
4568
+ "config.js"
4645
4569
  ]
4646
4570
  },
4647
- "gh:login": {
4571
+ "execution": {
4648
4572
  "aliases": [],
4649
4573
  "args": {},
4650
- "description": "Login to GitHub CLI for PR workflow",
4574
+ "description": "Single execution operations (view, logs, stop)",
4651
4575
  "examples": [
4652
- "<%= config.bin %> <%= command.id %>"
4576
+ "<%= config.bin %> <%= command.id %>",
4577
+ "<%= config.bin %> <%= command.id %> view WORK-001",
4578
+ "<%= config.bin %> <%= command.id %> logs WORK-001",
4579
+ "<%= config.bin %> <%= command.id %> stop WORK-001"
4653
4580
  ],
4654
4581
  "flags": {
4582
+ "project": {
4583
+ "char": "P",
4584
+ "description": "Project ID (uses first project if only one exists)",
4585
+ "name": "project",
4586
+ "hasDynamicHelp": false,
4587
+ "multiple": false,
4588
+ "type": "option"
4589
+ },
4655
4590
  "json": {
4656
4591
  "description": "Output as JSON for AI agents/scripts",
4657
4592
  "name": "json",
@@ -4668,28 +4603,38 @@
4668
4603
  },
4669
4604
  "hasDynamicHelp": false,
4670
4605
  "hiddenAliases": [],
4671
- "id": "gh:login",
4606
+ "id": "execution",
4672
4607
  "pluginAlias": "@proletariat/cli",
4673
4608
  "pluginName": "@proletariat/cli",
4674
4609
  "pluginType": "core",
4675
4610
  "strict": true,
4676
- "enableJsonFlag": false,
4677
4611
  "isESM": true,
4678
4612
  "relativePath": [
4679
4613
  "dist",
4680
4614
  "commands",
4681
- "gh",
4682
- "login.js"
4615
+ "execution",
4616
+ "index.js"
4683
4617
  ]
4684
4618
  },
4685
- "gh:status": {
4619
+ "execution:list": {
4686
4620
  "aliases": [],
4687
4621
  "args": {},
4688
- "description": "Check GitHub CLI status for PR workflow",
4622
+ "description": "List running and recent executions",
4689
4623
  "examples": [
4690
- "<%= config.bin %> <%= command.id %>"
4624
+ "<%= config.bin %> <%= command.id %>",
4625
+ "<%= config.bin %> <%= command.id %> --status running",
4626
+ "<%= config.bin %> <%= command.id %> --agent alice",
4627
+ "<%= config.bin %> <%= command.id %> --limit 50"
4691
4628
  ],
4692
4629
  "flags": {
4630
+ "project": {
4631
+ "char": "P",
4632
+ "description": "Project ID (uses first project if only one exists)",
4633
+ "name": "project",
4634
+ "hasDynamicHelp": false,
4635
+ "multiple": false,
4636
+ "type": "option"
4637
+ },
4693
4638
  "json": {
4694
4639
  "description": "Output as JSON for AI agents/scripts",
4695
4640
  "name": "json",
@@ -4702,32 +4647,80 @@
4702
4647
  "name": "machine",
4703
4648
  "allowNo": false,
4704
4649
  "type": "boolean"
4650
+ },
4651
+ "status": {
4652
+ "char": "s",
4653
+ "description": "Filter by status",
4654
+ "name": "status",
4655
+ "hasDynamicHelp": false,
4656
+ "multiple": false,
4657
+ "options": [
4658
+ "starting",
4659
+ "running",
4660
+ "completed",
4661
+ "failed",
4662
+ "stopped"
4663
+ ],
4664
+ "type": "option"
4665
+ },
4666
+ "agent": {
4667
+ "char": "a",
4668
+ "description": "Filter by agent name",
4669
+ "name": "agent",
4670
+ "hasDynamicHelp": false,
4671
+ "multiple": false,
4672
+ "type": "option"
4673
+ },
4674
+ "limit": {
4675
+ "char": "l",
4676
+ "description": "Number of results",
4677
+ "name": "limit",
4678
+ "default": 20,
4679
+ "hasDynamicHelp": false,
4680
+ "multiple": false,
4681
+ "type": "option"
4705
4682
  }
4706
4683
  },
4707
4684
  "hasDynamicHelp": false,
4708
4685
  "hiddenAliases": [],
4709
- "id": "gh:status",
4686
+ "id": "execution:list",
4710
4687
  "pluginAlias": "@proletariat/cli",
4711
4688
  "pluginName": "@proletariat/cli",
4712
4689
  "pluginType": "core",
4713
4690
  "strict": true,
4714
- "enableJsonFlag": false,
4715
4691
  "isESM": true,
4716
4692
  "relativePath": [
4717
4693
  "dist",
4718
4694
  "commands",
4719
- "gh",
4720
- "status.js"
4695
+ "execution",
4696
+ "list.js"
4721
4697
  ]
4722
4698
  },
4723
- "gh:token": {
4699
+ "execution:logs": {
4724
4700
  "aliases": [],
4725
- "args": {},
4726
- "description": "Show GH_TOKEN setup for devcontainer PR creation",
4701
+ "args": {
4702
+ "id": {
4703
+ "description": "Execution ID - prompts if not provided",
4704
+ "name": "id",
4705
+ "required": false
4706
+ }
4707
+ },
4708
+ "description": "View execution logs",
4727
4709
  "examples": [
4728
- "<%= config.bin %> <%= command.id %>"
4710
+ "<%= config.bin %> <%= command.id %> WORK-001",
4711
+ "<%= config.bin %> <%= command.id %> WORK-001 --follow",
4712
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
4713
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
4729
4714
  ],
4730
4715
  "flags": {
4716
+ "project": {
4717
+ "char": "P",
4718
+ "description": "Project ID (uses first project if only one exists)",
4719
+ "name": "project",
4720
+ "hasDynamicHelp": false,
4721
+ "multiple": false,
4722
+ "type": "option"
4723
+ },
4731
4724
  "json": {
4732
4725
  "description": "Output as JSON for AI agents/scripts",
4733
4726
  "name": "json",
@@ -4740,33 +4733,65 @@
4740
4733
  "name": "machine",
4741
4734
  "allowNo": false,
4742
4735
  "type": "boolean"
4736
+ },
4737
+ "follow": {
4738
+ "char": "f",
4739
+ "description": "Stream logs in real-time",
4740
+ "name": "follow",
4741
+ "allowNo": false,
4742
+ "type": "boolean"
4743
+ },
4744
+ "tail": {
4745
+ "char": "n",
4746
+ "description": "Show last n lines",
4747
+ "name": "tail",
4748
+ "hasDynamicHelp": false,
4749
+ "multiple": false,
4750
+ "type": "option"
4743
4751
  }
4744
4752
  },
4745
4753
  "hasDynamicHelp": false,
4746
4754
  "hiddenAliases": [],
4747
- "id": "gh:token",
4755
+ "id": "execution:logs",
4748
4756
  "pluginAlias": "@proletariat/cli",
4749
4757
  "pluginName": "@proletariat/cli",
4750
4758
  "pluginType": "core",
4751
4759
  "strict": true,
4752
- "enableJsonFlag": false,
4753
4760
  "isESM": true,
4754
4761
  "relativePath": [
4755
4762
  "dist",
4756
4763
  "commands",
4757
- "gh",
4758
- "token.js"
4764
+ "execution",
4765
+ "logs.js"
4759
4766
  ]
4760
4767
  },
4761
- "feedback": {
4768
+ "execution:stop": {
4762
4769
  "aliases": [],
4763
- "args": {},
4764
- "description": "Interactive menu for feedback and issue operations",
4770
+ "args": {
4771
+ "id": {
4772
+ "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
4773
+ "name": "id",
4774
+ "required": false
4775
+ }
4776
+ },
4777
+ "description": "Stop running execution(s)",
4765
4778
  "examples": [
4766
- "<%= config.bin %> <%= command.id %>",
4767
- "<%= config.bin %> <%= command.id %> --action submit"
4779
+ "<%= config.bin %> <%= command.id %> WORK-001",
4780
+ "<%= config.bin %> <%= command.id %> WORK-001 --force",
4781
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
4782
+ "<%= config.bin %> <%= command.id %> --all",
4783
+ "<%= config.bin %> <%= command.id %> --all --force",
4784
+ "<%= config.bin %> <%= command.id %> --agent altman"
4768
4785
  ],
4769
4786
  "flags": {
4787
+ "project": {
4788
+ "char": "P",
4789
+ "description": "Project ID (uses first project if only one exists)",
4790
+ "name": "project",
4791
+ "hasDynamicHelp": false,
4792
+ "multiple": false,
4793
+ "type": "option"
4794
+ },
4770
4795
  "json": {
4771
4796
  "description": "Output as JSON for AI agents/scripts",
4772
4797
  "name": "json",
@@ -4780,47 +4805,66 @@
4780
4805
  "allowNo": false,
4781
4806
  "type": "boolean"
4782
4807
  },
4783
- "action": {
4808
+ "force": {
4809
+ "char": "f",
4810
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
4811
+ "name": "force",
4812
+ "allowNo": false,
4813
+ "type": "boolean"
4814
+ },
4815
+ "all": {
4816
+ "description": "Stop all running executions",
4817
+ "name": "all",
4818
+ "allowNo": false,
4819
+ "type": "boolean"
4820
+ },
4821
+ "agent": {
4784
4822
  "char": "a",
4785
- "description": "Action to perform (submit, list, view)",
4786
- "name": "action",
4823
+ "description": "Stop all executions for a specific agent",
4824
+ "name": "agent",
4787
4825
  "hasDynamicHelp": false,
4788
4826
  "multiple": false,
4789
- "options": [
4790
- "submit",
4791
- "list",
4792
- "view"
4793
- ],
4794
4827
  "type": "option"
4795
4828
  }
4796
4829
  },
4797
4830
  "hasDynamicHelp": false,
4798
4831
  "hiddenAliases": [],
4799
- "id": "feedback",
4832
+ "id": "execution:stop",
4800
4833
  "pluginAlias": "@proletariat/cli",
4801
4834
  "pluginName": "@proletariat/cli",
4802
4835
  "pluginType": "core",
4803
4836
  "strict": true,
4804
- "enableJsonFlag": false,
4805
4837
  "isESM": true,
4806
4838
  "relativePath": [
4807
4839
  "dist",
4808
4840
  "commands",
4809
- "feedback",
4810
- "index.js"
4841
+ "execution",
4842
+ "stop.js"
4811
4843
  ]
4812
4844
  },
4813
- "feedback:list": {
4845
+ "execution:view": {
4814
4846
  "aliases": [],
4815
- "args": {},
4816
- "description": "List recent feedback issues from the repository",
4847
+ "args": {
4848
+ "id": {
4849
+ "description": "Execution ID - prompts if not provided",
4850
+ "name": "id",
4851
+ "required": false
4852
+ }
4853
+ },
4854
+ "description": "View details of a specific execution",
4817
4855
  "examples": [
4818
- "<%= config.bin %> <%= command.id %>",
4819
- "<%= config.bin %> <%= command.id %> --category bug",
4820
- "<%= config.bin %> <%= command.id %> --state closed --limit 10",
4821
- "<%= config.bin %> <%= command.id %> --json"
4856
+ "<%= config.bin %> <%= command.id %> WORK-001",
4857
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
4822
4858
  ],
4823
4859
  "flags": {
4860
+ "project": {
4861
+ "char": "P",
4862
+ "description": "Project ID (uses first project if only one exists)",
4863
+ "name": "project",
4864
+ "hasDynamicHelp": false,
4865
+ "multiple": false,
4866
+ "type": "option"
4867
+ },
4824
4868
  "json": {
4825
4869
  "description": "Output as JSON for AI agents/scripts",
4826
4870
  "name": "json",
@@ -4833,68 +4877,32 @@
4833
4877
  "name": "machine",
4834
4878
  "allowNo": false,
4835
4879
  "type": "boolean"
4836
- },
4837
- "category": {
4838
- "char": "c",
4839
- "description": "Filter by category (bug, feature, general)",
4840
- "name": "category",
4841
- "hasDynamicHelp": false,
4842
- "multiple": false,
4843
- "options": [
4844
- "bug",
4845
- "feature",
4846
- "general"
4847
- ],
4848
- "type": "option"
4849
- },
4850
- "state": {
4851
- "char": "s",
4852
- "description": "Filter by state",
4853
- "name": "state",
4854
- "default": "open",
4855
- "hasDynamicHelp": false,
4856
- "multiple": false,
4857
- "options": [
4858
- "open",
4859
- "closed",
4860
- "all"
4861
- ],
4862
- "type": "option"
4863
- },
4864
- "limit": {
4865
- "char": "l",
4866
- "description": "Maximum number of issues to show",
4867
- "name": "limit",
4868
- "default": 20,
4869
- "hasDynamicHelp": false,
4870
- "multiple": false,
4871
- "type": "option"
4872
4880
  }
4873
4881
  },
4874
4882
  "hasDynamicHelp": false,
4875
4883
  "hiddenAliases": [],
4876
- "id": "feedback:list",
4884
+ "id": "execution:view",
4877
4885
  "pluginAlias": "@proletariat/cli",
4878
4886
  "pluginName": "@proletariat/cli",
4879
4887
  "pluginType": "core",
4880
4888
  "strict": true,
4881
- "enableJsonFlag": false,
4882
4889
  "isESM": true,
4883
4890
  "relativePath": [
4884
4891
  "dist",
4885
4892
  "commands",
4886
- "feedback",
4887
- "list.js"
4893
+ "execution",
4894
+ "view.js"
4888
4895
  ]
4889
4896
  },
4890
- "feedback:submit": {
4897
+ "gh": {
4891
4898
  "aliases": [],
4892
4899
  "args": {},
4893
- "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
4900
+ "description": "GitHub CLI setup and status for PR workflow",
4894
4901
  "examples": [
4895
4902
  "<%= config.bin %> <%= command.id %>",
4896
- "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
4897
- "<%= config.bin %> <%= command.id %> --json"
4903
+ "<%= config.bin %> <%= command.id %> status",
4904
+ "<%= config.bin %> <%= command.id %> login",
4905
+ "<%= config.bin %> <%= command.id %> token"
4898
4906
  ],
4899
4907
  "flags": {
4900
4908
  "json": {
@@ -4909,65 +4917,106 @@
4909
4917
  "name": "machine",
4910
4918
  "allowNo": false,
4911
4919
  "type": "boolean"
4920
+ }
4921
+ },
4922
+ "hasDynamicHelp": false,
4923
+ "hiddenAliases": [],
4924
+ "id": "gh",
4925
+ "pluginAlias": "@proletariat/cli",
4926
+ "pluginName": "@proletariat/cli",
4927
+ "pluginType": "core",
4928
+ "strict": true,
4929
+ "enableJsonFlag": false,
4930
+ "isESM": true,
4931
+ "relativePath": [
4932
+ "dist",
4933
+ "commands",
4934
+ "gh",
4935
+ "index.js"
4936
+ ]
4937
+ },
4938
+ "gh:login": {
4939
+ "aliases": [],
4940
+ "args": {},
4941
+ "description": "Login to GitHub CLI for PR workflow",
4942
+ "examples": [
4943
+ "<%= config.bin %> <%= command.id %>"
4944
+ ],
4945
+ "flags": {
4946
+ "json": {
4947
+ "description": "Output as JSON for AI agents/scripts",
4948
+ "name": "json",
4949
+ "allowNo": false,
4950
+ "type": "boolean"
4912
4951
  },
4913
- "title": {
4914
- "char": "t",
4915
- "description": "Issue title (one-liner) [required for non-interactive]",
4916
- "name": "title",
4917
- "hasDynamicHelp": false,
4918
- "multiple": false,
4919
- "type": "option"
4920
- },
4921
- "body": {
4922
- "char": "b",
4923
- "description": "Issue description [required for non-interactive]",
4924
- "name": "body",
4925
- "hasDynamicHelp": false,
4926
- "multiple": false,
4927
- "type": "option"
4928
- },
4929
- "category": {
4930
- "char": "c",
4931
- "description": "Feedback category",
4932
- "name": "category",
4933
- "hasDynamicHelp": false,
4934
- "multiple": false,
4935
- "options": [
4936
- "bug",
4937
- "feature",
4938
- "general"
4939
- ],
4940
- "type": "option"
4952
+ "machine": {
4953
+ "char": "m",
4954
+ "description": "Output as JSON for AI agents/scripts",
4955
+ "name": "machine",
4956
+ "allowNo": false,
4957
+ "type": "boolean"
4941
4958
  }
4942
4959
  },
4943
4960
  "hasDynamicHelp": false,
4944
4961
  "hiddenAliases": [],
4945
- "id": "feedback:submit",
4962
+ "id": "gh:login",
4946
4963
  "pluginAlias": "@proletariat/cli",
4947
4964
  "pluginName": "@proletariat/cli",
4948
4965
  "pluginType": "core",
4949
4966
  "strict": true,
4967
+ "enableJsonFlag": false,
4950
4968
  "isESM": true,
4951
4969
  "relativePath": [
4952
4970
  "dist",
4953
4971
  "commands",
4954
- "feedback",
4955
- "submit.js"
4972
+ "gh",
4973
+ "login.js"
4956
4974
  ]
4957
4975
  },
4958
- "feedback:view": {
4976
+ "gh:status": {
4959
4977
  "aliases": [],
4960
- "args": {
4961
- "number": {
4962
- "description": "Issue number to view",
4963
- "name": "number",
4964
- "required": true
4978
+ "args": {},
4979
+ "description": "Check GitHub CLI status for PR workflow",
4980
+ "examples": [
4981
+ "<%= config.bin %> <%= command.id %>"
4982
+ ],
4983
+ "flags": {
4984
+ "json": {
4985
+ "description": "Output as JSON for AI agents/scripts",
4986
+ "name": "json",
4987
+ "allowNo": false,
4988
+ "type": "boolean"
4989
+ },
4990
+ "machine": {
4991
+ "char": "m",
4992
+ "description": "Output as JSON for AI agents/scripts",
4993
+ "name": "machine",
4994
+ "allowNo": false,
4995
+ "type": "boolean"
4965
4996
  }
4966
4997
  },
4967
- "description": "View details of a specific feedback issue",
4998
+ "hasDynamicHelp": false,
4999
+ "hiddenAliases": [],
5000
+ "id": "gh:status",
5001
+ "pluginAlias": "@proletariat/cli",
5002
+ "pluginName": "@proletariat/cli",
5003
+ "pluginType": "core",
5004
+ "strict": true,
5005
+ "enableJsonFlag": false,
5006
+ "isESM": true,
5007
+ "relativePath": [
5008
+ "dist",
5009
+ "commands",
5010
+ "gh",
5011
+ "status.js"
5012
+ ]
5013
+ },
5014
+ "gh:token": {
5015
+ "aliases": [],
5016
+ "args": {},
5017
+ "description": "Show GH_TOKEN setup for devcontainer PR creation",
4968
5018
  "examples": [
4969
- "<%= config.bin %> <%= command.id %> 123",
4970
- "<%= config.bin %> <%= command.id %> 123 --json"
5019
+ "<%= config.bin %> <%= command.id %>"
4971
5020
  ],
4972
5021
  "flags": {
4973
5022
  "json": {
@@ -4986,7 +5035,7 @@
4986
5035
  },
4987
5036
  "hasDynamicHelp": false,
4988
5037
  "hiddenAliases": [],
4989
- "id": "feedback:view",
5038
+ "id": "gh:token",
4990
5039
  "pluginAlias": "@proletariat/cli",
4991
5040
  "pluginName": "@proletariat/cli",
4992
5041
  "pluginType": "core",
@@ -4996,8 +5045,8 @@
4996
5045
  "relativePath": [
4997
5046
  "dist",
4998
5047
  "commands",
4999
- "feedback",
5000
- "view.js"
5048
+ "gh",
5049
+ "token.js"
5001
5050
  ]
5002
5051
  },
5003
5052
  "linear:auth": {
@@ -7234,23 +7283,31 @@
7234
7283
  "index.js"
7235
7284
  ]
7236
7285
  },
7237
- "run": {
7286
+ "repo:add": {
7238
7287
  "aliases": [],
7239
7288
  "args": {
7240
- "task": {
7241
- "description": "Task description for the agent",
7242
- "name": "task",
7243
- "required": true
7289
+ "path": {
7290
+ "description": "Repository path or Git URL",
7291
+ "name": "path",
7292
+ "required": false
7244
7293
  }
7245
7294
  },
7246
- "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
7295
+ "description": "Add a repository to the HQ",
7247
7296
  "examples": [
7248
- "<%= config.bin %> run \"fix the login bug\"",
7249
- "<%= config.bin %> run --runner claude-code \"add dark mode\"",
7250
- "<%= config.bin %> run -d \"fix the bug\"",
7251
- "<%= config.bin %> run --runner codex \"add tests\""
7297
+ "<%= config.bin %> <%= command.id %> /path/to/repo",
7298
+ "<%= config.bin %> <%= command.id %> git@github.com:user/repo.git",
7299
+ "<%= config.bin %> <%= command.id %>",
7300
+ "<%= config.bin %> <%= command.id %> --bulk"
7252
7301
  ],
7253
7302
  "flags": {
7303
+ "project": {
7304
+ "char": "P",
7305
+ "description": "Project ID (uses first project if only one exists)",
7306
+ "name": "project",
7307
+ "hasDynamicHelp": false,
7308
+ "multiple": false,
7309
+ "type": "option"
7310
+ },
7254
7311
  "json": {
7255
7312
  "description": "Output as JSON for AI agents/scripts",
7256
7313
  "name": "json",
@@ -7264,133 +7321,32 @@
7264
7321
  "allowNo": false,
7265
7322
  "type": "boolean"
7266
7323
  },
7267
- "runner": {
7268
- "char": "r",
7269
- "description": "Runner to use (claude-code, codex, pi)",
7270
- "name": "runner",
7324
+ "action": {
7325
+ "char": "a",
7326
+ "description": "Action for local paths",
7327
+ "name": "action",
7328
+ "default": "clone",
7271
7329
  "hasDynamicHelp": false,
7272
7330
  "multiple": false,
7331
+ "options": [
7332
+ "clone",
7333
+ "move"
7334
+ ],
7273
7335
  "type": "option"
7274
7336
  },
7275
- "detached": {
7276
- "char": "d",
7277
- "description": "Run in background (detached)",
7278
- "name": "detached",
7337
+ "bulk": {
7338
+ "char": "b",
7339
+ "description": "Add multiple repositories interactively",
7340
+ "name": "bulk",
7279
7341
  "allowNo": false,
7280
7342
  "type": "boolean"
7281
7343
  },
7282
- "directory": {
7283
- "description": "Working directory (default: cwd)",
7284
- "name": "directory",
7285
- "hasDynamicHelp": false,
7286
- "multiple": false,
7287
- "type": "option"
7288
- },
7289
- "permission-mode": {
7290
- "char": "p",
7291
- "description": "Permission mode (danger: skip prompts, safe: require approval)",
7292
- "name": "permission-mode",
7293
- "hasDynamicHelp": false,
7294
- "multiple": false,
7295
- "options": [
7296
- "danger",
7297
- "safe"
7298
- ],
7299
- "type": "option"
7300
- },
7301
- "environment": {
7302
- "char": "e",
7303
- "description": "Environment to run in",
7304
- "name": "environment",
7305
- "hasDynamicHelp": false,
7306
- "multiple": false,
7307
- "options": [
7308
- "host",
7309
- "docker",
7310
- "podman"
7311
- ],
7312
- "type": "option"
7313
- }
7314
- },
7315
- "hasDynamicHelp": false,
7316
- "hiddenAliases": [],
7317
- "id": "run",
7318
- "pluginAlias": "@proletariat/cli",
7319
- "pluginName": "@proletariat/cli",
7320
- "pluginType": "core",
7321
- "strict": true,
7322
- "isESM": true,
7323
- "relativePath": [
7324
- "dist",
7325
- "commands",
7326
- "run",
7327
- "index.js"
7328
- ]
7329
- },
7330
- "repo:add": {
7331
- "aliases": [],
7332
- "args": {
7333
- "path": {
7334
- "description": "Repository path or Git URL",
7335
- "name": "path",
7336
- "required": false
7337
- }
7338
- },
7339
- "description": "Add a repository to the HQ",
7340
- "examples": [
7341
- "<%= config.bin %> <%= command.id %> /path/to/repo",
7342
- "<%= config.bin %> <%= command.id %> git@github.com:user/repo.git",
7343
- "<%= config.bin %> <%= command.id %>",
7344
- "<%= config.bin %> <%= command.id %> --bulk"
7345
- ],
7346
- "flags": {
7347
- "project": {
7348
- "char": "P",
7349
- "description": "Project ID (uses first project if only one exists)",
7350
- "name": "project",
7351
- "hasDynamicHelp": false,
7352
- "multiple": false,
7353
- "type": "option"
7354
- },
7355
- "json": {
7356
- "description": "Output as JSON for AI agents/scripts",
7357
- "name": "json",
7358
- "allowNo": false,
7359
- "type": "boolean"
7360
- },
7361
- "machine": {
7362
- "char": "m",
7363
- "description": "Output as JSON for AI agents/scripts",
7364
- "name": "machine",
7365
- "allowNo": false,
7366
- "type": "boolean"
7367
- },
7368
- "action": {
7369
- "char": "a",
7370
- "description": "Action for local paths",
7371
- "name": "action",
7372
- "default": "clone",
7373
- "hasDynamicHelp": false,
7374
- "multiple": false,
7375
- "options": [
7376
- "clone",
7377
- "move"
7378
- ],
7379
- "type": "option"
7380
- },
7381
- "bulk": {
7382
- "char": "b",
7383
- "description": "Add multiple repositories interactively",
7384
- "name": "bulk",
7385
- "allowNo": false,
7386
- "type": "boolean"
7387
- },
7388
- "force": {
7389
- "char": "f",
7390
- "description": "Skip archived repository warning",
7391
- "name": "force",
7392
- "allowNo": false,
7393
- "type": "boolean"
7344
+ "force": {
7345
+ "char": "f",
7346
+ "description": "Skip archived repository warning",
7347
+ "name": "force",
7348
+ "allowNo": false,
7349
+ "type": "boolean"
7394
7350
  }
7395
7351
  },
7396
7352
  "hasDynamicHelp": false,
@@ -7772,6 +7728,99 @@
7772
7728
  "view.js"
7773
7729
  ]
7774
7730
  },
7731
+ "run": {
7732
+ "aliases": [],
7733
+ "args": {
7734
+ "task": {
7735
+ "description": "Task description for the agent",
7736
+ "name": "task",
7737
+ "required": true
7738
+ }
7739
+ },
7740
+ "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
7741
+ "examples": [
7742
+ "<%= config.bin %> run \"fix the login bug\"",
7743
+ "<%= config.bin %> run --runner claude-code \"add dark mode\"",
7744
+ "<%= config.bin %> run -d \"fix the bug\"",
7745
+ "<%= config.bin %> run --runner codex \"add tests\""
7746
+ ],
7747
+ "flags": {
7748
+ "json": {
7749
+ "description": "Output as JSON for AI agents/scripts",
7750
+ "name": "json",
7751
+ "allowNo": false,
7752
+ "type": "boolean"
7753
+ },
7754
+ "machine": {
7755
+ "char": "m",
7756
+ "description": "Output as JSON for AI agents/scripts",
7757
+ "name": "machine",
7758
+ "allowNo": false,
7759
+ "type": "boolean"
7760
+ },
7761
+ "runner": {
7762
+ "char": "r",
7763
+ "description": "Runner to use (claude-code, codex, pi)",
7764
+ "name": "runner",
7765
+ "hasDynamicHelp": false,
7766
+ "multiple": false,
7767
+ "type": "option"
7768
+ },
7769
+ "detached": {
7770
+ "char": "d",
7771
+ "description": "Run in background (detached)",
7772
+ "name": "detached",
7773
+ "allowNo": false,
7774
+ "type": "boolean"
7775
+ },
7776
+ "directory": {
7777
+ "description": "Working directory (default: cwd)",
7778
+ "name": "directory",
7779
+ "hasDynamicHelp": false,
7780
+ "multiple": false,
7781
+ "type": "option"
7782
+ },
7783
+ "permission-mode": {
7784
+ "char": "p",
7785
+ "description": "Permission mode (danger: skip prompts, safe: require approval)",
7786
+ "name": "permission-mode",
7787
+ "hasDynamicHelp": false,
7788
+ "multiple": false,
7789
+ "options": [
7790
+ "danger",
7791
+ "safe"
7792
+ ],
7793
+ "type": "option"
7794
+ },
7795
+ "environment": {
7796
+ "char": "e",
7797
+ "description": "Environment to run in",
7798
+ "name": "environment",
7799
+ "hasDynamicHelp": false,
7800
+ "multiple": false,
7801
+ "options": [
7802
+ "host",
7803
+ "docker",
7804
+ "podman"
7805
+ ],
7806
+ "type": "option"
7807
+ }
7808
+ },
7809
+ "hasDynamicHelp": false,
7810
+ "hiddenAliases": [],
7811
+ "id": "run",
7812
+ "pluginAlias": "@proletariat/cli",
7813
+ "pluginName": "@proletariat/cli",
7814
+ "pluginType": "core",
7815
+ "strict": true,
7816
+ "isESM": true,
7817
+ "relativePath": [
7818
+ "dist",
7819
+ "commands",
7820
+ "run",
7821
+ "index.js"
7822
+ ]
7823
+ },
7775
7824
  "shortcut:connect": {
7776
7825
  "aliases": [],
7777
7826
  "args": {},
@@ -9729,17 +9778,12 @@
9729
9778
  "remove.js"
9730
9779
  ]
9731
9780
  },
9732
- "trello:configure": {
9781
+ "ticket:bulk": {
9733
9782
  "aliases": [],
9734
9783
  "args": {},
9735
- "description": "Connect to Trello and configure authentication",
9784
+ "description": "Manage tickets in bulk (interactive menu)",
9736
9785
  "examples": [
9737
- "<%= config.bin %> <%= command.id %>",
9738
- "<%= config.bin %> <%= command.id %> --check",
9739
- "<%= config.bin %> <%= command.id %> --force",
9740
- "<%= config.bin %> <%= command.id %> --disconnect",
9741
- "TRELLO_API_KEY=... TRELLO_API_TOKEN=... <%= config.bin %> <%= command.id %>",
9742
- "<%= config.bin %> <%= command.id %> --json"
9786
+ "<%= config.bin %> <%= command.id %>"
9743
9787
  ],
9744
9788
  "flags": {
9745
9789
  "project": {
@@ -9762,36 +9806,11 @@
9762
9806
  "name": "machine",
9763
9807
  "allowNo": false,
9764
9808
  "type": "boolean"
9765
- },
9766
- "check": {
9767
- "description": "Only check if Trello credentials are valid (do not prompt)",
9768
- "name": "check",
9769
- "allowNo": false,
9770
- "type": "boolean"
9771
- },
9772
- "force": {
9773
- "description": "Force re-authentication even if credentials exist",
9774
- "name": "force",
9775
- "allowNo": false,
9776
- "type": "boolean"
9777
- },
9778
- "disconnect": {
9779
- "description": "Remove stored Trello credentials and configuration",
9780
- "name": "disconnect",
9781
- "allowNo": false,
9782
- "type": "boolean"
9783
- },
9784
- "board": {
9785
- "description": "Default board ID or name",
9786
- "name": "board",
9787
- "hasDynamicHelp": false,
9788
- "multiple": false,
9789
- "type": "option"
9790
9809
  }
9791
9810
  },
9792
9811
  "hasDynamicHelp": false,
9793
9812
  "hiddenAliases": [],
9794
- "id": "trello:configure",
9813
+ "id": "ticket:bulk",
9795
9814
  "pluginAlias": "@proletariat/cli",
9796
9815
  "pluginName": "@proletariat/cli",
9797
9816
  "pluginType": "core",
@@ -9800,20 +9819,24 @@
9800
9819
  "relativePath": [
9801
9820
  "dist",
9802
9821
  "commands",
9803
- "trello",
9804
- "configure.js"
9822
+ "ticket",
9823
+ "bulk.js"
9805
9824
  ]
9806
9825
  },
9807
- "trello:import": {
9826
+ "ticket:cancel": {
9808
9827
  "aliases": [],
9809
- "args": {},
9810
- "description": "Import Trello cards into PMO as tickets",
9828
+ "args": {
9829
+ "ticketId": {
9830
+ "description": "Ticket ID - prompts with dropdown if not provided",
9831
+ "name": "ticketId",
9832
+ "required": false
9833
+ }
9834
+ },
9835
+ "description": "Cancel ticket(s) (move to Canceled column)",
9811
9836
  "examples": [
9812
- "<%= config.bin %> <%= command.id %> # Interactive: select cards from board",
9813
- "<%= config.bin %> <%= command.id %> --limit 50 # Import up to 50 cards",
9814
- "<%= config.bin %> <%= command.id %> --all # Import all matching cards",
9815
- "<%= config.bin %> <%= command.id %> --dry-run # Preview what would be imported",
9816
- "<%= config.bin %> <%= command.id %> --json # JSON output for scripting"
9837
+ "<%= config.bin %> <%= command.id %>",
9838
+ "<%= config.bin %> <%= command.id %> TKT-001",
9839
+ "<%= config.bin %> <%= command.id %> --bulk"
9817
9840
  ],
9818
9841
  "flags": {
9819
9842
  "project": {
@@ -9837,262 +9860,10 @@
9837
9860
  "allowNo": false,
9838
9861
  "type": "boolean"
9839
9862
  },
9840
- "limit": {
9841
- "char": "n",
9842
- "description": "Maximum number of cards to import",
9843
- "name": "limit",
9844
- "default": 50,
9845
- "hasDynamicHelp": false,
9846
- "multiple": false,
9847
- "type": "option"
9848
- },
9849
- "all": {
9850
- "char": "a",
9851
- "description": "Import all matching cards without interactive selection",
9852
- "name": "all",
9853
- "allowNo": false,
9854
- "type": "boolean"
9855
- },
9856
- "dry-run": {
9857
- "description": "Preview cards that would be imported without creating tickets",
9858
- "name": "dry-run",
9859
- "allowNo": false,
9860
- "type": "boolean"
9861
- }
9862
- },
9863
- "hasDynamicHelp": false,
9864
- "hiddenAliases": [],
9865
- "id": "trello:import",
9866
- "pluginAlias": "@proletariat/cli",
9867
- "pluginName": "@proletariat/cli",
9868
- "pluginType": "core",
9869
- "strict": true,
9870
- "isESM": true,
9871
- "relativePath": [
9872
- "dist",
9873
- "commands",
9874
- "trello",
9875
- "import.js"
9876
- ]
9877
- },
9878
- "trello:sync": {
9879
- "aliases": [],
9880
- "args": {},
9881
- "description": "Sync PMO tickets to Trello cards",
9882
- "examples": [
9883
- "<%= config.bin %> <%= command.id %> --ticket TKT-001 --card abc123",
9884
- "<%= config.bin %> <%= command.id %> --ticket TKT-001 --create-missing",
9885
- "<%= config.bin %> <%= command.id %> --dry-run"
9886
- ],
9887
- "flags": {
9888
- "project": {
9889
- "char": "P",
9890
- "description": "Project ID (uses first project if only one exists)",
9891
- "name": "project",
9892
- "hasDynamicHelp": false,
9893
- "multiple": false,
9894
- "type": "option"
9895
- },
9896
- "json": {
9897
- "description": "Output as JSON for AI agents/scripts",
9898
- "name": "json",
9899
- "allowNo": false,
9900
- "type": "boolean"
9901
- },
9902
- "machine": {
9903
- "char": "m",
9904
- "description": "Output as JSON for AI agents/scripts",
9905
- "name": "machine",
9906
- "allowNo": false,
9907
- "type": "boolean"
9908
- },
9909
- "ticket": {
9910
- "description": "PMO ticket ID to sync (syncs all mapped tickets if omitted)",
9911
- "name": "ticket",
9912
- "hasDynamicHelp": false,
9913
- "multiple": false,
9914
- "type": "option"
9915
- },
9916
- "card": {
9917
- "description": "Trello card ID to map to --ticket",
9918
- "name": "card",
9919
- "hasDynamicHelp": false,
9920
- "multiple": false,
9921
- "type": "option"
9922
- },
9923
- "list": {
9924
- "description": "Trello list ID used with --create-missing",
9925
- "name": "list",
9926
- "hasDynamicHelp": false,
9927
- "multiple": false,
9928
- "type": "option"
9929
- },
9930
- "create-missing": {
9931
- "description": "Create Trello card when no mapping exists (requires list)",
9932
- "name": "create-missing",
9933
- "allowNo": false,
9934
- "type": "boolean"
9935
- },
9936
- "dry-run": {
9937
- "description": "Preview sync operations without making changes",
9938
- "name": "dry-run",
9939
- "allowNo": false,
9940
- "type": "boolean"
9941
- }
9942
- },
9943
- "hasDynamicHelp": false,
9944
- "hiddenAliases": [],
9945
- "id": "trello:sync",
9946
- "pluginAlias": "@proletariat/cli",
9947
- "pluginName": "@proletariat/cli",
9948
- "pluginType": "core",
9949
- "strict": true,
9950
- "isESM": true,
9951
- "relativePath": [
9952
- "dist",
9953
- "commands",
9954
- "trello",
9955
- "sync.js"
9956
- ]
9957
- },
9958
- "version:bump": {
9959
- "aliases": [],
9960
- "args": {
9961
- "type": {
9962
- "description": "Version bump type",
9963
- "name": "type",
9964
- "options": [
9965
- "major",
9966
- "minor",
9967
- "patch"
9968
- ],
9969
- "required": true
9970
- }
9971
- },
9972
- "description": "Bump the CLI version (major, minor, or patch), commit, push, and create a PR",
9973
- "examples": [
9974
- "<%= config.bin %> version bump patch",
9975
- "<%= config.bin %> version bump minor",
9976
- "<%= config.bin %> version bump major",
9977
- "<%= config.bin %> version bump patch --json"
9978
- ],
9979
- "flags": {
9980
- "json": {
9981
- "description": "Output as JSON for AI agents/scripts",
9982
- "name": "json",
9983
- "allowNo": false,
9984
- "type": "boolean"
9985
- },
9986
- "machine": {
9987
- "char": "m",
9988
- "description": "Output as JSON for AI agents/scripts",
9989
- "name": "machine",
9990
- "allowNo": false,
9991
- "type": "boolean"
9992
- }
9993
- },
9994
- "hasDynamicHelp": false,
9995
- "hiddenAliases": [],
9996
- "id": "version:bump",
9997
- "pluginAlias": "@proletariat/cli",
9998
- "pluginName": "@proletariat/cli",
9999
- "pluginType": "core",
10000
- "strict": true,
10001
- "enableJsonFlag": false,
10002
- "isESM": true,
10003
- "relativePath": [
10004
- "dist",
10005
- "commands",
10006
- "version",
10007
- "bump.js"
10008
- ]
10009
- },
10010
- "ticket:bulk": {
10011
- "aliases": [],
10012
- "args": {},
10013
- "description": "Manage tickets in bulk (interactive menu)",
10014
- "examples": [
10015
- "<%= config.bin %> <%= command.id %>"
10016
- ],
10017
- "flags": {
10018
- "project": {
10019
- "char": "P",
10020
- "description": "Project ID (uses first project if only one exists)",
10021
- "name": "project",
10022
- "hasDynamicHelp": false,
10023
- "multiple": false,
10024
- "type": "option"
10025
- },
10026
- "json": {
10027
- "description": "Output as JSON for AI agents/scripts",
10028
- "name": "json",
10029
- "allowNo": false,
10030
- "type": "boolean"
10031
- },
10032
- "machine": {
10033
- "char": "m",
10034
- "description": "Output as JSON for AI agents/scripts",
10035
- "name": "machine",
10036
- "allowNo": false,
10037
- "type": "boolean"
10038
- }
10039
- },
10040
- "hasDynamicHelp": false,
10041
- "hiddenAliases": [],
10042
- "id": "ticket:bulk",
10043
- "pluginAlias": "@proletariat/cli",
10044
- "pluginName": "@proletariat/cli",
10045
- "pluginType": "core",
10046
- "strict": true,
10047
- "isESM": true,
10048
- "relativePath": [
10049
- "dist",
10050
- "commands",
10051
- "ticket",
10052
- "bulk.js"
10053
- ]
10054
- },
10055
- "ticket:cancel": {
10056
- "aliases": [],
10057
- "args": {
10058
- "ticketId": {
10059
- "description": "Ticket ID - prompts with dropdown if not provided",
10060
- "name": "ticketId",
10061
- "required": false
10062
- }
10063
- },
10064
- "description": "Cancel ticket(s) (move to Canceled column)",
10065
- "examples": [
10066
- "<%= config.bin %> <%= command.id %>",
10067
- "<%= config.bin %> <%= command.id %> TKT-001",
10068
- "<%= config.bin %> <%= command.id %> --bulk"
10069
- ],
10070
- "flags": {
10071
- "project": {
10072
- "char": "P",
10073
- "description": "Project ID (uses first project if only one exists)",
10074
- "name": "project",
10075
- "hasDynamicHelp": false,
10076
- "multiple": false,
10077
- "type": "option"
10078
- },
10079
- "json": {
10080
- "description": "Output as JSON for AI agents/scripts",
10081
- "name": "json",
10082
- "allowNo": false,
10083
- "type": "boolean"
10084
- },
10085
- "machine": {
10086
- "char": "m",
10087
- "description": "Output as JSON for AI agents/scripts",
10088
- "name": "machine",
10089
- "allowNo": false,
10090
- "type": "boolean"
10091
- },
10092
- "bulk": {
10093
- "char": "b",
10094
- "description": "Enable bulk mode to cancel multiple tickets",
10095
- "name": "bulk",
9863
+ "bulk": {
9864
+ "char": "b",
9865
+ "description": "Enable bulk mode to cancel multiple tickets",
9866
+ "name": "bulk",
10096
9867
  "allowNo": false,
10097
9868
  "type": "boolean"
10098
9869
  },
@@ -10906,52 +10677,365 @@
10906
10677
  ],
10907
10678
  "type": "option"
10908
10679
  },
10909
- "team": {
10910
- "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
10911
- "name": "team",
10912
- "hasDynamicHelp": false,
10913
- "multiple": false,
10914
- "type": "option"
10680
+ "team": {
10681
+ "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
10682
+ "name": "team",
10683
+ "hasDynamicHelp": false,
10684
+ "multiple": false,
10685
+ "type": "option"
10686
+ }
10687
+ },
10688
+ "hasDynamicHelp": false,
10689
+ "hiddenAliases": [],
10690
+ "id": "ticket:list",
10691
+ "pluginAlias": "@proletariat/cli",
10692
+ "pluginName": "@proletariat/cli",
10693
+ "pluginType": "core",
10694
+ "strict": true,
10695
+ "enableJsonFlag": false,
10696
+ "isESM": true,
10697
+ "relativePath": [
10698
+ "dist",
10699
+ "commands",
10700
+ "ticket",
10701
+ "list.js"
10702
+ ]
10703
+ },
10704
+ "ticket:move": {
10705
+ "aliases": [],
10706
+ "args": {
10707
+ "ticketId": {
10708
+ "description": "Ticket ID - prompts with dropdown if not provided",
10709
+ "name": "ticketId",
10710
+ "required": false
10711
+ },
10712
+ "column": {
10713
+ "description": "Target column - prompts with dropdown if not provided",
10714
+ "name": "column",
10715
+ "required": false
10716
+ }
10717
+ },
10718
+ "description": "Move ticket(s) to a different column",
10719
+ "examples": [
10720
+ "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
10721
+ "<%= config.bin %> <%= command.id %> implement-auth Done",
10722
+ "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
10723
+ "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
10724
+ "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
10725
+ "<%= config.bin %> <%= command.id %> --bulk"
10726
+ ],
10727
+ "flags": {
10728
+ "project": {
10729
+ "char": "P",
10730
+ "description": "Project ID (uses first project if only one exists)",
10731
+ "name": "project",
10732
+ "hasDynamicHelp": false,
10733
+ "multiple": false,
10734
+ "type": "option"
10735
+ },
10736
+ "json": {
10737
+ "description": "Output as JSON for AI agents/scripts",
10738
+ "name": "json",
10739
+ "allowNo": false,
10740
+ "type": "boolean"
10741
+ },
10742
+ "machine": {
10743
+ "char": "m",
10744
+ "description": "Output as JSON for AI agents/scripts",
10745
+ "name": "machine",
10746
+ "allowNo": false,
10747
+ "type": "boolean"
10748
+ },
10749
+ "status": {
10750
+ "char": "s",
10751
+ "description": "Target status/column (alternative to positional column argument)",
10752
+ "name": "status",
10753
+ "hasDynamicHelp": false,
10754
+ "multiple": false,
10755
+ "type": "option"
10756
+ },
10757
+ "position": {
10758
+ "description": "Position within the column (0 = top)",
10759
+ "name": "position",
10760
+ "hasDynamicHelp": false,
10761
+ "multiple": false,
10762
+ "type": "option"
10763
+ },
10764
+ "to-project": {
10765
+ "description": "Move ticket to a different project (uses Backlog/default column)",
10766
+ "name": "to-project",
10767
+ "hasDynamicHelp": false,
10768
+ "multiple": false,
10769
+ "type": "option"
10770
+ },
10771
+ "bulk": {
10772
+ "char": "b",
10773
+ "description": "Enable bulk mode to move multiple tickets",
10774
+ "name": "bulk",
10775
+ "allowNo": false,
10776
+ "type": "boolean"
10777
+ },
10778
+ "force": {
10779
+ "char": "f",
10780
+ "description": "Skip confirmation prompt (bulk mode only)",
10781
+ "name": "force",
10782
+ "allowNo": false,
10783
+ "type": "boolean"
10784
+ }
10785
+ },
10786
+ "hasDynamicHelp": false,
10787
+ "hiddenAliases": [],
10788
+ "id": "ticket:move",
10789
+ "pluginAlias": "@proletariat/cli",
10790
+ "pluginName": "@proletariat/cli",
10791
+ "pluginType": "core",
10792
+ "strict": true,
10793
+ "isESM": true,
10794
+ "relativePath": [
10795
+ "dist",
10796
+ "commands",
10797
+ "ticket",
10798
+ "move.js"
10799
+ ]
10800
+ },
10801
+ "ticket:project": {
10802
+ "aliases": [],
10803
+ "args": {
10804
+ "ticketId": {
10805
+ "description": "Ticket ID",
10806
+ "name": "ticketId",
10807
+ "required": false
10808
+ },
10809
+ "targetProject": {
10810
+ "description": "Target project ID",
10811
+ "name": "targetProject",
10812
+ "required": false
10813
+ }
10814
+ },
10815
+ "description": "Move ticket(s) to a different project",
10816
+ "examples": [
10817
+ "<%= config.bin %> <%= command.id %> TKT-001 new-project",
10818
+ "<%= config.bin %> <%= command.id %> TKT-001",
10819
+ "<%= config.bin %> <%= command.id %>",
10820
+ "<%= config.bin %> <%= command.id %> --bulk --target other-project"
10821
+ ],
10822
+ "flags": {
10823
+ "project": {
10824
+ "char": "P",
10825
+ "description": "Project ID (uses first project if only one exists)",
10826
+ "name": "project",
10827
+ "hasDynamicHelp": false,
10828
+ "multiple": false,
10829
+ "type": "option"
10830
+ },
10831
+ "json": {
10832
+ "description": "Output as JSON for AI agents/scripts",
10833
+ "name": "json",
10834
+ "allowNo": false,
10835
+ "type": "boolean"
10836
+ },
10837
+ "machine": {
10838
+ "char": "m",
10839
+ "description": "Output as JSON for AI agents/scripts",
10840
+ "name": "machine",
10841
+ "allowNo": false,
10842
+ "type": "boolean"
10843
+ },
10844
+ "keep-epic": {
10845
+ "description": "Keep ticket assigned to its epic (if epic is in source project, will unlink)",
10846
+ "name": "keep-epic",
10847
+ "allowNo": false,
10848
+ "type": "boolean"
10849
+ },
10850
+ "bulk": {
10851
+ "char": "b",
10852
+ "description": "Enable bulk mode to move multiple tickets",
10853
+ "name": "bulk",
10854
+ "allowNo": false,
10855
+ "type": "boolean"
10856
+ },
10857
+ "target": {
10858
+ "char": "t",
10859
+ "description": "Target project ID (for bulk mode)",
10860
+ "name": "target",
10861
+ "hasDynamicHelp": false,
10862
+ "multiple": false,
10863
+ "type": "option"
10864
+ }
10865
+ },
10866
+ "hasDynamicHelp": false,
10867
+ "hiddenAliases": [],
10868
+ "id": "ticket:project",
10869
+ "pluginAlias": "@proletariat/cli",
10870
+ "pluginName": "@proletariat/cli",
10871
+ "pluginType": "core",
10872
+ "strict": true,
10873
+ "isESM": true,
10874
+ "relativePath": [
10875
+ "dist",
10876
+ "commands",
10877
+ "ticket",
10878
+ "project.js"
10879
+ ]
10880
+ },
10881
+ "ticket:reassign": {
10882
+ "aliases": [],
10883
+ "args": {
10884
+ "ticketId": {
10885
+ "description": "Ticket ID - prompts with dropdown if not provided",
10886
+ "name": "ticketId",
10887
+ "required": false
10888
+ },
10889
+ "assignee": {
10890
+ "description": "Target agent name",
10891
+ "name": "assignee",
10892
+ "required": false
10893
+ }
10894
+ },
10895
+ "description": "Reassign ticket(s) to a different agent",
10896
+ "examples": [
10897
+ "<%= config.bin %> <%= command.id %>",
10898
+ "<%= config.bin %> <%= command.id %> TKT-001 alice",
10899
+ "<%= config.bin %> <%= command.id %> --bulk --to alice",
10900
+ "<%= config.bin %> <%= command.id %> --bulk --from bob --to alice",
10901
+ "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
10902
+ ],
10903
+ "flags": {
10904
+ "project": {
10905
+ "char": "P",
10906
+ "description": "Project ID (uses first project if only one exists)",
10907
+ "name": "project",
10908
+ "hasDynamicHelp": false,
10909
+ "multiple": false,
10910
+ "type": "option"
10911
+ },
10912
+ "json": {
10913
+ "description": "Output as JSON for AI agents/scripts",
10914
+ "name": "json",
10915
+ "allowNo": false,
10916
+ "type": "boolean"
10917
+ },
10918
+ "machine": {
10919
+ "char": "m",
10920
+ "description": "Output as JSON for AI agents/scripts",
10921
+ "name": "machine",
10922
+ "allowNo": false,
10923
+ "type": "boolean"
10924
+ },
10925
+ "to": {
10926
+ "description": "Target agent name (for bulk mode)",
10927
+ "name": "to",
10928
+ "hasDynamicHelp": false,
10929
+ "multiple": false,
10930
+ "type": "option"
10931
+ },
10932
+ "from": {
10933
+ "description": "Filter tickets by current assignee (bulk mode)",
10934
+ "name": "from",
10935
+ "hasDynamicHelp": false,
10936
+ "multiple": false,
10937
+ "type": "option"
10938
+ },
10939
+ "bulk": {
10940
+ "char": "b",
10941
+ "description": "Enable bulk mode to reassign multiple tickets",
10942
+ "name": "bulk",
10943
+ "allowNo": false,
10944
+ "type": "boolean"
10945
+ },
10946
+ "force": {
10947
+ "char": "f",
10948
+ "description": "Skip confirmation prompt",
10949
+ "name": "force",
10950
+ "allowNo": false,
10951
+ "type": "boolean"
10952
+ }
10953
+ },
10954
+ "hasDynamicHelp": false,
10955
+ "hiddenAliases": [],
10956
+ "id": "ticket:reassign",
10957
+ "pluginAlias": "@proletariat/cli",
10958
+ "pluginName": "@proletariat/cli",
10959
+ "pluginType": "core",
10960
+ "strict": true,
10961
+ "isESM": true,
10962
+ "relativePath": [
10963
+ "dist",
10964
+ "commands",
10965
+ "ticket",
10966
+ "reassign.js"
10967
+ ]
10968
+ },
10969
+ "ticket:resolve": {
10970
+ "aliases": [],
10971
+ "args": {
10972
+ "ticketId": {
10973
+ "description": "Ticket ID(s) to resolve - prompts with picker if not provided",
10974
+ "name": "ticketId",
10975
+ "required": false
10976
+ }
10977
+ },
10978
+ "description": "Resolve ambiguity questions on tickets flagged by groom",
10979
+ "examples": [
10980
+ "<%= config.bin %> <%= command.id %> TKT-001",
10981
+ "<%= config.bin %> <%= command.id %> TKT-001 TKT-002",
10982
+ "<%= config.bin %> <%= command.id %> # Interactive picker for needs-clarification tickets"
10983
+ ],
10984
+ "flags": {
10985
+ "project": {
10986
+ "char": "P",
10987
+ "description": "Project ID (uses first project if only one exists)",
10988
+ "name": "project",
10989
+ "hasDynamicHelp": false,
10990
+ "multiple": false,
10991
+ "type": "option"
10992
+ },
10993
+ "json": {
10994
+ "aliases": [
10995
+ "machine"
10996
+ ],
10997
+ "char": "m",
10998
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
10999
+ "name": "json",
11000
+ "allowNo": false,
11001
+ "type": "boolean"
11002
+ },
11003
+ "machine": {
11004
+ "char": "m",
11005
+ "description": "Output as JSON for AI agents/scripts",
11006
+ "name": "machine",
11007
+ "allowNo": false,
11008
+ "type": "boolean"
10915
11009
  }
10916
11010
  },
10917
11011
  "hasDynamicHelp": false,
10918
11012
  "hiddenAliases": [],
10919
- "id": "ticket:list",
11013
+ "id": "ticket:resolve",
10920
11014
  "pluginAlias": "@proletariat/cli",
10921
11015
  "pluginName": "@proletariat/cli",
10922
11016
  "pluginType": "core",
10923
- "strict": true,
10924
- "enableJsonFlag": false,
11017
+ "strict": false,
10925
11018
  "isESM": true,
10926
11019
  "relativePath": [
10927
11020
  "dist",
10928
11021
  "commands",
10929
11022
  "ticket",
10930
- "list.js"
11023
+ "resolve.js"
10931
11024
  ]
10932
11025
  },
10933
- "ticket:move": {
11026
+ "ticket:show": {
10934
11027
  "aliases": [],
10935
11028
  "args": {
10936
11029
  "ticketId": {
10937
- "description": "Ticket ID - prompts with dropdown if not provided",
11030
+ "description": "Ticket ID to view - prompts with dropdown if not provided",
10938
11031
  "name": "ticketId",
10939
11032
  "required": false
10940
- },
10941
- "column": {
10942
- "description": "Target column - prompts with dropdown if not provided",
10943
- "name": "column",
10944
- "required": false
10945
11033
  }
10946
11034
  },
10947
- "description": "Move ticket(s) to a different column",
11035
+ "description": "View detailed ticket information (alias for ticket view)",
10948
11036
  "examples": [
10949
- "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
10950
- "<%= config.bin %> <%= command.id %> implement-auth Done",
10951
- "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
10952
- "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
10953
- "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
10954
- "<%= config.bin %> <%= command.id %> --bulk"
11037
+ "<%= config.bin %> <%= command.id %> TICK-001",
11038
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
10955
11039
  ],
10956
11040
  "flags": {
10957
11041
  "project": {
@@ -10974,60 +11058,24 @@
10974
11058
  "name": "machine",
10975
11059
  "allowNo": false,
10976
11060
  "type": "boolean"
10977
- },
10978
- "status": {
10979
- "char": "s",
10980
- "description": "Target status/column (alternative to positional column argument)",
10981
- "name": "status",
10982
- "hasDynamicHelp": false,
10983
- "multiple": false,
10984
- "type": "option"
10985
- },
10986
- "position": {
10987
- "description": "Position within the column (0 = top)",
10988
- "name": "position",
10989
- "hasDynamicHelp": false,
10990
- "multiple": false,
10991
- "type": "option"
10992
- },
10993
- "to-project": {
10994
- "description": "Move ticket to a different project (uses Backlog/default column)",
10995
- "name": "to-project",
10996
- "hasDynamicHelp": false,
10997
- "multiple": false,
10998
- "type": "option"
10999
- },
11000
- "bulk": {
11001
- "char": "b",
11002
- "description": "Enable bulk mode to move multiple tickets",
11003
- "name": "bulk",
11004
- "allowNo": false,
11005
- "type": "boolean"
11006
- },
11007
- "force": {
11008
- "char": "f",
11009
- "description": "Skip confirmation prompt (bulk mode only)",
11010
- "name": "force",
11011
- "allowNo": false,
11012
- "type": "boolean"
11013
11061
  }
11014
11062
  },
11015
11063
  "hasDynamicHelp": false,
11064
+ "hidden": true,
11016
11065
  "hiddenAliases": [],
11017
- "id": "ticket:move",
11066
+ "id": "ticket:show",
11018
11067
  "pluginAlias": "@proletariat/cli",
11019
11068
  "pluginName": "@proletariat/cli",
11020
11069
  "pluginType": "core",
11021
- "strict": true,
11022
11070
  "isESM": true,
11023
11071
  "relativePath": [
11024
11072
  "dist",
11025
11073
  "commands",
11026
11074
  "ticket",
11027
- "move.js"
11075
+ "show.js"
11028
11076
  ]
11029
11077
  },
11030
- "ticket:project": {
11078
+ "ticket:spec": {
11031
11079
  "aliases": [],
11032
11080
  "args": {
11033
11081
  "ticketId": {
@@ -11035,18 +11083,19 @@
11035
11083
  "name": "ticketId",
11036
11084
  "required": false
11037
11085
  },
11038
- "targetProject": {
11039
- "description": "Target project ID",
11040
- "name": "targetProject",
11086
+ "specId": {
11087
+ "description": "Spec ID to link",
11088
+ "name": "specId",
11041
11089
  "required": false
11042
11090
  }
11043
11091
  },
11044
- "description": "Move ticket(s) to a different project",
11092
+ "description": "Assign a spec to ticket(s)",
11045
11093
  "examples": [
11046
- "<%= config.bin %> <%= command.id %> TKT-001 new-project",
11094
+ "<%= config.bin %> <%= command.id %> TKT-001 SPEC-001",
11047
11095
  "<%= config.bin %> <%= command.id %> TKT-001",
11048
11096
  "<%= config.bin %> <%= command.id %>",
11049
- "<%= config.bin %> <%= command.id %> --bulk --target other-project"
11097
+ "<%= config.bin %> <%= command.id %> TKT-001 --unlink",
11098
+ "<%= config.bin %> <%= command.id %> --bulk --spec SPEC-001"
11050
11099
  ],
11051
11100
  "flags": {
11052
11101
  "project": {
@@ -11070,23 +11119,24 @@
11070
11119
  "allowNo": false,
11071
11120
  "type": "boolean"
11072
11121
  },
11073
- "keep-epic": {
11074
- "description": "Keep ticket assigned to its epic (if epic is in source project, will unlink)",
11075
- "name": "keep-epic",
11122
+ "unlink": {
11123
+ "char": "u",
11124
+ "description": "Remove spec from ticket instead of adding",
11125
+ "name": "unlink",
11076
11126
  "allowNo": false,
11077
11127
  "type": "boolean"
11078
11128
  },
11079
11129
  "bulk": {
11080
11130
  "char": "b",
11081
- "description": "Enable bulk mode to move multiple tickets",
11131
+ "description": "Enable bulk mode to assign spec to multiple tickets",
11082
11132
  "name": "bulk",
11083
11133
  "allowNo": false,
11084
11134
  "type": "boolean"
11085
11135
  },
11086
- "target": {
11087
- "char": "t",
11088
- "description": "Target project ID (for bulk mode)",
11089
- "name": "target",
11136
+ "spec": {
11137
+ "char": "s",
11138
+ "description": "Spec ID to assign (for bulk mode)",
11139
+ "name": "spec",
11090
11140
  "hasDynamicHelp": false,
11091
11141
  "multiple": false,
11092
11142
  "type": "option"
@@ -11094,7 +11144,7 @@
11094
11144
  },
11095
11145
  "hasDynamicHelp": false,
11096
11146
  "hiddenAliases": [],
11097
- "id": "ticket:project",
11147
+ "id": "ticket:spec",
11098
11148
  "pluginAlias": "@proletariat/cli",
11099
11149
  "pluginName": "@proletariat/cli",
11100
11150
  "pluginType": "core",
@@ -11104,30 +11154,22 @@
11104
11154
  "dist",
11105
11155
  "commands",
11106
11156
  "ticket",
11107
- "project.js"
11157
+ "spec.js"
11108
11158
  ]
11109
11159
  },
11110
- "ticket:reassign": {
11160
+ "ticket:status": {
11111
11161
  "aliases": [],
11112
11162
  "args": {
11113
11163
  "ticketId": {
11114
11164
  "description": "Ticket ID - prompts with dropdown if not provided",
11115
11165
  "name": "ticketId",
11116
11166
  "required": false
11117
- },
11118
- "assignee": {
11119
- "description": "Target agent name",
11120
- "name": "assignee",
11121
- "required": false
11122
11167
  }
11123
11168
  },
11124
- "description": "Reassign ticket(s) to a different agent",
11169
+ "description": "Show ticket status and details",
11125
11170
  "examples": [
11126
11171
  "<%= config.bin %> <%= command.id %>",
11127
- "<%= config.bin %> <%= command.id %> TKT-001 alice",
11128
- "<%= config.bin %> <%= command.id %> --bulk --to alice",
11129
- "<%= config.bin %> <%= command.id %> --bulk --from bob --to alice",
11130
- "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
11172
+ "<%= config.bin %> <%= command.id %> TICK-001"
11131
11173
  ],
11132
11174
  "flags": {
11133
11175
  "project": {
@@ -11150,39 +11192,11 @@
11150
11192
  "name": "machine",
11151
11193
  "allowNo": false,
11152
11194
  "type": "boolean"
11153
- },
11154
- "to": {
11155
- "description": "Target agent name (for bulk mode)",
11156
- "name": "to",
11157
- "hasDynamicHelp": false,
11158
- "multiple": false,
11159
- "type": "option"
11160
- },
11161
- "from": {
11162
- "description": "Filter tickets by current assignee (bulk mode)",
11163
- "name": "from",
11164
- "hasDynamicHelp": false,
11165
- "multiple": false,
11166
- "type": "option"
11167
- },
11168
- "bulk": {
11169
- "char": "b",
11170
- "description": "Enable bulk mode to reassign multiple tickets",
11171
- "name": "bulk",
11172
- "allowNo": false,
11173
- "type": "boolean"
11174
- },
11175
- "force": {
11176
- "char": "f",
11177
- "description": "Skip confirmation prompt",
11178
- "name": "force",
11179
- "allowNo": false,
11180
- "type": "boolean"
11181
11195
  }
11182
11196
  },
11183
11197
  "hasDynamicHelp": false,
11184
11198
  "hiddenAliases": [],
11185
- "id": "ticket:reassign",
11199
+ "id": "ticket:status",
11186
11200
  "pluginAlias": "@proletariat/cli",
11187
11201
  "pluginName": "@proletariat/cli",
11188
11202
  "pluginType": "core",
@@ -11192,23 +11206,29 @@
11192
11206
  "dist",
11193
11207
  "commands",
11194
11208
  "ticket",
11195
- "reassign.js"
11209
+ "status.js"
11196
11210
  ]
11197
11211
  },
11198
- "ticket:resolve": {
11212
+ "ticket:update": {
11199
11213
  "aliases": [],
11200
11214
  "args": {
11201
11215
  "ticketId": {
11202
- "description": "Ticket ID(s) to resolve - prompts with picker if not provided",
11216
+ "description": "Ticket ID - prompts with dropdown if not provided",
11203
11217
  "name": "ticketId",
11204
11218
  "required": false
11205
11219
  }
11206
11220
  },
11207
- "description": "Resolve ambiguity questions on tickets flagged by groom",
11221
+ "description": "Update ticket fields (title, description, priority, category, labels, status)",
11208
11222
  "examples": [
11209
- "<%= config.bin %> <%= command.id %> TKT-001",
11210
- "<%= config.bin %> <%= command.id %> TKT-001 TKT-002",
11211
- "<%= config.bin %> <%= command.id %> # Interactive picker for needs-clarification tickets"
11223
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
11224
+ "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
11225
+ "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
11226
+ "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
11227
+ "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
11228
+ "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
11229
+ "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
11230
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
11231
+ "<%= config.bin %> <%= command.id %> --bulk --priority P1"
11212
11232
  ],
11213
11233
  "flags": {
11214
11234
  "project": {
@@ -11220,11 +11240,7 @@
11220
11240
  "type": "option"
11221
11241
  },
11222
11242
  "json": {
11223
- "aliases": [
11224
- "machine"
11225
- ],
11226
- "char": "m",
11227
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
11243
+ "description": "Output as JSON for AI agents/scripts",
11228
11244
  "name": "json",
11229
11245
  "allowNo": false,
11230
11246
  "type": "boolean"
@@ -11235,24 +11251,93 @@
11235
11251
  "name": "machine",
11236
11252
  "allowNo": false,
11237
11253
  "type": "boolean"
11254
+ },
11255
+ "title": {
11256
+ "char": "t",
11257
+ "description": "Set ticket title",
11258
+ "name": "title",
11259
+ "hasDynamicHelp": false,
11260
+ "multiple": false,
11261
+ "type": "option"
11262
+ },
11263
+ "description": {
11264
+ "char": "d",
11265
+ "description": "Set ticket description",
11266
+ "name": "description",
11267
+ "hasDynamicHelp": false,
11268
+ "multiple": false,
11269
+ "type": "option"
11270
+ },
11271
+ "description-file": {
11272
+ "description": "Read ticket description from a file",
11273
+ "name": "description-file",
11274
+ "hasDynamicHelp": false,
11275
+ "multiple": false,
11276
+ "type": "option"
11277
+ },
11278
+ "priority": {
11279
+ "char": "p",
11280
+ "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
11281
+ "name": "priority",
11282
+ "hasDynamicHelp": false,
11283
+ "multiple": false,
11284
+ "type": "option"
11285
+ },
11286
+ "category": {
11287
+ "char": "c",
11288
+ "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
11289
+ "name": "category",
11290
+ "hasDynamicHelp": false,
11291
+ "multiple": false,
11292
+ "type": "option"
11293
+ },
11294
+ "labels": {
11295
+ "char": "l",
11296
+ "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
11297
+ "name": "labels",
11298
+ "hasDynamicHelp": false,
11299
+ "multiple": false,
11300
+ "type": "option"
11301
+ },
11302
+ "status": {
11303
+ "char": "s",
11304
+ "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
11305
+ "name": "status",
11306
+ "hasDynamicHelp": false,
11307
+ "multiple": false,
11308
+ "type": "option"
11309
+ },
11310
+ "bulk": {
11311
+ "char": "b",
11312
+ "description": "Enable bulk mode to update multiple tickets",
11313
+ "name": "bulk",
11314
+ "allowNo": false,
11315
+ "type": "boolean"
11316
+ },
11317
+ "force": {
11318
+ "char": "f",
11319
+ "description": "Skip confirmation prompt",
11320
+ "name": "force",
11321
+ "allowNo": false,
11322
+ "type": "boolean"
11238
11323
  }
11239
11324
  },
11240
11325
  "hasDynamicHelp": false,
11241
11326
  "hiddenAliases": [],
11242
- "id": "ticket:resolve",
11327
+ "id": "ticket:update",
11243
11328
  "pluginAlias": "@proletariat/cli",
11244
11329
  "pluginName": "@proletariat/cli",
11245
11330
  "pluginType": "core",
11246
- "strict": false,
11331
+ "strict": true,
11247
11332
  "isESM": true,
11248
11333
  "relativePath": [
11249
11334
  "dist",
11250
11335
  "commands",
11251
11336
  "ticket",
11252
- "resolve.js"
11337
+ "update.js"
11253
11338
  ]
11254
11339
  },
11255
- "ticket:show": {
11340
+ "ticket:view": {
11256
11341
  "aliases": [],
11257
11342
  "args": {
11258
11343
  "ticketId": {
@@ -11261,7 +11346,7 @@
11261
11346
  "required": false
11262
11347
  }
11263
11348
  },
11264
- "description": "View detailed ticket information (alias for ticket view)",
11349
+ "description": "View detailed ticket information",
11265
11350
  "examples": [
11266
11351
  "<%= config.bin %> <%= command.id %> TICK-001",
11267
11352
  "<%= config.bin %> <%= command.id %> # Interactive mode"
@@ -11290,41 +11375,31 @@
11290
11375
  }
11291
11376
  },
11292
11377
  "hasDynamicHelp": false,
11293
- "hidden": true,
11294
11378
  "hiddenAliases": [],
11295
- "id": "ticket:show",
11379
+ "id": "ticket:view",
11296
11380
  "pluginAlias": "@proletariat/cli",
11297
11381
  "pluginName": "@proletariat/cli",
11298
11382
  "pluginType": "core",
11383
+ "strict": true,
11299
11384
  "isESM": true,
11300
11385
  "relativePath": [
11301
11386
  "dist",
11302
11387
  "commands",
11303
11388
  "ticket",
11304
- "show.js"
11389
+ "view.js"
11305
11390
  ]
11306
11391
  },
11307
- "ticket:spec": {
11392
+ "trello:configure": {
11308
11393
  "aliases": [],
11309
- "args": {
11310
- "ticketId": {
11311
- "description": "Ticket ID",
11312
- "name": "ticketId",
11313
- "required": false
11314
- },
11315
- "specId": {
11316
- "description": "Spec ID to link",
11317
- "name": "specId",
11318
- "required": false
11319
- }
11320
- },
11321
- "description": "Assign a spec to ticket(s)",
11394
+ "args": {},
11395
+ "description": "Connect to Trello and configure authentication",
11322
11396
  "examples": [
11323
- "<%= config.bin %> <%= command.id %> TKT-001 SPEC-001",
11324
- "<%= config.bin %> <%= command.id %> TKT-001",
11325
11397
  "<%= config.bin %> <%= command.id %>",
11326
- "<%= config.bin %> <%= command.id %> TKT-001 --unlink",
11327
- "<%= config.bin %> <%= command.id %> --bulk --spec SPEC-001"
11398
+ "<%= config.bin %> <%= command.id %> --check",
11399
+ "<%= config.bin %> <%= command.id %> --force",
11400
+ "<%= config.bin %> <%= command.id %> --disconnect",
11401
+ "TRELLO_API_KEY=... TRELLO_API_TOKEN=... <%= config.bin %> <%= command.id %>",
11402
+ "<%= config.bin %> <%= command.id %> --json"
11328
11403
  ],
11329
11404
  "flags": {
11330
11405
  "project": {
@@ -11348,24 +11423,27 @@
11348
11423
  "allowNo": false,
11349
11424
  "type": "boolean"
11350
11425
  },
11351
- "unlink": {
11352
- "char": "u",
11353
- "description": "Remove spec from ticket instead of adding",
11354
- "name": "unlink",
11426
+ "check": {
11427
+ "description": "Only check if Trello credentials are valid (do not prompt)",
11428
+ "name": "check",
11355
11429
  "allowNo": false,
11356
11430
  "type": "boolean"
11357
11431
  },
11358
- "bulk": {
11359
- "char": "b",
11360
- "description": "Enable bulk mode to assign spec to multiple tickets",
11361
- "name": "bulk",
11432
+ "force": {
11433
+ "description": "Force re-authentication even if credentials exist",
11434
+ "name": "force",
11362
11435
  "allowNo": false,
11363
11436
  "type": "boolean"
11364
11437
  },
11365
- "spec": {
11366
- "char": "s",
11367
- "description": "Spec ID to assign (for bulk mode)",
11368
- "name": "spec",
11438
+ "disconnect": {
11439
+ "description": "Remove stored Trello credentials and configuration",
11440
+ "name": "disconnect",
11441
+ "allowNo": false,
11442
+ "type": "boolean"
11443
+ },
11444
+ "board": {
11445
+ "description": "Default board ID or name",
11446
+ "name": "board",
11369
11447
  "hasDynamicHelp": false,
11370
11448
  "multiple": false,
11371
11449
  "type": "option"
@@ -11373,7 +11451,7 @@
11373
11451
  },
11374
11452
  "hasDynamicHelp": false,
11375
11453
  "hiddenAliases": [],
11376
- "id": "ticket:spec",
11454
+ "id": "trello:configure",
11377
11455
  "pluginAlias": "@proletariat/cli",
11378
11456
  "pluginName": "@proletariat/cli",
11379
11457
  "pluginType": "core",
@@ -11382,23 +11460,20 @@
11382
11460
  "relativePath": [
11383
11461
  "dist",
11384
11462
  "commands",
11385
- "ticket",
11386
- "spec.js"
11463
+ "trello",
11464
+ "configure.js"
11387
11465
  ]
11388
11466
  },
11389
- "ticket:status": {
11467
+ "trello:import": {
11390
11468
  "aliases": [],
11391
- "args": {
11392
- "ticketId": {
11393
- "description": "Ticket ID - prompts with dropdown if not provided",
11394
- "name": "ticketId",
11395
- "required": false
11396
- }
11397
- },
11398
- "description": "Show ticket status and details",
11469
+ "args": {},
11470
+ "description": "Import Trello cards into PMO as tickets",
11399
11471
  "examples": [
11400
- "<%= config.bin %> <%= command.id %>",
11401
- "<%= config.bin %> <%= command.id %> TICK-001"
11472
+ "<%= config.bin %> <%= command.id %> # Interactive: select cards from board",
11473
+ "<%= config.bin %> <%= command.id %> --limit 50 # Import up to 50 cards",
11474
+ "<%= config.bin %> <%= command.id %> --all # Import all matching cards",
11475
+ "<%= config.bin %> <%= command.id %> --dry-run # Preview what would be imported",
11476
+ "<%= config.bin %> <%= command.id %> --json # JSON output for scripting"
11402
11477
  ],
11403
11478
  "flags": {
11404
11479
  "project": {
@@ -11421,11 +11496,33 @@
11421
11496
  "name": "machine",
11422
11497
  "allowNo": false,
11423
11498
  "type": "boolean"
11499
+ },
11500
+ "limit": {
11501
+ "char": "n",
11502
+ "description": "Maximum number of cards to import",
11503
+ "name": "limit",
11504
+ "default": 50,
11505
+ "hasDynamicHelp": false,
11506
+ "multiple": false,
11507
+ "type": "option"
11508
+ },
11509
+ "all": {
11510
+ "char": "a",
11511
+ "description": "Import all matching cards without interactive selection",
11512
+ "name": "all",
11513
+ "allowNo": false,
11514
+ "type": "boolean"
11515
+ },
11516
+ "dry-run": {
11517
+ "description": "Preview cards that would be imported without creating tickets",
11518
+ "name": "dry-run",
11519
+ "allowNo": false,
11520
+ "type": "boolean"
11424
11521
  }
11425
11522
  },
11426
11523
  "hasDynamicHelp": false,
11427
11524
  "hiddenAliases": [],
11428
- "id": "ticket:status",
11525
+ "id": "trello:import",
11429
11526
  "pluginAlias": "@proletariat/cli",
11430
11527
  "pluginName": "@proletariat/cli",
11431
11528
  "pluginType": "core",
@@ -11434,30 +11531,18 @@
11434
11531
  "relativePath": [
11435
11532
  "dist",
11436
11533
  "commands",
11437
- "ticket",
11438
- "status.js"
11534
+ "trello",
11535
+ "import.js"
11439
11536
  ]
11440
11537
  },
11441
- "ticket:update": {
11538
+ "trello:sync": {
11442
11539
  "aliases": [],
11443
- "args": {
11444
- "ticketId": {
11445
- "description": "Ticket ID - prompts with dropdown if not provided",
11446
- "name": "ticketId",
11447
- "required": false
11448
- }
11449
- },
11450
- "description": "Update ticket fields (title, description, priority, category, labels, status)",
11540
+ "args": {},
11541
+ "description": "Sync PMO tickets to Trello cards",
11451
11542
  "examples": [
11452
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
11453
- "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
11454
- "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
11455
- "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
11456
- "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
11457
- "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
11458
- "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
11459
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
11460
- "<%= config.bin %> <%= command.id %> --bulk --priority P1"
11543
+ "<%= config.bin %> <%= command.id %> --ticket TKT-001 --card abc123",
11544
+ "<%= config.bin %> <%= command.id %> --ticket TKT-001 --create-missing",
11545
+ "<%= config.bin %> <%= command.id %> --dry-run"
11461
11546
  ],
11462
11547
  "flags": {
11463
11548
  "project": {
@@ -11481,79 +11566,43 @@
11481
11566
  "allowNo": false,
11482
11567
  "type": "boolean"
11483
11568
  },
11484
- "title": {
11485
- "char": "t",
11486
- "description": "Set ticket title",
11487
- "name": "title",
11488
- "hasDynamicHelp": false,
11489
- "multiple": false,
11490
- "type": "option"
11491
- },
11492
- "description": {
11493
- "char": "d",
11494
- "description": "Set ticket description",
11495
- "name": "description",
11496
- "hasDynamicHelp": false,
11497
- "multiple": false,
11498
- "type": "option"
11499
- },
11500
- "description-file": {
11501
- "description": "Read ticket description from a file",
11502
- "name": "description-file",
11503
- "hasDynamicHelp": false,
11504
- "multiple": false,
11505
- "type": "option"
11506
- },
11507
- "priority": {
11508
- "char": "p",
11509
- "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
11510
- "name": "priority",
11511
- "hasDynamicHelp": false,
11512
- "multiple": false,
11513
- "type": "option"
11514
- },
11515
- "category": {
11516
- "char": "c",
11517
- "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
11518
- "name": "category",
11569
+ "ticket": {
11570
+ "description": "PMO ticket ID to sync (syncs all mapped tickets if omitted)",
11571
+ "name": "ticket",
11519
11572
  "hasDynamicHelp": false,
11520
11573
  "multiple": false,
11521
11574
  "type": "option"
11522
11575
  },
11523
- "labels": {
11524
- "char": "l",
11525
- "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
11526
- "name": "labels",
11576
+ "card": {
11577
+ "description": "Trello card ID to map to --ticket",
11578
+ "name": "card",
11527
11579
  "hasDynamicHelp": false,
11528
11580
  "multiple": false,
11529
11581
  "type": "option"
11530
11582
  },
11531
- "status": {
11532
- "char": "s",
11533
- "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
11534
- "name": "status",
11583
+ "list": {
11584
+ "description": "Trello list ID used with --create-missing",
11585
+ "name": "list",
11535
11586
  "hasDynamicHelp": false,
11536
11587
  "multiple": false,
11537
11588
  "type": "option"
11538
11589
  },
11539
- "bulk": {
11540
- "char": "b",
11541
- "description": "Enable bulk mode to update multiple tickets",
11542
- "name": "bulk",
11590
+ "create-missing": {
11591
+ "description": "Create Trello card when no mapping exists (requires list)",
11592
+ "name": "create-missing",
11543
11593
  "allowNo": false,
11544
11594
  "type": "boolean"
11545
11595
  },
11546
- "force": {
11547
- "char": "f",
11548
- "description": "Skip confirmation prompt",
11549
- "name": "force",
11596
+ "dry-run": {
11597
+ "description": "Preview sync operations without making changes",
11598
+ "name": "dry-run",
11550
11599
  "allowNo": false,
11551
11600
  "type": "boolean"
11552
11601
  }
11553
11602
  },
11554
11603
  "hasDynamicHelp": false,
11555
11604
  "hiddenAliases": [],
11556
- "id": "ticket:update",
11605
+ "id": "trello:sync",
11557
11606
  "pluginAlias": "@proletariat/cli",
11558
11607
  "pluginName": "@proletariat/cli",
11559
11608
  "pluginType": "core",
@@ -11562,33 +11611,32 @@
11562
11611
  "relativePath": [
11563
11612
  "dist",
11564
11613
  "commands",
11565
- "ticket",
11566
- "update.js"
11614
+ "trello",
11615
+ "sync.js"
11567
11616
  ]
11568
11617
  },
11569
- "ticket:view": {
11618
+ "version:bump": {
11570
11619
  "aliases": [],
11571
11620
  "args": {
11572
- "ticketId": {
11573
- "description": "Ticket ID to view - prompts with dropdown if not provided",
11574
- "name": "ticketId",
11575
- "required": false
11621
+ "type": {
11622
+ "description": "Version bump type",
11623
+ "name": "type",
11624
+ "options": [
11625
+ "major",
11626
+ "minor",
11627
+ "patch"
11628
+ ],
11629
+ "required": true
11576
11630
  }
11577
11631
  },
11578
- "description": "View detailed ticket information",
11632
+ "description": "Bump the CLI version (major, minor, or patch), commit, push, and create a PR",
11579
11633
  "examples": [
11580
- "<%= config.bin %> <%= command.id %> TICK-001",
11581
- "<%= config.bin %> <%= command.id %> # Interactive mode"
11634
+ "<%= config.bin %> version bump patch",
11635
+ "<%= config.bin %> version bump minor",
11636
+ "<%= config.bin %> version bump major",
11637
+ "<%= config.bin %> version bump patch --json"
11582
11638
  ],
11583
11639
  "flags": {
11584
- "project": {
11585
- "char": "P",
11586
- "description": "Project ID (uses first project if only one exists)",
11587
- "name": "project",
11588
- "hasDynamicHelp": false,
11589
- "multiple": false,
11590
- "type": "option"
11591
- },
11592
11640
  "json": {
11593
11641
  "description": "Output as JSON for AI agents/scripts",
11594
11642
  "name": "json",
@@ -11605,17 +11653,18 @@
11605
11653
  },
11606
11654
  "hasDynamicHelp": false,
11607
11655
  "hiddenAliases": [],
11608
- "id": "ticket:view",
11656
+ "id": "version:bump",
11609
11657
  "pluginAlias": "@proletariat/cli",
11610
11658
  "pluginName": "@proletariat/cli",
11611
11659
  "pluginType": "core",
11612
11660
  "strict": true,
11661
+ "enableJsonFlag": false,
11613
11662
  "isESM": true,
11614
11663
  "relativePath": [
11615
11664
  "dist",
11616
11665
  "commands",
11617
- "ticket",
11618
- "view.js"
11666
+ "version",
11667
+ "bump.js"
11619
11668
  ]
11620
11669
  },
11621
11670
  "workspace:add": {
@@ -15021,5 +15070,5 @@
15021
15070
  ]
15022
15071
  }
15023
15072
  },
15024
- "version": "0.3.87"
15073
+ "version": "0.3.88"
15025
15074
  }