@proletariat/cli 0.3.10 → 0.3.12

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 (152) hide show
  1. package/README.md +149 -192
  2. package/bin/dev.js +0 -0
  3. package/dist/commands/action/index.js +1 -1
  4. package/dist/commands/action/run.js +8 -12
  5. package/dist/commands/agent/auth.d.ts +30 -0
  6. package/dist/commands/agent/auth.js +172 -0
  7. package/dist/commands/agent/discover.d.ts +9 -0
  8. package/dist/commands/agent/discover.js +67 -0
  9. package/dist/commands/agent/index.js +47 -12
  10. package/dist/commands/agent/list.d.ts +4 -1
  11. package/dist/commands/agent/list.js +78 -16
  12. package/dist/commands/agent/login.js +35 -31
  13. package/dist/commands/agent/restart.js +2 -0
  14. package/dist/commands/agent/shell.js +78 -19
  15. package/dist/commands/agent/staff/add.js +1 -12
  16. package/dist/commands/agent/staff/remove.js +9 -7
  17. package/dist/commands/agent/status.js +17 -4
  18. package/dist/commands/agent/temp/cleanup.js +7 -3
  19. package/dist/commands/agent/themes/index.js +4 -5
  20. package/dist/commands/agent/themes/list.js +5 -5
  21. package/dist/commands/agent/visit.js +17 -4
  22. package/dist/commands/branch/create.d.ts +4 -0
  23. package/dist/commands/branch/create.js +16 -8
  24. package/dist/commands/branch/index.js +1 -1
  25. package/dist/commands/branch/where.js +1 -0
  26. package/dist/commands/claude.d.ts +38 -0
  27. package/dist/commands/claude.js +899 -0
  28. package/dist/commands/commit.js +1 -1
  29. package/dist/commands/config/index.d.ts +12 -0
  30. package/dist/commands/config/index.js +271 -0
  31. package/dist/commands/docker/clean.js +2 -2
  32. package/dist/commands/docker/index.js +2 -2
  33. package/dist/commands/docker/list.js +3 -8
  34. package/dist/commands/docker/logs.js +2 -2
  35. package/dist/commands/docker/prune.js +1 -1
  36. package/dist/commands/docker/restart.js +2 -2
  37. package/dist/commands/docker/shell.js +2 -2
  38. package/dist/commands/docker/start.js +2 -2
  39. package/dist/commands/docker/status.js +1 -1
  40. package/dist/commands/docker/stop.js +2 -2
  41. package/dist/commands/docker/sync.js +2 -2
  42. package/dist/commands/epic/index.js +1 -1
  43. package/dist/commands/epic/link/index.js +25 -14
  44. package/dist/commands/epic/link/remove.js +2 -0
  45. package/dist/commands/epic/list.js +5 -5
  46. package/dist/commands/epic/progress.js +10 -4
  47. package/dist/commands/epic/spec.js +2 -0
  48. package/dist/commands/epic/ticket.js +3 -0
  49. package/dist/commands/execution/stop.js +1 -0
  50. package/dist/commands/init.js +4 -4
  51. package/dist/commands/project/index.js +1 -1
  52. package/dist/commands/project/spec.js +7 -0
  53. package/dist/commands/repo/add.js +1 -0
  54. package/dist/commands/repo/remove.js +1 -0
  55. package/dist/commands/roadmap/add-project.d.ts +18 -0
  56. package/dist/commands/roadmap/add-project.js +135 -0
  57. package/dist/commands/roadmap/create.d.ts +22 -0
  58. package/dist/commands/roadmap/create.js +156 -0
  59. package/dist/commands/roadmap/delete.d.ts +17 -0
  60. package/dist/commands/roadmap/delete.js +104 -0
  61. package/dist/commands/roadmap/generate.d.ts +22 -0
  62. package/dist/commands/roadmap/generate.js +201 -0
  63. package/dist/commands/roadmap/index.d.ts +13 -0
  64. package/dist/commands/roadmap/index.js +61 -0
  65. package/dist/commands/roadmap/list.d.ts +12 -0
  66. package/dist/commands/roadmap/list.js +42 -0
  67. package/dist/commands/roadmap/remove-project.d.ts +18 -0
  68. package/dist/commands/roadmap/remove-project.js +147 -0
  69. package/dist/commands/roadmap/reorder.d.ts +17 -0
  70. package/dist/commands/roadmap/reorder.js +157 -0
  71. package/dist/commands/roadmap/update.d.ts +19 -0
  72. package/dist/commands/roadmap/update.js +136 -0
  73. package/dist/commands/roadmap/view.d.ts +16 -0
  74. package/dist/commands/roadmap/view.js +103 -0
  75. package/dist/commands/spec/index.js +1 -1
  76. package/dist/commands/spec/link/index.js +24 -13
  77. package/dist/commands/spec/link/remove.js +2 -0
  78. package/dist/commands/status/index.js +1 -1
  79. package/dist/commands/status/list.js +0 -8
  80. package/dist/commands/template/delete.js +2 -0
  81. package/dist/commands/terminal/title.d.ts +12 -0
  82. package/dist/commands/terminal/title.js +48 -0
  83. package/dist/commands/ticket/complete.js +2 -0
  84. package/dist/commands/ticket/create.js +4 -2
  85. package/dist/commands/ticket/delete.js +2 -0
  86. package/dist/commands/ticket/edit.js +8 -2
  87. package/dist/commands/ticket/link/index.js +17 -3
  88. package/dist/commands/ticket/link/remove.js +2 -0
  89. package/dist/commands/ticket/list.js +1 -2
  90. package/dist/commands/ticket/move.js +2 -0
  91. package/dist/commands/ticket/project.js +3 -1
  92. package/dist/commands/ticket/reassign.js +2 -0
  93. package/dist/commands/ticket/spec.js +4 -2
  94. package/dist/commands/ticket/template/apply.js +4 -3
  95. package/dist/commands/ticket/template/create.js +2 -0
  96. package/dist/commands/ticket/template/index.js +1 -1
  97. package/dist/commands/ticket/update.js +2 -0
  98. package/dist/commands/work/index.js +1 -1
  99. package/dist/commands/work/revise.js +7 -1
  100. package/dist/commands/work/spawn.d.ts +2 -1
  101. package/dist/commands/work/spawn.js +131 -36
  102. package/dist/commands/work/start.d.ts +2 -1
  103. package/dist/commands/work/start.js +349 -69
  104. package/dist/commands/work/watch.js +10 -2
  105. package/dist/commands/workflow/create.js +3 -3
  106. package/dist/commands/workflow/switch.js +2 -1
  107. package/dist/commands/workspace/remove.js +0 -8
  108. package/dist/commands/workspace/use.js +1 -9
  109. package/dist/lib/agents/commands.js +18 -13
  110. package/dist/lib/database/index.d.ts +19 -12
  111. package/dist/lib/database/index.js +158 -42
  112. package/dist/lib/docker/resolve.js +1 -1
  113. package/dist/lib/execution/config.d.ts +6 -0
  114. package/dist/lib/execution/config.js +15 -2
  115. package/dist/lib/execution/devcontainer.d.ts +2 -0
  116. package/dist/lib/execution/devcontainer.js +41 -9
  117. package/dist/lib/execution/runners.d.ts +85 -3
  118. package/dist/lib/execution/runners.js +925 -228
  119. package/dist/lib/execution/spawner.d.ts +2 -2
  120. package/dist/lib/execution/spawner.js +4 -3
  121. package/dist/lib/execution/storage.d.ts +2 -1
  122. package/dist/lib/execution/storage.js +9 -13
  123. package/dist/lib/execution/types.d.ts +10 -1
  124. package/dist/lib/execution/types.js +3 -1
  125. package/dist/lib/init/index.js +1 -0
  126. package/dist/lib/machine-config.js +1 -1
  127. package/dist/lib/pmo/base-command.js +5 -9
  128. package/dist/lib/pmo/index.js +2 -0
  129. package/dist/lib/pmo/schema.d.ts +6 -0
  130. package/dist/lib/pmo/schema.js +36 -0
  131. package/dist/lib/pmo/storage/base.js +3 -3
  132. package/dist/lib/pmo/storage/index.d.ts +16 -1
  133. package/dist/lib/pmo/storage/index.js +45 -0
  134. package/dist/lib/pmo/storage/roadmaps.d.ts +62 -0
  135. package/dist/lib/pmo/storage/roadmaps.js +301 -0
  136. package/dist/lib/pmo/storage/specs.js +2 -0
  137. package/dist/lib/pmo/storage/types.d.ts +14 -0
  138. package/dist/lib/pmo/sync-manager.d.ts +1 -1
  139. package/dist/lib/pmo/sync-manager.js +1 -1
  140. package/dist/lib/pmo/types.d.ts +41 -0
  141. package/dist/lib/pmo/utils.d.ts +2 -0
  142. package/dist/lib/pmo/utils.js +22 -1
  143. package/dist/lib/repos/index.js +7 -1
  144. package/dist/lib/terminal.d.ts +31 -0
  145. package/dist/lib/terminal.js +48 -0
  146. package/dist/lib/themes.d.ts +21 -3
  147. package/dist/lib/themes.js +80 -23
  148. package/dist/lib/workspace-config.d.ts +80 -0
  149. package/dist/lib/workspace-config.js +100 -0
  150. package/oclif.manifest.json +2236 -1396
  151. package/package.json +10 -6
  152. package/LICENSE +0 -21
@@ -1,5 +1,113 @@
1
1
  {
2
2
  "commands": {
3
+ "claude": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Quick launch Claude Code for ad-hoc sessions (works anywhere)",
7
+ "examples": [
8
+ "<%= config.bin %> <%= command.id %>",
9
+ "<%= config.bin %> <%= command.id %> --slug debug-auth --permission-mode danger",
10
+ "<%= config.bin %> <%= command.id %> --environment devcontainer --display-mode background",
11
+ "<%= config.bin %> <%= command.id %> --prompt \"help me debug this function\""
12
+ ],
13
+ "flags": {
14
+ "json": {
15
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
16
+ "name": "json",
17
+ "allowNo": false,
18
+ "type": "boolean"
19
+ },
20
+ "slug": {
21
+ "char": "s",
22
+ "description": "Session name for pane/tab title",
23
+ "name": "slug",
24
+ "hasDynamicHelp": false,
25
+ "multiple": false,
26
+ "type": "option"
27
+ },
28
+ "permission-mode": {
29
+ "char": "p",
30
+ "description": "Permission mode (danger: skip prompts, safe: require approval)",
31
+ "name": "permission-mode",
32
+ "hasDynamicHelp": false,
33
+ "multiple": false,
34
+ "options": [
35
+ "danger",
36
+ "safe"
37
+ ],
38
+ "type": "option"
39
+ },
40
+ "environment": {
41
+ "char": "e",
42
+ "description": "Where to run (devcontainer or host)",
43
+ "name": "environment",
44
+ "hasDynamicHelp": false,
45
+ "multiple": false,
46
+ "options": [
47
+ "devcontainer",
48
+ "host"
49
+ ],
50
+ "type": "option"
51
+ },
52
+ "display-mode": {
53
+ "char": "d",
54
+ "description": "How to display output",
55
+ "name": "display-mode",
56
+ "hasDynamicHelp": false,
57
+ "multiple": false,
58
+ "options": [
59
+ "terminal",
60
+ "background",
61
+ "foreground"
62
+ ],
63
+ "type": "option"
64
+ },
65
+ "prompt": {
66
+ "description": "Initial task/prompt for Claude",
67
+ "name": "prompt",
68
+ "hasDynamicHelp": false,
69
+ "multiple": false,
70
+ "type": "option"
71
+ },
72
+ "directory": {
73
+ "description": "Directory to run in (default: cwd)",
74
+ "name": "directory",
75
+ "hasDynamicHelp": false,
76
+ "multiple": false,
77
+ "type": "option"
78
+ },
79
+ "project": {
80
+ "char": "P",
81
+ "description": "Project for adhoc ticket (inside HQ only)",
82
+ "name": "project",
83
+ "hasDynamicHelp": false,
84
+ "multiple": false,
85
+ "type": "option"
86
+ },
87
+ "title": {
88
+ "char": "t",
89
+ "description": "Ticket title (inside HQ only)",
90
+ "name": "title",
91
+ "hasDynamicHelp": false,
92
+ "multiple": false,
93
+ "type": "option"
94
+ }
95
+ },
96
+ "hasDynamicHelp": false,
97
+ "hiddenAliases": [],
98
+ "id": "claude",
99
+ "pluginAlias": "@proletariat/cli",
100
+ "pluginName": "@proletariat/cli",
101
+ "pluginType": "core",
102
+ "strict": true,
103
+ "enableJsonFlag": false,
104
+ "isESM": true,
105
+ "relativePath": [
106
+ "dist",
107
+ "commands",
108
+ "claude.js"
109
+ ]
110
+ },
3
111
  "commit": {
4
112
  "aliases": [],
5
113
  "args": {
@@ -680,6 +788,77 @@
680
788
  "update.js"
681
789
  ]
682
790
  },
791
+ "agent:auth": {
792
+ "aliases": [],
793
+ "args": {},
794
+ "description": "Set up Claude Code authentication for Docker containers (one-time setup)",
795
+ "examples": [
796
+ "<%= config.bin %> <%= command.id %>",
797
+ "<%= config.bin %> <%= command.id %> --check",
798
+ "<%= config.bin %> <%= command.id %> --force"
799
+ ],
800
+ "flags": {
801
+ "check": {
802
+ "description": "Only check if credentials exist (do not prompt for login)",
803
+ "name": "check",
804
+ "allowNo": false,
805
+ "type": "boolean"
806
+ },
807
+ "force": {
808
+ "description": "Force re-authentication even if credentials exist",
809
+ "name": "force",
810
+ "allowNo": false,
811
+ "type": "boolean"
812
+ }
813
+ },
814
+ "hasDynamicHelp": false,
815
+ "hiddenAliases": [],
816
+ "id": "agent:auth",
817
+ "pluginAlias": "@proletariat/cli",
818
+ "pluginName": "@proletariat/cli",
819
+ "pluginType": "core",
820
+ "strict": true,
821
+ "enableJsonFlag": false,
822
+ "isESM": true,
823
+ "relativePath": [
824
+ "dist",
825
+ "commands",
826
+ "agent",
827
+ "auth.js"
828
+ ]
829
+ },
830
+ "agent:discover": {
831
+ "aliases": [],
832
+ "args": {},
833
+ "description": "Discover agents on disk that are not registered in the database",
834
+ "examples": [
835
+ "<%= config.bin %> <%= command.id %>",
836
+ "<%= config.bin %> <%= command.id %> --dry-run"
837
+ ],
838
+ "flags": {
839
+ "dry-run": {
840
+ "description": "Show what would be discovered without making changes",
841
+ "name": "dry-run",
842
+ "allowNo": false,
843
+ "type": "boolean"
844
+ }
845
+ },
846
+ "hasDynamicHelp": false,
847
+ "hiddenAliases": [],
848
+ "id": "agent:discover",
849
+ "pluginAlias": "@proletariat/cli",
850
+ "pluginName": "@proletariat/cli",
851
+ "pluginType": "core",
852
+ "strict": true,
853
+ "enableJsonFlag": false,
854
+ "isESM": true,
855
+ "relativePath": [
856
+ "dist",
857
+ "commands",
858
+ "agent",
859
+ "discover.js"
860
+ ]
861
+ },
683
862
  "agent": {
684
863
  "aliases": [],
685
864
  "args": {},
@@ -732,9 +911,31 @@
732
911
  "args": {},
733
912
  "description": "List all agents and their current status",
734
913
  "examples": [
735
- "<%= config.bin %> <%= command.id %>"
914
+ "<%= config.bin %> <%= command.id %>",
915
+ "<%= config.bin %> <%= command.id %> --type staff",
916
+ "<%= config.bin %> <%= command.id %> --type temp"
736
917
  ],
737
- "flags": {},
918
+ "flags": {
919
+ "type": {
920
+ "char": "t",
921
+ "description": "Filter by agent type",
922
+ "name": "type",
923
+ "hasDynamicHelp": false,
924
+ "multiple": false,
925
+ "options": [
926
+ "staff",
927
+ "temp",
928
+ "all"
929
+ ],
930
+ "type": "option"
931
+ },
932
+ "json": {
933
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
934
+ "name": "json",
935
+ "allowNo": false,
936
+ "type": "boolean"
937
+ }
938
+ },
738
939
  "hasDynamicHelp": false,
739
940
  "hiddenAliases": [],
740
941
  "id": "agent:list",
@@ -1490,6 +1691,55 @@
1490
1691
  "where.js"
1491
1692
  ]
1492
1693
  },
1694
+ "config": {
1695
+ "aliases": [],
1696
+ "args": {},
1697
+ "description": "View and update workspace configuration",
1698
+ "examples": [
1699
+ "<%= config.bin %> <%= command.id %> # Interactive menu",
1700
+ "<%= config.bin %> <%= command.id %> --json # Output current config as JSON",
1701
+ "<%= config.bin %> <%= command.id %> --set terminal.app iTerm",
1702
+ "<%= config.bin %> <%= command.id %> --set terminal.openInBackground true"
1703
+ ],
1704
+ "flags": {
1705
+ "json": {
1706
+ "description": "Output configuration as JSON (for AI agents/scripts)",
1707
+ "name": "json",
1708
+ "allowNo": false,
1709
+ "type": "boolean"
1710
+ },
1711
+ "set": {
1712
+ "char": "s",
1713
+ "description": "Set a config value (format: key value)",
1714
+ "name": "set",
1715
+ "hasDynamicHelp": false,
1716
+ "multiple": true,
1717
+ "type": "option"
1718
+ },
1719
+ "list": {
1720
+ "char": "l",
1721
+ "description": "List all configuration values",
1722
+ "name": "list",
1723
+ "allowNo": false,
1724
+ "type": "boolean"
1725
+ }
1726
+ },
1727
+ "hasDynamicHelp": false,
1728
+ "hiddenAliases": [],
1729
+ "id": "config",
1730
+ "pluginAlias": "@proletariat/cli",
1731
+ "pluginName": "@proletariat/cli",
1732
+ "pluginType": "core",
1733
+ "strict": true,
1734
+ "enableJsonFlag": false,
1735
+ "isESM": true,
1736
+ "relativePath": [
1737
+ "dist",
1738
+ "commands",
1739
+ "config",
1740
+ "index.js"
1741
+ ]
1742
+ },
1493
1743
  "docker:clean": {
1494
1744
  "aliases": [],
1495
1745
  "args": {},
@@ -2016,14 +2266,19 @@
2016
2266
  "sync.js"
2017
2267
  ]
2018
2268
  },
2019
- "execution": {
2269
+ "epic:activate": {
2020
2270
  "aliases": [],
2021
- "args": {},
2022
- "description": "Single execution operations (logs, stop)",
2271
+ "args": {
2272
+ "id": {
2273
+ "description": "Epic ID",
2274
+ "name": "id",
2275
+ "required": false
2276
+ }
2277
+ },
2278
+ "description": "Activate a draft or archived epic",
2023
2279
  "examples": [
2024
- "<%= config.bin %> <%= command.id %>",
2025
- "<%= config.bin %> <%= command.id %> logs WORK-001",
2026
- "<%= config.bin %> <%= command.id %> stop WORK-001"
2280
+ "<%= config.bin %> <%= command.id %> EPIC-004",
2281
+ "<%= config.bin %> <%= command.id %>"
2027
2282
  ],
2028
2283
  "flags": {
2029
2284
  "project": {
@@ -2043,7 +2298,7 @@
2043
2298
  },
2044
2299
  "hasDynamicHelp": false,
2045
2300
  "hiddenAliases": [],
2046
- "id": "execution",
2301
+ "id": "epic:activate",
2047
2302
  "pluginAlias": "@proletariat/cli",
2048
2303
  "pluginName": "@proletariat/cli",
2049
2304
  "pluginType": "core",
@@ -2052,19 +2307,23 @@
2052
2307
  "relativePath": [
2053
2308
  "dist",
2054
2309
  "commands",
2055
- "execution",
2056
- "index.js"
2310
+ "epic",
2311
+ "activate.js"
2057
2312
  ]
2058
2313
  },
2059
- "execution:list": {
2314
+ "epic:archive": {
2060
2315
  "aliases": [],
2061
- "args": {},
2062
- "description": "List running and recent executions",
2316
+ "args": {
2317
+ "id": {
2318
+ "description": "Epic ID",
2319
+ "name": "id",
2320
+ "required": false
2321
+ }
2322
+ },
2323
+ "description": "Archive a completed epic",
2063
2324
  "examples": [
2064
- "<%= config.bin %> <%= command.id %>",
2065
- "<%= config.bin %> <%= command.id %> --status running",
2066
- "<%= config.bin %> <%= command.id %> --agent alice",
2067
- "<%= config.bin %> <%= command.id %> --limit 50"
2325
+ "<%= config.bin %> <%= command.id %> EPIC-002",
2326
+ "<%= config.bin %> <%= command.id %> --force"
2068
2327
  ],
2069
2328
  "flags": {
2070
2329
  "project": {
@@ -2075,259 +2334,11 @@
2075
2334
  "multiple": false,
2076
2335
  "type": "option"
2077
2336
  },
2078
- "status": {
2079
- "char": "s",
2080
- "description": "Filter by status",
2081
- "name": "status",
2082
- "hasDynamicHelp": false,
2083
- "multiple": false,
2084
- "options": [
2085
- "starting",
2086
- "running",
2087
- "completed",
2088
- "failed",
2089
- "stopped"
2090
- ],
2091
- "type": "option"
2092
- },
2093
- "agent": {
2094
- "char": "a",
2095
- "description": "Filter by agent name",
2096
- "name": "agent",
2097
- "hasDynamicHelp": false,
2098
- "multiple": false,
2099
- "type": "option"
2100
- },
2101
- "limit": {
2102
- "char": "l",
2103
- "description": "Number of results",
2104
- "name": "limit",
2105
- "default": 20,
2106
- "hasDynamicHelp": false,
2107
- "multiple": false,
2108
- "type": "option"
2109
- }
2110
- },
2111
- "hasDynamicHelp": false,
2112
- "hiddenAliases": [],
2113
- "id": "execution:list",
2114
- "pluginAlias": "@proletariat/cli",
2115
- "pluginName": "@proletariat/cli",
2116
- "pluginType": "core",
2117
- "strict": true,
2118
- "isESM": true,
2119
- "relativePath": [
2120
- "dist",
2121
- "commands",
2122
- "execution",
2123
- "list.js"
2124
- ]
2125
- },
2126
- "execution:logs": {
2127
- "aliases": [],
2128
- "args": {
2129
- "id": {
2130
- "description": "Execution ID - prompts if not provided",
2131
- "name": "id",
2132
- "required": false
2133
- }
2134
- },
2135
- "description": "View execution logs",
2136
- "examples": [
2137
- "<%= config.bin %> <%= command.id %> WORK-001",
2138
- "<%= config.bin %> <%= command.id %> WORK-001 --follow",
2139
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
2140
- "<%= config.bin %> <%= command.id %> # Interactive mode"
2141
- ],
2142
- "flags": {
2143
- "project": {
2144
- "char": "P",
2145
- "description": "Project ID (uses first project if only one exists)",
2146
- "name": "project",
2147
- "hasDynamicHelp": false,
2148
- "multiple": false,
2149
- "type": "option"
2150
- },
2151
- "follow": {
2152
- "char": "f",
2153
- "description": "Stream logs in real-time",
2154
- "name": "follow",
2155
- "allowNo": false,
2156
- "type": "boolean"
2157
- },
2158
- "tail": {
2159
- "char": "n",
2160
- "description": "Show last n lines",
2161
- "name": "tail",
2162
- "hasDynamicHelp": false,
2163
- "multiple": false,
2164
- "type": "option"
2165
- },
2166
- "json": {
2167
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
2168
- "name": "json",
2169
- "allowNo": false,
2170
- "type": "boolean"
2171
- }
2172
- },
2173
- "hasDynamicHelp": false,
2174
- "hiddenAliases": [],
2175
- "id": "execution:logs",
2176
- "pluginAlias": "@proletariat/cli",
2177
- "pluginName": "@proletariat/cli",
2178
- "pluginType": "core",
2179
- "strict": true,
2180
- "isESM": true,
2181
- "relativePath": [
2182
- "dist",
2183
- "commands",
2184
- "execution",
2185
- "logs.js"
2186
- ]
2187
- },
2188
- "execution:stop": {
2189
- "aliases": [],
2190
- "args": {
2191
- "id": {
2192
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
2193
- "name": "id",
2194
- "required": false
2195
- }
2196
- },
2197
- "description": "Stop running execution(s)",
2198
- "examples": [
2199
- "<%= config.bin %> <%= command.id %> WORK-001",
2200
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
2201
- "<%= config.bin %> <%= command.id %> # Interactive mode",
2202
- "<%= config.bin %> <%= command.id %> --all",
2203
- "<%= config.bin %> <%= command.id %> --all --force",
2204
- "<%= config.bin %> <%= command.id %> --agent altman"
2205
- ],
2206
- "flags": {
2207
- "project": {
2208
- "char": "P",
2209
- "description": "Project ID (uses first project if only one exists)",
2210
- "name": "project",
2211
- "hasDynamicHelp": false,
2212
- "multiple": false,
2213
- "type": "option"
2214
- },
2215
- "force": {
2216
- "char": "f",
2217
- "description": "Force kill (SIGKILL instead of SIGTERM)",
2218
- "name": "force",
2219
- "allowNo": false,
2220
- "type": "boolean"
2221
- },
2222
- "all": {
2223
- "description": "Stop all running executions",
2224
- "name": "all",
2225
- "allowNo": false,
2226
- "type": "boolean"
2227
- },
2228
- "agent": {
2229
- "char": "a",
2230
- "description": "Stop all executions for a specific agent",
2231
- "name": "agent",
2232
- "hasDynamicHelp": false,
2233
- "multiple": false,
2234
- "type": "option"
2235
- },
2236
- "json": {
2237
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
2238
- "name": "json",
2239
- "allowNo": false,
2240
- "type": "boolean"
2241
- }
2242
- },
2243
- "hasDynamicHelp": false,
2244
- "hiddenAliases": [],
2245
- "id": "execution:stop",
2246
- "pluginAlias": "@proletariat/cli",
2247
- "pluginName": "@proletariat/cli",
2248
- "pluginType": "core",
2249
- "strict": true,
2250
- "isESM": true,
2251
- "relativePath": [
2252
- "dist",
2253
- "commands",
2254
- "execution",
2255
- "stop.js"
2256
- ]
2257
- },
2258
- "epic:activate": {
2259
- "aliases": [],
2260
- "args": {
2261
- "id": {
2262
- "description": "Epic ID",
2263
- "name": "id",
2264
- "required": false
2265
- }
2266
- },
2267
- "description": "Activate a draft or archived epic",
2268
- "examples": [
2269
- "<%= config.bin %> <%= command.id %> EPIC-004",
2270
- "<%= config.bin %> <%= command.id %>"
2271
- ],
2272
- "flags": {
2273
- "project": {
2274
- "char": "P",
2275
- "description": "Project ID (uses first project if only one exists)",
2276
- "name": "project",
2277
- "hasDynamicHelp": false,
2278
- "multiple": false,
2279
- "type": "option"
2280
- },
2281
- "json": {
2282
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
2283
- "name": "json",
2284
- "allowNo": false,
2285
- "type": "boolean"
2286
- }
2287
- },
2288
- "hasDynamicHelp": false,
2289
- "hiddenAliases": [],
2290
- "id": "epic:activate",
2291
- "pluginAlias": "@proletariat/cli",
2292
- "pluginName": "@proletariat/cli",
2293
- "pluginType": "core",
2294
- "strict": true,
2295
- "isESM": true,
2296
- "relativePath": [
2297
- "dist",
2298
- "commands",
2299
- "epic",
2300
- "activate.js"
2301
- ]
2302
- },
2303
- "epic:archive": {
2304
- "aliases": [],
2305
- "args": {
2306
- "id": {
2307
- "description": "Epic ID",
2308
- "name": "id",
2309
- "required": false
2310
- }
2311
- },
2312
- "description": "Archive a completed epic",
2313
- "examples": [
2314
- "<%= config.bin %> <%= command.id %> EPIC-002",
2315
- "<%= config.bin %> <%= command.id %> --force"
2316
- ],
2317
- "flags": {
2318
- "project": {
2319
- "char": "P",
2320
- "description": "Project ID (uses first project if only one exists)",
2321
- "name": "project",
2322
- "hasDynamicHelp": false,
2323
- "multiple": false,
2324
- "type": "option"
2325
- },
2326
- "json": {
2327
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
2328
- "name": "json",
2329
- "allowNo": false,
2330
- "type": "boolean"
2337
+ "json": {
2338
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
2339
+ "name": "json",
2340
+ "allowNo": false,
2341
+ "type": "boolean"
2331
2342
  },
2332
2343
  "force": {
2333
2344
  "char": "f",
@@ -2965,17 +2976,24 @@
2965
2976
  "view.js"
2966
2977
  ]
2967
2978
  },
2968
- "gh": {
2979
+ "execution": {
2969
2980
  "aliases": [],
2970
2981
  "args": {},
2971
- "description": "GitHub CLI setup and status for PR workflow",
2982
+ "description": "Single execution operations (logs, stop)",
2972
2983
  "examples": [
2973
2984
  "<%= config.bin %> <%= command.id %>",
2974
- "<%= config.bin %> <%= command.id %> status",
2975
- "<%= config.bin %> <%= command.id %> login",
2976
- "<%= config.bin %> <%= command.id %> token"
2985
+ "<%= config.bin %> <%= command.id %> logs WORK-001",
2986
+ "<%= config.bin %> <%= command.id %> stop WORK-001"
2977
2987
  ],
2978
2988
  "flags": {
2989
+ "project": {
2990
+ "char": "P",
2991
+ "description": "Project ID (uses first project if only one exists)",
2992
+ "name": "project",
2993
+ "hasDynamicHelp": false,
2994
+ "multiple": false,
2995
+ "type": "option"
2996
+ },
2979
2997
  "json": {
2980
2998
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
2981
2999
  "name": "json",
@@ -2985,21 +3003,253 @@
2985
3003
  },
2986
3004
  "hasDynamicHelp": false,
2987
3005
  "hiddenAliases": [],
2988
- "id": "gh",
3006
+ "id": "execution",
2989
3007
  "pluginAlias": "@proletariat/cli",
2990
3008
  "pluginName": "@proletariat/cli",
2991
3009
  "pluginType": "core",
2992
3010
  "strict": true,
2993
- "enableJsonFlag": false,
2994
3011
  "isESM": true,
2995
3012
  "relativePath": [
2996
3013
  "dist",
2997
3014
  "commands",
2998
- "gh",
3015
+ "execution",
2999
3016
  "index.js"
3000
3017
  ]
3001
3018
  },
3002
- "gh:login": {
3019
+ "execution:list": {
3020
+ "aliases": [],
3021
+ "args": {},
3022
+ "description": "List running and recent executions",
3023
+ "examples": [
3024
+ "<%= config.bin %> <%= command.id %>",
3025
+ "<%= config.bin %> <%= command.id %> --status running",
3026
+ "<%= config.bin %> <%= command.id %> --agent alice",
3027
+ "<%= config.bin %> <%= command.id %> --limit 50"
3028
+ ],
3029
+ "flags": {
3030
+ "project": {
3031
+ "char": "P",
3032
+ "description": "Project ID (uses first project if only one exists)",
3033
+ "name": "project",
3034
+ "hasDynamicHelp": false,
3035
+ "multiple": false,
3036
+ "type": "option"
3037
+ },
3038
+ "status": {
3039
+ "char": "s",
3040
+ "description": "Filter by status",
3041
+ "name": "status",
3042
+ "hasDynamicHelp": false,
3043
+ "multiple": false,
3044
+ "options": [
3045
+ "starting",
3046
+ "running",
3047
+ "completed",
3048
+ "failed",
3049
+ "stopped"
3050
+ ],
3051
+ "type": "option"
3052
+ },
3053
+ "agent": {
3054
+ "char": "a",
3055
+ "description": "Filter by agent name",
3056
+ "name": "agent",
3057
+ "hasDynamicHelp": false,
3058
+ "multiple": false,
3059
+ "type": "option"
3060
+ },
3061
+ "limit": {
3062
+ "char": "l",
3063
+ "description": "Number of results",
3064
+ "name": "limit",
3065
+ "default": 20,
3066
+ "hasDynamicHelp": false,
3067
+ "multiple": false,
3068
+ "type": "option"
3069
+ }
3070
+ },
3071
+ "hasDynamicHelp": false,
3072
+ "hiddenAliases": [],
3073
+ "id": "execution:list",
3074
+ "pluginAlias": "@proletariat/cli",
3075
+ "pluginName": "@proletariat/cli",
3076
+ "pluginType": "core",
3077
+ "strict": true,
3078
+ "isESM": true,
3079
+ "relativePath": [
3080
+ "dist",
3081
+ "commands",
3082
+ "execution",
3083
+ "list.js"
3084
+ ]
3085
+ },
3086
+ "execution:logs": {
3087
+ "aliases": [],
3088
+ "args": {
3089
+ "id": {
3090
+ "description": "Execution ID - prompts if not provided",
3091
+ "name": "id",
3092
+ "required": false
3093
+ }
3094
+ },
3095
+ "description": "View execution logs",
3096
+ "examples": [
3097
+ "<%= config.bin %> <%= command.id %> WORK-001",
3098
+ "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3099
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3100
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
3101
+ ],
3102
+ "flags": {
3103
+ "project": {
3104
+ "char": "P",
3105
+ "description": "Project ID (uses first project if only one exists)",
3106
+ "name": "project",
3107
+ "hasDynamicHelp": false,
3108
+ "multiple": false,
3109
+ "type": "option"
3110
+ },
3111
+ "follow": {
3112
+ "char": "f",
3113
+ "description": "Stream logs in real-time",
3114
+ "name": "follow",
3115
+ "allowNo": false,
3116
+ "type": "boolean"
3117
+ },
3118
+ "tail": {
3119
+ "char": "n",
3120
+ "description": "Show last n lines",
3121
+ "name": "tail",
3122
+ "hasDynamicHelp": false,
3123
+ "multiple": false,
3124
+ "type": "option"
3125
+ },
3126
+ "json": {
3127
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3128
+ "name": "json",
3129
+ "allowNo": false,
3130
+ "type": "boolean"
3131
+ }
3132
+ },
3133
+ "hasDynamicHelp": false,
3134
+ "hiddenAliases": [],
3135
+ "id": "execution:logs",
3136
+ "pluginAlias": "@proletariat/cli",
3137
+ "pluginName": "@proletariat/cli",
3138
+ "pluginType": "core",
3139
+ "strict": true,
3140
+ "isESM": true,
3141
+ "relativePath": [
3142
+ "dist",
3143
+ "commands",
3144
+ "execution",
3145
+ "logs.js"
3146
+ ]
3147
+ },
3148
+ "execution:stop": {
3149
+ "aliases": [],
3150
+ "args": {
3151
+ "id": {
3152
+ "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3153
+ "name": "id",
3154
+ "required": false
3155
+ }
3156
+ },
3157
+ "description": "Stop running execution(s)",
3158
+ "examples": [
3159
+ "<%= config.bin %> <%= command.id %> WORK-001",
3160
+ "<%= config.bin %> <%= command.id %> WORK-001 --force",
3161
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
3162
+ "<%= config.bin %> <%= command.id %> --all",
3163
+ "<%= config.bin %> <%= command.id %> --all --force",
3164
+ "<%= config.bin %> <%= command.id %> --agent altman"
3165
+ ],
3166
+ "flags": {
3167
+ "project": {
3168
+ "char": "P",
3169
+ "description": "Project ID (uses first project if only one exists)",
3170
+ "name": "project",
3171
+ "hasDynamicHelp": false,
3172
+ "multiple": false,
3173
+ "type": "option"
3174
+ },
3175
+ "force": {
3176
+ "char": "f",
3177
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
3178
+ "name": "force",
3179
+ "allowNo": false,
3180
+ "type": "boolean"
3181
+ },
3182
+ "all": {
3183
+ "description": "Stop all running executions",
3184
+ "name": "all",
3185
+ "allowNo": false,
3186
+ "type": "boolean"
3187
+ },
3188
+ "agent": {
3189
+ "char": "a",
3190
+ "description": "Stop all executions for a specific agent",
3191
+ "name": "agent",
3192
+ "hasDynamicHelp": false,
3193
+ "multiple": false,
3194
+ "type": "option"
3195
+ },
3196
+ "json": {
3197
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3198
+ "name": "json",
3199
+ "allowNo": false,
3200
+ "type": "boolean"
3201
+ }
3202
+ },
3203
+ "hasDynamicHelp": false,
3204
+ "hiddenAliases": [],
3205
+ "id": "execution:stop",
3206
+ "pluginAlias": "@proletariat/cli",
3207
+ "pluginName": "@proletariat/cli",
3208
+ "pluginType": "core",
3209
+ "strict": true,
3210
+ "isESM": true,
3211
+ "relativePath": [
3212
+ "dist",
3213
+ "commands",
3214
+ "execution",
3215
+ "stop.js"
3216
+ ]
3217
+ },
3218
+ "gh": {
3219
+ "aliases": [],
3220
+ "args": {},
3221
+ "description": "GitHub CLI setup and status for PR workflow",
3222
+ "examples": [
3223
+ "<%= config.bin %> <%= command.id %>",
3224
+ "<%= config.bin %> <%= command.id %> status",
3225
+ "<%= config.bin %> <%= command.id %> login",
3226
+ "<%= config.bin %> <%= command.id %> token"
3227
+ ],
3228
+ "flags": {
3229
+ "json": {
3230
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3231
+ "name": "json",
3232
+ "allowNo": false,
3233
+ "type": "boolean"
3234
+ }
3235
+ },
3236
+ "hasDynamicHelp": false,
3237
+ "hiddenAliases": [],
3238
+ "id": "gh",
3239
+ "pluginAlias": "@proletariat/cli",
3240
+ "pluginName": "@proletariat/cli",
3241
+ "pluginType": "core",
3242
+ "strict": true,
3243
+ "enableJsonFlag": false,
3244
+ "isESM": true,
3245
+ "relativePath": [
3246
+ "dist",
3247
+ "commands",
3248
+ "gh",
3249
+ "index.js"
3250
+ ]
3251
+ },
3252
+ "gh:login": {
3003
3253
  "aliases": [],
3004
3254
  "args": {},
3005
3255
  "description": "Login to GitHub CLI for PR workflow",
@@ -3057,33 +3307,698 @@
3057
3307
  "flags": {},
3058
3308
  "hasDynamicHelp": false,
3059
3309
  "hiddenAliases": [],
3060
- "id": "gh:token",
3310
+ "id": "gh:token",
3311
+ "pluginAlias": "@proletariat/cli",
3312
+ "pluginName": "@proletariat/cli",
3313
+ "pluginType": "core",
3314
+ "strict": true,
3315
+ "enableJsonFlag": false,
3316
+ "isESM": true,
3317
+ "relativePath": [
3318
+ "dist",
3319
+ "commands",
3320
+ "gh",
3321
+ "token.js"
3322
+ ]
3323
+ },
3324
+ "pmo:init": {
3325
+ "aliases": [],
3326
+ "args": {},
3327
+ "description": "Initialize PMO (Project Management Org) in current directory or HQ",
3328
+ "examples": [
3329
+ "<%= config.bin %> <%= command.id %>",
3330
+ "<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool",
3331
+ "<%= config.bin %> <%= command.id %> --location separate --template linear"
3332
+ ],
3333
+ "flags": {
3334
+ "location": {
3335
+ "char": "l",
3336
+ "description": "PMO location (separate or repo:name)",
3337
+ "name": "location",
3338
+ "hasDynamicHelp": false,
3339
+ "multiple": false,
3340
+ "type": "option"
3341
+ },
3342
+ "template": {
3343
+ "char": "t",
3344
+ "description": "Board template",
3345
+ "name": "template",
3346
+ "hasDynamicHelp": false,
3347
+ "multiple": false,
3348
+ "options": [
3349
+ "kanban",
3350
+ "linear",
3351
+ "5-tool-founder",
3352
+ "custom"
3353
+ ],
3354
+ "type": "option"
3355
+ },
3356
+ "name": {
3357
+ "char": "n",
3358
+ "description": "Board name",
3359
+ "name": "name",
3360
+ "hasDynamicHelp": false,
3361
+ "multiple": false,
3362
+ "type": "option"
3363
+ },
3364
+ "json": {
3365
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3366
+ "name": "json",
3367
+ "allowNo": false,
3368
+ "type": "boolean"
3369
+ }
3370
+ },
3371
+ "hasDynamicHelp": false,
3372
+ "hiddenAliases": [],
3373
+ "id": "pmo:init",
3374
+ "pluginAlias": "@proletariat/cli",
3375
+ "pluginName": "@proletariat/cli",
3376
+ "pluginType": "core",
3377
+ "strict": true,
3378
+ "enableJsonFlag": false,
3379
+ "isESM": true,
3380
+ "relativePath": [
3381
+ "dist",
3382
+ "commands",
3383
+ "pmo",
3384
+ "init.js"
3385
+ ]
3386
+ },
3387
+ "phase:create": {
3388
+ "aliases": [],
3389
+ "args": {
3390
+ "name": {
3391
+ "description": "Phase name",
3392
+ "name": "name",
3393
+ "required": false
3394
+ }
3395
+ },
3396
+ "description": "Create a new project lifecycle phase",
3397
+ "examples": [
3398
+ "<%= config.bin %> <%= command.id %> \"On Hold\" --category unstarted",
3399
+ "<%= config.bin %> <%= command.id %> \"In Review\" --category started --color \"#FFA500\"",
3400
+ "<%= config.bin %> <%= command.id %> -i # Interactive mode"
3401
+ ],
3402
+ "flags": {
3403
+ "project": {
3404
+ "char": "P",
3405
+ "description": "Project ID (uses first project if only one exists)",
3406
+ "name": "project",
3407
+ "hasDynamicHelp": false,
3408
+ "multiple": false,
3409
+ "type": "option"
3410
+ },
3411
+ "category": {
3412
+ "char": "c",
3413
+ "description": "State category",
3414
+ "name": "category",
3415
+ "hasDynamicHelp": false,
3416
+ "multiple": false,
3417
+ "options": [
3418
+ "backlog",
3419
+ "unstarted",
3420
+ "started",
3421
+ "completed",
3422
+ "canceled"
3423
+ ],
3424
+ "type": "option"
3425
+ },
3426
+ "color": {
3427
+ "description": "Hex color (e.g., \"#FF5733\")",
3428
+ "name": "color",
3429
+ "hasDynamicHelp": false,
3430
+ "multiple": false,
3431
+ "type": "option"
3432
+ },
3433
+ "description": {
3434
+ "char": "d",
3435
+ "description": "Phase description",
3436
+ "name": "description",
3437
+ "hasDynamicHelp": false,
3438
+ "multiple": false,
3439
+ "type": "option"
3440
+ },
3441
+ "default": {
3442
+ "description": "Set as default phase for new projects",
3443
+ "name": "default",
3444
+ "allowNo": false,
3445
+ "type": "boolean"
3446
+ },
3447
+ "interactive": {
3448
+ "char": "i",
3449
+ "description": "Interactive mode",
3450
+ "name": "interactive",
3451
+ "allowNo": false,
3452
+ "type": "boolean"
3453
+ },
3454
+ "json": {
3455
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3456
+ "name": "json",
3457
+ "allowNo": false,
3458
+ "type": "boolean"
3459
+ }
3460
+ },
3461
+ "hasDynamicHelp": false,
3462
+ "hiddenAliases": [],
3463
+ "id": "phase:create",
3464
+ "pluginAlias": "@proletariat/cli",
3465
+ "pluginName": "@proletariat/cli",
3466
+ "pluginType": "core",
3467
+ "strict": true,
3468
+ "isESM": true,
3469
+ "relativePath": [
3470
+ "dist",
3471
+ "commands",
3472
+ "phase",
3473
+ "create.js"
3474
+ ]
3475
+ },
3476
+ "phase:delete": {
3477
+ "aliases": [],
3478
+ "args": {
3479
+ "id": {
3480
+ "description": "Phase ID",
3481
+ "name": "id",
3482
+ "required": true
3483
+ }
3484
+ },
3485
+ "description": "Delete a project lifecycle phase",
3486
+ "examples": [
3487
+ "<%= config.bin %> <%= command.id %> on-hold",
3488
+ "<%= config.bin %> <%= command.id %> on-hold --force"
3489
+ ],
3490
+ "flags": {
3491
+ "project": {
3492
+ "char": "P",
3493
+ "description": "Project ID (uses first project if only one exists)",
3494
+ "name": "project",
3495
+ "hasDynamicHelp": false,
3496
+ "multiple": false,
3497
+ "type": "option"
3498
+ },
3499
+ "force": {
3500
+ "char": "f",
3501
+ "description": "Skip confirmation",
3502
+ "name": "force",
3503
+ "allowNo": false,
3504
+ "type": "boolean"
3505
+ },
3506
+ "json": {
3507
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3508
+ "name": "json",
3509
+ "allowNo": false,
3510
+ "type": "boolean"
3511
+ }
3512
+ },
3513
+ "hasDynamicHelp": false,
3514
+ "hiddenAliases": [],
3515
+ "id": "phase:delete",
3516
+ "pluginAlias": "@proletariat/cli",
3517
+ "pluginName": "@proletariat/cli",
3518
+ "pluginType": "core",
3519
+ "strict": true,
3520
+ "isESM": true,
3521
+ "relativePath": [
3522
+ "dist",
3523
+ "commands",
3524
+ "phase",
3525
+ "delete.js"
3526
+ ]
3527
+ },
3528
+ "phase:list": {
3529
+ "aliases": [],
3530
+ "args": {},
3531
+ "description": "List all project lifecycle phases",
3532
+ "examples": [
3533
+ "<%= config.bin %> <%= command.id %>",
3534
+ "<%= config.bin %> <%= command.id %> --category started",
3535
+ "<%= config.bin %> <%= command.id %> --json"
3536
+ ],
3537
+ "flags": {
3538
+ "project": {
3539
+ "char": "P",
3540
+ "description": "Project ID (uses first project if only one exists)",
3541
+ "name": "project",
3542
+ "hasDynamicHelp": false,
3543
+ "multiple": false,
3544
+ "type": "option"
3545
+ },
3546
+ "category": {
3547
+ "char": "c",
3548
+ "description": "Filter by category",
3549
+ "name": "category",
3550
+ "hasDynamicHelp": false,
3551
+ "multiple": false,
3552
+ "options": [
3553
+ "backlog",
3554
+ "unstarted",
3555
+ "started",
3556
+ "completed",
3557
+ "canceled"
3558
+ ],
3559
+ "type": "option"
3560
+ },
3561
+ "json": {
3562
+ "description": "Output as JSON",
3563
+ "name": "json",
3564
+ "allowNo": false,
3565
+ "type": "boolean"
3566
+ }
3567
+ },
3568
+ "hasDynamicHelp": false,
3569
+ "hiddenAliases": [],
3570
+ "id": "phase:list",
3571
+ "pluginAlias": "@proletariat/cli",
3572
+ "pluginName": "@proletariat/cli",
3573
+ "pluginType": "core",
3574
+ "strict": true,
3575
+ "isESM": true,
3576
+ "relativePath": [
3577
+ "dist",
3578
+ "commands",
3579
+ "phase",
3580
+ "list.js"
3581
+ ]
3582
+ },
3583
+ "phase:move": {
3584
+ "aliases": [],
3585
+ "args": {
3586
+ "id": {
3587
+ "description": "Phase ID - prompts with dropdown if not provided",
3588
+ "name": "id",
3589
+ "required": false
3590
+ }
3591
+ },
3592
+ "description": "Change the position of a phase within its category",
3593
+ "examples": [
3594
+ "<%= config.bin %> <%= command.id %> on-hold --position 0",
3595
+ "<%= config.bin %> <%= command.id %> in-review --position 1",
3596
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
3597
+ ],
3598
+ "flags": {
3599
+ "project": {
3600
+ "char": "P",
3601
+ "description": "Project ID (uses first project if only one exists)",
3602
+ "name": "project",
3603
+ "hasDynamicHelp": false,
3604
+ "multiple": false,
3605
+ "type": "option"
3606
+ },
3607
+ "position": {
3608
+ "char": "p",
3609
+ "description": "New position (0-indexed)",
3610
+ "name": "position",
3611
+ "required": false,
3612
+ "hasDynamicHelp": false,
3613
+ "multiple": false,
3614
+ "type": "option"
3615
+ },
3616
+ "json": {
3617
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3618
+ "name": "json",
3619
+ "allowNo": false,
3620
+ "type": "boolean"
3621
+ }
3622
+ },
3623
+ "hasDynamicHelp": false,
3624
+ "hiddenAliases": [],
3625
+ "id": "phase:move",
3626
+ "pluginAlias": "@proletariat/cli",
3627
+ "pluginName": "@proletariat/cli",
3628
+ "pluginType": "core",
3629
+ "strict": true,
3630
+ "isESM": true,
3631
+ "relativePath": [
3632
+ "dist",
3633
+ "commands",
3634
+ "phase",
3635
+ "move.js"
3636
+ ]
3637
+ },
3638
+ "phase:update": {
3639
+ "aliases": [],
3640
+ "args": {
3641
+ "id": {
3642
+ "description": "Phase ID - prompts with dropdown if not provided",
3643
+ "name": "id",
3644
+ "required": false
3645
+ }
3646
+ },
3647
+ "description": "Update a project lifecycle phase",
3648
+ "examples": [
3649
+ "<%= config.bin %> <%= command.id %> active --name \"In Development\"",
3650
+ "<%= config.bin %> <%= command.id %> idea --color \"#9333EA\"",
3651
+ "<%= config.bin %> <%= command.id %> planned --default",
3652
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
3653
+ ],
3654
+ "flags": {
3655
+ "project": {
3656
+ "char": "P",
3657
+ "description": "Project ID (uses first project if only one exists)",
3658
+ "name": "project",
3659
+ "hasDynamicHelp": false,
3660
+ "multiple": false,
3661
+ "type": "option"
3662
+ },
3663
+ "name": {
3664
+ "char": "n",
3665
+ "description": "New name",
3666
+ "name": "name",
3667
+ "hasDynamicHelp": false,
3668
+ "multiple": false,
3669
+ "type": "option"
3670
+ },
3671
+ "category": {
3672
+ "char": "c",
3673
+ "description": "New category",
3674
+ "name": "category",
3675
+ "hasDynamicHelp": false,
3676
+ "multiple": false,
3677
+ "options": [
3678
+ "backlog",
3679
+ "unstarted",
3680
+ "started",
3681
+ "completed",
3682
+ "canceled"
3683
+ ],
3684
+ "type": "option"
3685
+ },
3686
+ "color": {
3687
+ "description": "New hex color",
3688
+ "name": "color",
3689
+ "hasDynamicHelp": false,
3690
+ "multiple": false,
3691
+ "type": "option"
3692
+ },
3693
+ "description": {
3694
+ "char": "d",
3695
+ "description": "New description",
3696
+ "name": "description",
3697
+ "hasDynamicHelp": false,
3698
+ "multiple": false,
3699
+ "type": "option"
3700
+ },
3701
+ "default": {
3702
+ "description": "Set as default phase",
3703
+ "name": "default",
3704
+ "allowNo": false,
3705
+ "type": "boolean"
3706
+ },
3707
+ "interactive": {
3708
+ "char": "i",
3709
+ "description": "Interactive mode",
3710
+ "name": "interactive",
3711
+ "allowNo": false,
3712
+ "type": "boolean"
3713
+ },
3714
+ "json": {
3715
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3716
+ "name": "json",
3717
+ "allowNo": false,
3718
+ "type": "boolean"
3719
+ }
3720
+ },
3721
+ "hasDynamicHelp": false,
3722
+ "hiddenAliases": [],
3723
+ "id": "phase:update",
3724
+ "pluginAlias": "@proletariat/cli",
3725
+ "pluginName": "@proletariat/cli",
3726
+ "pluginType": "core",
3727
+ "strict": true,
3728
+ "isESM": true,
3729
+ "relativePath": [
3730
+ "dist",
3731
+ "commands",
3732
+ "phase",
3733
+ "update.js"
3734
+ ]
3735
+ },
3736
+ "pr:create": {
3737
+ "aliases": [],
3738
+ "args": {
3739
+ "ticketId": {
3740
+ "description": "Ticket ID to link to PR - auto-detects from branch if not provided",
3741
+ "name": "ticketId",
3742
+ "required": false
3743
+ }
3744
+ },
3745
+ "description": "Create a GitHub pull request from the current branch",
3746
+ "examples": [
3747
+ "<%= config.bin %> <%= command.id %>",
3748
+ "<%= config.bin %> <%= command.id %> TKT-001",
3749
+ "<%= config.bin %> <%= command.id %> --draft",
3750
+ "<%= config.bin %> <%= command.id %> --base develop"
3751
+ ],
3752
+ "flags": {
3753
+ "base": {
3754
+ "char": "b",
3755
+ "description": "Base branch for the PR (defaults to main/master)",
3756
+ "name": "base",
3757
+ "hasDynamicHelp": false,
3758
+ "multiple": false,
3759
+ "type": "option"
3760
+ },
3761
+ "draft": {
3762
+ "char": "d",
3763
+ "description": "Create as draft PR",
3764
+ "name": "draft",
3765
+ "allowNo": false,
3766
+ "type": "boolean"
3767
+ },
3768
+ "no-link": {
3769
+ "description": "Skip linking PR to ticket",
3770
+ "name": "no-link",
3771
+ "allowNo": false,
3772
+ "type": "boolean"
3773
+ },
3774
+ "title": {
3775
+ "char": "t",
3776
+ "description": "PR title (auto-generated from ticket if not provided)",
3777
+ "name": "title",
3778
+ "hasDynamicHelp": false,
3779
+ "multiple": false,
3780
+ "type": "option"
3781
+ },
3782
+ "body": {
3783
+ "description": "PR body/description",
3784
+ "name": "body",
3785
+ "hasDynamicHelp": false,
3786
+ "multiple": false,
3787
+ "type": "option"
3788
+ },
3789
+ "json": {
3790
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3791
+ "name": "json",
3792
+ "allowNo": false,
3793
+ "type": "boolean"
3794
+ }
3795
+ },
3796
+ "hasDynamicHelp": false,
3797
+ "hiddenAliases": [],
3798
+ "id": "pr:create",
3799
+ "pluginAlias": "@proletariat/cli",
3800
+ "pluginName": "@proletariat/cli",
3801
+ "pluginType": "core",
3802
+ "strict": true,
3803
+ "enableJsonFlag": false,
3804
+ "isESM": true,
3805
+ "relativePath": [
3806
+ "dist",
3807
+ "commands",
3808
+ "pr",
3809
+ "create.js"
3810
+ ]
3811
+ },
3812
+ "pr": {
3813
+ "aliases": [],
3814
+ "args": {},
3815
+ "description": "Interactive menu for pull request operations",
3816
+ "examples": [
3817
+ "<%= config.bin %> <%= command.id %>"
3818
+ ],
3819
+ "flags": {
3820
+ "json": {
3821
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3822
+ "name": "json",
3823
+ "allowNo": false,
3824
+ "type": "boolean"
3825
+ }
3826
+ },
3827
+ "hasDynamicHelp": false,
3828
+ "hiddenAliases": [],
3829
+ "id": "pr",
3830
+ "pluginAlias": "@proletariat/cli",
3831
+ "pluginName": "@proletariat/cli",
3832
+ "pluginType": "core",
3833
+ "strict": true,
3834
+ "enableJsonFlag": false,
3835
+ "isESM": true,
3836
+ "relativePath": [
3837
+ "dist",
3838
+ "commands",
3839
+ "pr",
3840
+ "index.js"
3841
+ ]
3842
+ },
3843
+ "pr:link": {
3844
+ "aliases": [],
3845
+ "args": {
3846
+ "ticketId": {
3847
+ "description": "Ticket ID to link PR to",
3848
+ "name": "ticketId",
3849
+ "required": false
3850
+ }
3851
+ },
3852
+ "description": "Link an existing GitHub pull request to a ticket",
3853
+ "examples": [
3854
+ "<%= config.bin %> <%= command.id %>",
3855
+ "<%= config.bin %> <%= command.id %> TKT-001",
3856
+ "<%= config.bin %> <%= command.id %> TKT-001 --pr 123",
3857
+ "<%= config.bin %> <%= command.id %> TKT-001 --url https://github.com/owner/repo/pull/123"
3858
+ ],
3859
+ "flags": {
3860
+ "pr": {
3861
+ "char": "p",
3862
+ "description": "PR number to link",
3863
+ "name": "pr",
3864
+ "hasDynamicHelp": false,
3865
+ "multiple": false,
3866
+ "type": "option"
3867
+ },
3868
+ "url": {
3869
+ "char": "u",
3870
+ "description": "PR URL to link",
3871
+ "name": "url",
3872
+ "hasDynamicHelp": false,
3873
+ "multiple": false,
3874
+ "type": "option"
3875
+ },
3876
+ "json": {
3877
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3878
+ "name": "json",
3879
+ "allowNo": false,
3880
+ "type": "boolean"
3881
+ }
3882
+ },
3883
+ "hasDynamicHelp": false,
3884
+ "hiddenAliases": [],
3885
+ "id": "pr:link",
3886
+ "pluginAlias": "@proletariat/cli",
3887
+ "pluginName": "@proletariat/cli",
3888
+ "pluginType": "core",
3889
+ "strict": true,
3890
+ "enableJsonFlag": false,
3891
+ "isESM": true,
3892
+ "relativePath": [
3893
+ "dist",
3894
+ "commands",
3895
+ "pr",
3896
+ "link.js"
3897
+ ]
3898
+ },
3899
+ "pr:status": {
3900
+ "aliases": [],
3901
+ "args": {
3902
+ "ticketId": {
3903
+ "description": "Ticket ID to check PR status for",
3904
+ "name": "ticketId",
3905
+ "required": false
3906
+ }
3907
+ },
3908
+ "description": "View PR status for a ticket",
3909
+ "examples": [
3910
+ "<%= config.bin %> <%= command.id %>",
3911
+ "<%= config.bin %> <%= command.id %> TKT-001"
3912
+ ],
3913
+ "flags": {
3914
+ "json": {
3915
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3916
+ "name": "json",
3917
+ "allowNo": false,
3918
+ "type": "boolean"
3919
+ }
3920
+ },
3921
+ "hasDynamicHelp": false,
3922
+ "hiddenAliases": [],
3923
+ "id": "pr:status",
3924
+ "pluginAlias": "@proletariat/cli",
3925
+ "pluginName": "@proletariat/cli",
3926
+ "pluginType": "core",
3927
+ "strict": true,
3928
+ "enableJsonFlag": false,
3929
+ "isESM": true,
3930
+ "relativePath": [
3931
+ "dist",
3932
+ "commands",
3933
+ "pr",
3934
+ "status.js"
3935
+ ]
3936
+ },
3937
+ "project:archive": {
3938
+ "aliases": [],
3939
+ "args": {
3940
+ "id": {
3941
+ "description": "Project ID",
3942
+ "name": "id",
3943
+ "required": true
3944
+ }
3945
+ },
3946
+ "description": "Archive a project (hide from default views)",
3947
+ "examples": [
3948
+ "<%= config.bin %> <%= command.id %> old-project",
3949
+ "<%= config.bin %> <%= command.id %> old-project --force"
3950
+ ],
3951
+ "flags": {
3952
+ "project": {
3953
+ "char": "P",
3954
+ "description": "Project ID (uses first project if only one exists)",
3955
+ "name": "project",
3956
+ "hasDynamicHelp": false,
3957
+ "multiple": false,
3958
+ "type": "option"
3959
+ },
3960
+ "force": {
3961
+ "char": "f",
3962
+ "description": "Skip confirmation",
3963
+ "name": "force",
3964
+ "allowNo": false,
3965
+ "type": "boolean"
3966
+ },
3967
+ "json": {
3968
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3969
+ "name": "json",
3970
+ "allowNo": false,
3971
+ "type": "boolean"
3972
+ }
3973
+ },
3974
+ "hasDynamicHelp": false,
3975
+ "hiddenAliases": [],
3976
+ "id": "project:archive",
3061
3977
  "pluginAlias": "@proletariat/cli",
3062
3978
  "pluginName": "@proletariat/cli",
3063
3979
  "pluginType": "core",
3064
3980
  "strict": true,
3065
- "enableJsonFlag": false,
3066
3981
  "isESM": true,
3067
3982
  "relativePath": [
3068
3983
  "dist",
3069
3984
  "commands",
3070
- "gh",
3071
- "token.js"
3985
+ "project",
3986
+ "archive.js"
3072
3987
  ]
3073
3988
  },
3074
- "phase:create": {
3989
+ "project:create": {
3075
3990
  "aliases": [],
3076
3991
  "args": {
3077
3992
  "name": {
3078
- "description": "Phase name",
3993
+ "description": "Project name",
3079
3994
  "name": "name",
3080
3995
  "required": false
3081
3996
  }
3082
3997
  },
3083
- "description": "Create a new project lifecycle phase",
3998
+ "description": "Create a new project in the PMO",
3084
3999
  "examples": [
3085
- "<%= config.bin %> <%= command.id %> \"On Hold\" --category unstarted",
3086
- "<%= config.bin %> <%= command.id %> \"In Review\" --category started --color \"#FFA500\"",
4000
+ "<%= config.bin %> <%= command.id %> \"My New Project\"",
4001
+ "<%= config.bin %> <%= command.id %> --name \"Mobile App\" --description \"iOS and Android app\"",
3087
4002
  "<%= config.bin %> <%= command.id %> -i # Interactive mode"
3088
4003
  ],
3089
4004
  "flags": {
@@ -3095,41 +4010,45 @@
3095
4010
  "multiple": false,
3096
4011
  "type": "option"
3097
4012
  },
3098
- "category": {
3099
- "char": "c",
3100
- "description": "State category",
3101
- "name": "category",
4013
+ "name": {
4014
+ "char": "n",
4015
+ "description": "Project name",
4016
+ "name": "name",
3102
4017
  "hasDynamicHelp": false,
3103
4018
  "multiple": false,
3104
- "options": [
3105
- "backlog",
3106
- "unstarted",
3107
- "started",
3108
- "completed",
3109
- "canceled"
3110
- ],
3111
4019
  "type": "option"
3112
4020
  },
3113
- "color": {
3114
- "description": "Hex color (e.g., \"#FF5733\")",
3115
- "name": "color",
4021
+ "id": {
4022
+ "description": "Custom project ID (auto-generated from name if not provided)",
4023
+ "name": "id",
3116
4024
  "hasDynamicHelp": false,
3117
4025
  "multiple": false,
3118
4026
  "type": "option"
3119
4027
  },
3120
4028
  "description": {
3121
4029
  "char": "d",
3122
- "description": "Phase description",
4030
+ "description": "Project description",
3123
4031
  "name": "description",
3124
4032
  "hasDynamicHelp": false,
3125
4033
  "multiple": false,
3126
4034
  "type": "option"
3127
4035
  },
3128
- "default": {
3129
- "description": "Set as default phase for new projects",
3130
- "name": "default",
3131
- "allowNo": false,
3132
- "type": "boolean"
4036
+ "template": {
4037
+ "char": "t",
4038
+ "description": "Workflow template",
4039
+ "name": "template",
4040
+ "default": "kanban",
4041
+ "hasDynamicHelp": false,
4042
+ "multiple": false,
4043
+ "options": [
4044
+ "default",
4045
+ "kanban",
4046
+ "linear",
4047
+ "5-tool-founder",
4048
+ "bug-smash",
4049
+ "gtm"
4050
+ ],
4051
+ "type": "option"
3133
4052
  },
3134
4053
  "interactive": {
3135
4054
  "char": "i",
@@ -3147,7 +4066,7 @@
3147
4066
  },
3148
4067
  "hasDynamicHelp": false,
3149
4068
  "hiddenAliases": [],
3150
- "id": "phase:create",
4069
+ "id": "project:create",
3151
4070
  "pluginAlias": "@proletariat/cli",
3152
4071
  "pluginName": "@proletariat/cli",
3153
4072
  "pluginType": "core",
@@ -3156,23 +4075,23 @@
3156
4075
  "relativePath": [
3157
4076
  "dist",
3158
4077
  "commands",
3159
- "phase",
4078
+ "project",
3160
4079
  "create.js"
3161
4080
  ]
3162
4081
  },
3163
- "phase:delete": {
4082
+ "project:delete": {
3164
4083
  "aliases": [],
3165
4084
  "args": {
3166
4085
  "id": {
3167
- "description": "Phase ID",
4086
+ "description": "Project ID to delete - prompts with dropdown if not provided",
3168
4087
  "name": "id",
3169
- "required": true
4088
+ "required": false
3170
4089
  }
3171
4090
  },
3172
- "description": "Delete a project lifecycle phase",
4091
+ "description": "Delete a project from the PMO",
3173
4092
  "examples": [
3174
- "<%= config.bin %> <%= command.id %> on-hold",
3175
- "<%= config.bin %> <%= command.id %> on-hold --force"
4093
+ "<%= config.bin %> <%= command.id %> my-project",
4094
+ "<%= config.bin %> <%= command.id %> my-project --force"
3176
4095
  ],
3177
4096
  "flags": {
3178
4097
  "project": {
@@ -3185,7 +4104,7 @@
3185
4104
  },
3186
4105
  "force": {
3187
4106
  "char": "f",
3188
- "description": "Skip confirmation",
4107
+ "description": "Skip confirmation prompt",
3189
4108
  "name": "force",
3190
4109
  "allowNo": false,
3191
4110
  "type": "boolean"
@@ -3199,7 +4118,7 @@
3199
4118
  },
3200
4119
  "hasDynamicHelp": false,
3201
4120
  "hiddenAliases": [],
3202
- "id": "phase:delete",
4121
+ "id": "project:delete",
3203
4122
  "pluginAlias": "@proletariat/cli",
3204
4123
  "pluginName": "@proletariat/cli",
3205
4124
  "pluginType": "core",
@@ -3208,79 +4127,16 @@
3208
4127
  "relativePath": [
3209
4128
  "dist",
3210
4129
  "commands",
3211
- "phase",
4130
+ "project",
3212
4131
  "delete.js"
3213
4132
  ]
3214
4133
  },
3215
- "phase:list": {
4134
+ "project": {
3216
4135
  "aliases": [],
3217
4136
  "args": {},
3218
- "description": "List all project lifecycle phases",
3219
- "examples": [
3220
- "<%= config.bin %> <%= command.id %>",
3221
- "<%= config.bin %> <%= command.id %> --category started",
3222
- "<%= config.bin %> <%= command.id %> --json"
3223
- ],
3224
- "flags": {
3225
- "project": {
3226
- "char": "P",
3227
- "description": "Project ID (uses first project if only one exists)",
3228
- "name": "project",
3229
- "hasDynamicHelp": false,
3230
- "multiple": false,
3231
- "type": "option"
3232
- },
3233
- "category": {
3234
- "char": "c",
3235
- "description": "Filter by category",
3236
- "name": "category",
3237
- "hasDynamicHelp": false,
3238
- "multiple": false,
3239
- "options": [
3240
- "backlog",
3241
- "unstarted",
3242
- "started",
3243
- "completed",
3244
- "canceled"
3245
- ],
3246
- "type": "option"
3247
- },
3248
- "json": {
3249
- "description": "Output as JSON",
3250
- "name": "json",
3251
- "allowNo": false,
3252
- "type": "boolean"
3253
- }
3254
- },
3255
- "hasDynamicHelp": false,
3256
- "hiddenAliases": [],
3257
- "id": "phase:list",
3258
- "pluginAlias": "@proletariat/cli",
3259
- "pluginName": "@proletariat/cli",
3260
- "pluginType": "core",
3261
- "strict": true,
3262
- "isESM": true,
3263
- "relativePath": [
3264
- "dist",
3265
- "commands",
3266
- "phase",
3267
- "list.js"
3268
- ]
3269
- },
3270
- "phase:move": {
3271
- "aliases": [],
3272
- "args": {
3273
- "id": {
3274
- "description": "Phase ID - prompts with dropdown if not provided",
3275
- "name": "id",
3276
- "required": false
3277
- }
3278
- },
3279
- "description": "Change the position of a phase within its category",
4137
+ "description": "Interactive menu for project operations",
3280
4138
  "examples": [
3281
- "<%= config.bin %> <%= command.id %> on-hold --position 0",
3282
- "<%= config.bin %> <%= command.id %> in-review --position 1",
3283
- "<%= config.bin %> <%= command.id %> # Interactive mode"
4139
+ "<%= config.bin %> <%= command.id %>"
3284
4140
  ],
3285
4141
  "flags": {
3286
4142
  "project": {
@@ -3291,15 +4147,6 @@
3291
4147
  "multiple": false,
3292
4148
  "type": "option"
3293
4149
  },
3294
- "position": {
3295
- "char": "p",
3296
- "description": "New position (0-indexed)",
3297
- "name": "position",
3298
- "required": false,
3299
- "hasDynamicHelp": false,
3300
- "multiple": false,
3301
- "type": "option"
3302
- },
3303
4150
  "json": {
3304
4151
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3305
4152
  "name": "json",
@@ -3309,7 +4156,7 @@
3309
4156
  },
3310
4157
  "hasDynamicHelp": false,
3311
4158
  "hiddenAliases": [],
3312
- "id": "phase:move",
4159
+ "id": "project",
3313
4160
  "pluginAlias": "@proletariat/cli",
3314
4161
  "pluginName": "@proletariat/cli",
3315
4162
  "pluginType": "core",
@@ -3318,25 +4165,18 @@
3318
4165
  "relativePath": [
3319
4166
  "dist",
3320
4167
  "commands",
3321
- "phase",
3322
- "move.js"
4168
+ "project",
4169
+ "index.js"
3323
4170
  ]
3324
4171
  },
3325
- "phase:update": {
4172
+ "project:list": {
3326
4173
  "aliases": [],
3327
- "args": {
3328
- "id": {
3329
- "description": "Phase ID - prompts with dropdown if not provided",
3330
- "name": "id",
3331
- "required": false
3332
- }
3333
- },
3334
- "description": "Update a project lifecycle phase",
4174
+ "args": {},
4175
+ "description": "List all projects in the PMO",
3335
4176
  "examples": [
3336
- "<%= config.bin %> <%= command.id %> active --name \"In Development\"",
3337
- "<%= config.bin %> <%= command.id %> idea --color \"#9333EA\"",
3338
- "<%= config.bin %> <%= command.id %> planned --default",
3339
- "<%= config.bin %> <%= command.id %> # Interactive mode"
4177
+ "<%= config.bin %> <%= command.id %>",
4178
+ "<%= config.bin %> <%= command.id %> --archived",
4179
+ "<%= config.bin %> <%= command.id %> --all"
3340
4180
  ],
3341
4181
  "flags": {
3342
4182
  "project": {
@@ -3347,67 +4187,23 @@
3347
4187
  "multiple": false,
3348
4188
  "type": "option"
3349
4189
  },
3350
- "name": {
3351
- "char": "n",
3352
- "description": "New name",
3353
- "name": "name",
3354
- "hasDynamicHelp": false,
3355
- "multiple": false,
3356
- "type": "option"
3357
- },
3358
- "category": {
3359
- "char": "c",
3360
- "description": "New category",
3361
- "name": "category",
3362
- "hasDynamicHelp": false,
3363
- "multiple": false,
3364
- "options": [
3365
- "backlog",
3366
- "unstarted",
3367
- "started",
3368
- "completed",
3369
- "canceled"
3370
- ],
3371
- "type": "option"
3372
- },
3373
- "color": {
3374
- "description": "New hex color",
3375
- "name": "color",
3376
- "hasDynamicHelp": false,
3377
- "multiple": false,
3378
- "type": "option"
3379
- },
3380
- "description": {
3381
- "char": "d",
3382
- "description": "New description",
3383
- "name": "description",
3384
- "hasDynamicHelp": false,
3385
- "multiple": false,
3386
- "type": "option"
3387
- },
3388
- "default": {
3389
- "description": "Set as default phase",
3390
- "name": "default",
3391
- "allowNo": false,
3392
- "type": "boolean"
3393
- },
3394
- "interactive": {
3395
- "char": "i",
3396
- "description": "Interactive mode",
3397
- "name": "interactive",
4190
+ "archived": {
4191
+ "char": "a",
4192
+ "description": "Show only archived projects",
4193
+ "name": "archived",
3398
4194
  "allowNo": false,
3399
4195
  "type": "boolean"
3400
- },
3401
- "json": {
3402
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3403
- "name": "json",
4196
+ },
4197
+ "all": {
4198
+ "description": "Show all projects (including archived)",
4199
+ "name": "all",
3404
4200
  "allowNo": false,
3405
4201
  "type": "boolean"
3406
4202
  }
3407
4203
  },
3408
4204
  "hasDynamicHelp": false,
3409
4205
  "hiddenAliases": [],
3410
- "id": "phase:update",
4206
+ "id": "project:list",
3411
4207
  "pluginAlias": "@proletariat/cli",
3412
4208
  "pluginName": "@proletariat/cli",
3413
4209
  "pluginType": "core",
@@ -3416,46 +4212,47 @@
3416
4212
  "relativePath": [
3417
4213
  "dist",
3418
4214
  "commands",
3419
- "phase",
3420
- "update.js"
4215
+ "project",
4216
+ "list.js"
3421
4217
  ]
3422
4218
  },
3423
- "pmo:init": {
4219
+ "project:spec": {
3424
4220
  "aliases": [],
3425
- "args": {},
3426
- "description": "Initialize PMO (Project Management Org) in current directory or HQ",
4221
+ "args": {
4222
+ "projectId": {
4223
+ "description": "Project ID",
4224
+ "name": "projectId",
4225
+ "required": false
4226
+ }
4227
+ },
4228
+ "description": "Manage specs associated with a project (many-to-many)",
3427
4229
  "examples": [
3428
- "<%= config.bin %> <%= command.id %>",
3429
- "<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool",
3430
- "<%= config.bin %> <%= command.id %> --location separate --template linear"
4230
+ "<%= config.bin %> <%= command.id %> my-project",
4231
+ "<%= config.bin %> <%= command.id %> my-project --add SPEC-001",
4232
+ "<%= config.bin %> <%= command.id %> my-project --remove SPEC-001",
4233
+ "<%= config.bin %> <%= command.id %>"
3431
4234
  ],
3432
4235
  "flags": {
3433
- "location": {
3434
- "char": "l",
3435
- "description": "PMO location (separate or repo:name)",
3436
- "name": "location",
4236
+ "project": {
4237
+ "char": "P",
4238
+ "description": "Project ID (uses first project if only one exists)",
4239
+ "name": "project",
3437
4240
  "hasDynamicHelp": false,
3438
4241
  "multiple": false,
3439
4242
  "type": "option"
3440
4243
  },
3441
- "template": {
3442
- "char": "t",
3443
- "description": "Board template",
3444
- "name": "template",
4244
+ "add": {
4245
+ "char": "a",
4246
+ "description": "Add a spec to this project",
4247
+ "name": "add",
3445
4248
  "hasDynamicHelp": false,
3446
4249
  "multiple": false,
3447
- "options": [
3448
- "kanban",
3449
- "linear",
3450
- "5-tool-founder",
3451
- "custom"
3452
- ],
3453
4250
  "type": "option"
3454
4251
  },
3455
- "name": {
3456
- "char": "n",
3457
- "description": "Board name",
3458
- "name": "name",
4252
+ "remove": {
4253
+ "char": "r",
4254
+ "description": "Remove a spec from this project",
4255
+ "name": "remove",
3459
4256
  "hasDynamicHelp": false,
3460
4257
  "multiple": false,
3461
4258
  "type": "option"
@@ -3469,104 +4266,80 @@
3469
4266
  },
3470
4267
  "hasDynamicHelp": false,
3471
4268
  "hiddenAliases": [],
3472
- "id": "pmo:init",
4269
+ "id": "project:spec",
3473
4270
  "pluginAlias": "@proletariat/cli",
3474
4271
  "pluginName": "@proletariat/cli",
3475
4272
  "pluginType": "core",
3476
4273
  "strict": true,
3477
- "enableJsonFlag": false,
3478
4274
  "isESM": true,
3479
4275
  "relativePath": [
3480
4276
  "dist",
3481
4277
  "commands",
3482
- "pmo",
3483
- "init.js"
4278
+ "project",
4279
+ "spec.js"
3484
4280
  ]
3485
4281
  },
3486
- "pr:create": {
4282
+ "project:unarchive": {
3487
4283
  "aliases": [],
3488
4284
  "args": {
3489
- "ticketId": {
3490
- "description": "Ticket ID to link to PR - auto-detects from branch if not provided",
3491
- "name": "ticketId",
3492
- "required": false
4285
+ "id": {
4286
+ "description": "Project ID",
4287
+ "name": "id",
4288
+ "required": true
3493
4289
  }
3494
4290
  },
3495
- "description": "Create a GitHub pull request from the current branch",
4291
+ "description": "Unarchive a project (restore to default views)",
3496
4292
  "examples": [
3497
- "<%= config.bin %> <%= command.id %>",
3498
- "<%= config.bin %> <%= command.id %> TKT-001",
3499
- "<%= config.bin %> <%= command.id %> --draft",
3500
- "<%= config.bin %> <%= command.id %> --base develop"
4293
+ "<%= config.bin %> <%= command.id %> old-project"
3501
4294
  ],
3502
4295
  "flags": {
3503
- "base": {
3504
- "char": "b",
3505
- "description": "Base branch for the PR (defaults to main/master)",
3506
- "name": "base",
3507
- "hasDynamicHelp": false,
3508
- "multiple": false,
3509
- "type": "option"
3510
- },
3511
- "draft": {
3512
- "char": "d",
3513
- "description": "Create as draft PR",
3514
- "name": "draft",
3515
- "allowNo": false,
3516
- "type": "boolean"
3517
- },
3518
- "no-link": {
3519
- "description": "Skip linking PR to ticket",
3520
- "name": "no-link",
3521
- "allowNo": false,
3522
- "type": "boolean"
3523
- },
3524
- "title": {
3525
- "char": "t",
3526
- "description": "PR title (auto-generated from ticket if not provided)",
3527
- "name": "title",
3528
- "hasDynamicHelp": false,
3529
- "multiple": false,
3530
- "type": "option"
3531
- },
3532
- "body": {
3533
- "description": "PR body/description",
3534
- "name": "body",
4296
+ "project": {
4297
+ "char": "P",
4298
+ "description": "Project ID (uses first project if only one exists)",
4299
+ "name": "project",
3535
4300
  "hasDynamicHelp": false,
3536
4301
  "multiple": false,
3537
4302
  "type": "option"
3538
- },
3539
- "json": {
3540
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3541
- "name": "json",
3542
- "allowNo": false,
3543
- "type": "boolean"
3544
4303
  }
3545
4304
  },
3546
4305
  "hasDynamicHelp": false,
3547
4306
  "hiddenAliases": [],
3548
- "id": "pr:create",
4307
+ "id": "project:unarchive",
3549
4308
  "pluginAlias": "@proletariat/cli",
3550
4309
  "pluginName": "@proletariat/cli",
3551
4310
  "pluginType": "core",
3552
4311
  "strict": true,
3553
- "enableJsonFlag": false,
3554
4312
  "isESM": true,
3555
4313
  "relativePath": [
3556
4314
  "dist",
3557
4315
  "commands",
3558
- "pr",
3559
- "create.js"
4316
+ "project",
4317
+ "unarchive.js"
3560
4318
  ]
3561
4319
  },
3562
- "pr": {
4320
+ "project:view": {
3563
4321
  "aliases": [],
3564
- "args": {},
3565
- "description": "Interactive menu for pull request operations",
4322
+ "args": {
4323
+ "id": {
4324
+ "description": "Project ID to view - prompts with dropdown if not provided",
4325
+ "name": "id",
4326
+ "required": false
4327
+ }
4328
+ },
4329
+ "description": "View a project's board",
3566
4330
  "examples": [
3567
- "<%= config.bin %> <%= command.id %>"
4331
+ "<%= config.bin %> <%= command.id %> my-project",
4332
+ "<%= config.bin %> <%= command.id %> # Views default project"
3568
4333
  ],
3569
4334
  "flags": {
4335
+ "project": {
4336
+ "char": "P",
4337
+ "description": "Project ID (uses first project if only one exists)",
4338
+ "name": "project",
4339
+ "hasDynamicHelp": false,
4340
+ "multiple": false,
4341
+ "type": "option"
4342
+ },
3570
4343
  "json": {
3571
4344
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3572
4345
  "name": "json",
@@ -3576,127 +4349,184 @@
3576
4349
  },
3577
4350
  "hasDynamicHelp": false,
3578
4351
  "hiddenAliases": [],
3579
- "id": "pr",
4352
+ "id": "project:view",
3580
4353
  "pluginAlias": "@proletariat/cli",
3581
4354
  "pluginName": "@proletariat/cli",
3582
4355
  "pluginType": "core",
3583
4356
  "strict": true,
3584
- "enableJsonFlag": false,
3585
4357
  "isESM": true,
3586
4358
  "relativePath": [
3587
4359
  "dist",
3588
4360
  "commands",
3589
- "pr",
3590
- "index.js"
4361
+ "project",
4362
+ "view.js"
3591
4363
  ]
3592
4364
  },
3593
- "pr:link": {
4365
+ "repo:add": {
3594
4366
  "aliases": [],
3595
4367
  "args": {
3596
- "ticketId": {
3597
- "description": "Ticket ID to link PR to",
3598
- "name": "ticketId",
4368
+ "path": {
4369
+ "description": "Repository path or Git URL",
4370
+ "name": "path",
3599
4371
  "required": false
3600
4372
  }
3601
4373
  },
3602
- "description": "Link an existing GitHub pull request to a ticket",
4374
+ "description": "Add a repository to the HQ",
3603
4375
  "examples": [
4376
+ "<%= config.bin %> <%= command.id %> /path/to/repo",
4377
+ "<%= config.bin %> <%= command.id %> git@github.com:user/repo.git",
3604
4378
  "<%= config.bin %> <%= command.id %>",
3605
- "<%= config.bin %> <%= command.id %> TKT-001",
3606
- "<%= config.bin %> <%= command.id %> TKT-001 --pr 123",
3607
- "<%= config.bin %> <%= command.id %> TKT-001 --url https://github.com/owner/repo/pull/123"
4379
+ "<%= config.bin %> <%= command.id %> --bulk"
3608
4380
  ],
3609
4381
  "flags": {
3610
- "pr": {
3611
- "char": "p",
3612
- "description": "PR number to link",
3613
- "name": "pr",
4382
+ "project": {
4383
+ "char": "P",
4384
+ "description": "Project ID (uses first project if only one exists)",
4385
+ "name": "project",
3614
4386
  "hasDynamicHelp": false,
3615
4387
  "multiple": false,
3616
4388
  "type": "option"
3617
4389
  },
3618
- "url": {
3619
- "char": "u",
3620
- "description": "PR URL to link",
3621
- "name": "url",
4390
+ "action": {
4391
+ "char": "a",
4392
+ "description": "Action for local paths",
4393
+ "name": "action",
4394
+ "default": "clone",
3622
4395
  "hasDynamicHelp": false,
3623
4396
  "multiple": false,
4397
+ "options": [
4398
+ "clone",
4399
+ "move"
4400
+ ],
3624
4401
  "type": "option"
3625
4402
  },
3626
- "json": {
3627
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3628
- "name": "json",
4403
+ "bulk": {
4404
+ "char": "b",
4405
+ "description": "Add multiple repositories interactively",
4406
+ "name": "bulk",
3629
4407
  "allowNo": false,
3630
4408
  "type": "boolean"
3631
4409
  }
3632
4410
  },
3633
4411
  "hasDynamicHelp": false,
3634
4412
  "hiddenAliases": [],
3635
- "id": "pr:link",
4413
+ "id": "repo:add",
3636
4414
  "pluginAlias": "@proletariat/cli",
3637
4415
  "pluginName": "@proletariat/cli",
3638
4416
  "pluginType": "core",
3639
4417
  "strict": true,
3640
- "enableJsonFlag": false,
3641
4418
  "isESM": true,
3642
4419
  "relativePath": [
3643
4420
  "dist",
3644
4421
  "commands",
3645
- "pr",
3646
- "link.js"
4422
+ "repo",
4423
+ "add.js"
3647
4424
  ]
3648
4425
  },
3649
- "pr:status": {
4426
+ "repo": {
3650
4427
  "aliases": [],
3651
- "args": {
3652
- "ticketId": {
3653
- "description": "Ticket ID to check PR status for",
3654
- "name": "ticketId",
3655
- "required": false
4428
+ "args": {},
4429
+ "description": "Repository management operations",
4430
+ "examples": [
4431
+ "<%= config.bin %> <%= command.id %> list",
4432
+ "<%= config.bin %> <%= command.id %> add /path/to/repo",
4433
+ "<%= config.bin %> <%= command.id %> remove my-repo",
4434
+ "<%= config.bin %> <%= command.id %> view my-repo"
4435
+ ],
4436
+ "flags": {
4437
+ "project": {
4438
+ "char": "P",
4439
+ "description": "Project ID (uses first project if only one exists)",
4440
+ "name": "project",
4441
+ "hasDynamicHelp": false,
4442
+ "multiple": false,
4443
+ "type": "option"
4444
+ },
4445
+ "json": {
4446
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4447
+ "name": "json",
4448
+ "allowNo": false,
4449
+ "type": "boolean"
3656
4450
  }
3657
4451
  },
3658
- "description": "View PR status for a ticket",
4452
+ "hasDynamicHelp": false,
4453
+ "hiddenAliases": [],
4454
+ "id": "repo",
4455
+ "pluginAlias": "@proletariat/cli",
4456
+ "pluginName": "@proletariat/cli",
4457
+ "pluginType": "core",
4458
+ "strict": true,
4459
+ "isESM": true,
4460
+ "relativePath": [
4461
+ "dist",
4462
+ "commands",
4463
+ "repo",
4464
+ "index.js"
4465
+ ]
4466
+ },
4467
+ "repo:list": {
4468
+ "aliases": [],
4469
+ "args": {},
4470
+ "description": "List all repositories in the HQ",
3659
4471
  "examples": [
3660
4472
  "<%= config.bin %> <%= command.id %>",
3661
- "<%= config.bin %> <%= command.id %> TKT-001"
4473
+ "<%= config.bin %> <%= command.id %> --format compact",
4474
+ "<%= config.bin %> <%= command.id %> --format json"
3662
4475
  ],
3663
4476
  "flags": {
3664
- "json": {
3665
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3666
- "name": "json",
3667
- "allowNo": false,
3668
- "type": "boolean"
4477
+ "project": {
4478
+ "char": "P",
4479
+ "description": "Project ID (uses first project if only one exists)",
4480
+ "name": "project",
4481
+ "hasDynamicHelp": false,
4482
+ "multiple": false,
4483
+ "type": "option"
4484
+ },
4485
+ "format": {
4486
+ "char": "f",
4487
+ "description": "Output format",
4488
+ "name": "format",
4489
+ "default": "table",
4490
+ "hasDynamicHelp": false,
4491
+ "multiple": false,
4492
+ "options": [
4493
+ "table",
4494
+ "compact",
4495
+ "json"
4496
+ ],
4497
+ "type": "option"
3669
4498
  }
3670
4499
  },
3671
4500
  "hasDynamicHelp": false,
3672
4501
  "hiddenAliases": [],
3673
- "id": "pr:status",
4502
+ "id": "repo:list",
3674
4503
  "pluginAlias": "@proletariat/cli",
3675
4504
  "pluginName": "@proletariat/cli",
3676
4505
  "pluginType": "core",
3677
4506
  "strict": true,
3678
- "enableJsonFlag": false,
3679
4507
  "isESM": true,
3680
4508
  "relativePath": [
3681
4509
  "dist",
3682
4510
  "commands",
3683
- "pr",
3684
- "status.js"
4511
+ "repo",
4512
+ "list.js"
3685
4513
  ]
3686
4514
  },
3687
- "project:archive": {
4515
+ "repo:remove": {
3688
4516
  "aliases": [],
3689
4517
  "args": {
3690
- "id": {
3691
- "description": "Project ID",
3692
- "name": "id",
3693
- "required": true
4518
+ "name": {
4519
+ "description": "Repository name to remove",
4520
+ "name": "name",
4521
+ "required": false
3694
4522
  }
3695
4523
  },
3696
- "description": "Archive a project (hide from default views)",
4524
+ "description": "Remove a repository from the HQ",
3697
4525
  "examples": [
3698
- "<%= config.bin %> <%= command.id %> old-project",
3699
- "<%= config.bin %> <%= command.id %> old-project --force"
4526
+ "<%= config.bin %> <%= command.id %> my-repo",
4527
+ "<%= config.bin %> <%= command.id %> my-repo --force",
4528
+ "<%= config.bin %> <%= command.id %>",
4529
+ "<%= config.bin %> <%= command.id %> --bulk"
3700
4530
  ],
3701
4531
  "flags": {
3702
4532
  "project": {
@@ -3709,11 +4539,24 @@
3709
4539
  },
3710
4540
  "force": {
3711
4541
  "char": "f",
3712
- "description": "Skip confirmation",
4542
+ "description": "Skip confirmation prompt",
3713
4543
  "name": "force",
3714
4544
  "allowNo": false,
3715
4545
  "type": "boolean"
3716
4546
  },
4547
+ "keep-files": {
4548
+ "description": "Remove from database but keep files",
4549
+ "name": "keep-files",
4550
+ "allowNo": false,
4551
+ "type": "boolean"
4552
+ },
4553
+ "bulk": {
4554
+ "char": "b",
4555
+ "description": "Remove multiple repositories interactively",
4556
+ "name": "bulk",
4557
+ "allowNo": false,
4558
+ "type": "boolean"
4559
+ },
3717
4560
  "json": {
3718
4561
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3719
4562
  "name": "json",
@@ -3723,7 +4566,7 @@
3723
4566
  },
3724
4567
  "hasDynamicHelp": false,
3725
4568
  "hiddenAliases": [],
3726
- "id": "project:archive",
4569
+ "id": "repo:remove",
3727
4570
  "pluginAlias": "@proletariat/cli",
3728
4571
  "pluginName": "@proletariat/cli",
3729
4572
  "pluginType": "core",
@@ -3732,24 +4575,23 @@
3732
4575
  "relativePath": [
3733
4576
  "dist",
3734
4577
  "commands",
3735
- "project",
3736
- "archive.js"
4578
+ "repo",
4579
+ "remove.js"
3737
4580
  ]
3738
4581
  },
3739
- "project:create": {
4582
+ "repo:view": {
3740
4583
  "aliases": [],
3741
4584
  "args": {
3742
4585
  "name": {
3743
- "description": "Project name",
4586
+ "description": "Repository name to view",
3744
4587
  "name": "name",
3745
4588
  "required": false
3746
4589
  }
3747
4590
  },
3748
- "description": "Create a new project in the PMO",
4591
+ "description": "View detailed information about a repository",
3749
4592
  "examples": [
3750
- "<%= config.bin %> <%= command.id %> \"My New Project\"",
3751
- "<%= config.bin %> <%= command.id %> --name \"Mobile App\" --description \"iOS and Android app\"",
3752
- "<%= config.bin %> <%= command.id %> -i # Interactive mode"
4593
+ "<%= config.bin %> <%= command.id %> my-repo",
4594
+ "<%= config.bin %> <%= command.id %>"
3753
4595
  ],
3754
4596
  "flags": {
3755
4597
  "project": {
@@ -3759,64 +4601,11 @@
3759
4601
  "hasDynamicHelp": false,
3760
4602
  "multiple": false,
3761
4603
  "type": "option"
3762
- },
3763
- "name": {
3764
- "char": "n",
3765
- "description": "Project name",
3766
- "name": "name",
3767
- "hasDynamicHelp": false,
3768
- "multiple": false,
3769
- "type": "option"
3770
- },
3771
- "id": {
3772
- "description": "Custom project ID (auto-generated from name if not provided)",
3773
- "name": "id",
3774
- "hasDynamicHelp": false,
3775
- "multiple": false,
3776
- "type": "option"
3777
- },
3778
- "description": {
3779
- "char": "d",
3780
- "description": "Project description",
3781
- "name": "description",
3782
- "hasDynamicHelp": false,
3783
- "multiple": false,
3784
- "type": "option"
3785
- },
3786
- "template": {
3787
- "char": "t",
3788
- "description": "Workflow template",
3789
- "name": "template",
3790
- "default": "kanban",
3791
- "hasDynamicHelp": false,
3792
- "multiple": false,
3793
- "options": [
3794
- "default",
3795
- "kanban",
3796
- "linear",
3797
- "5-tool-founder",
3798
- "bug-smash",
3799
- "gtm"
3800
- ],
3801
- "type": "option"
3802
- },
3803
- "interactive": {
3804
- "char": "i",
3805
- "description": "Interactive mode",
3806
- "name": "interactive",
3807
- "allowNo": false,
3808
- "type": "boolean"
3809
- },
3810
- "json": {
3811
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3812
- "name": "json",
3813
- "allowNo": false,
3814
- "type": "boolean"
3815
4604
  }
3816
4605
  },
3817
4606
  "hasDynamicHelp": false,
3818
4607
  "hiddenAliases": [],
3819
- "id": "project:create",
4608
+ "id": "repo:view",
3820
4609
  "pluginAlias": "@proletariat/cli",
3821
4610
  "pluginName": "@proletariat/cli",
3822
4611
  "pluginType": "core",
@@ -3825,23 +4614,24 @@
3825
4614
  "relativePath": [
3826
4615
  "dist",
3827
4616
  "commands",
3828
- "project",
3829
- "create.js"
4617
+ "repo",
4618
+ "view.js"
3830
4619
  ]
3831
4620
  },
3832
- "project:delete": {
4621
+ "session:attach": {
3833
4622
  "aliases": [],
3834
4623
  "args": {
3835
- "id": {
3836
- "description": "Project ID to delete - prompts with dropdown if not provided",
3837
- "name": "id",
4624
+ "session": {
4625
+ "description": "Session name or ticket ID to attach to (optional - will prompt if not provided)",
4626
+ "name": "session",
3838
4627
  "required": false
3839
4628
  }
3840
4629
  },
3841
- "description": "Delete a project from the PMO",
4630
+ "description": "Attach to an active tmux session",
3842
4631
  "examples": [
3843
- "<%= config.bin %> <%= command.id %> my-project",
3844
- "<%= config.bin %> <%= command.id %> my-project --force"
4632
+ "<%= config.bin %> <%= command.id %>",
4633
+ "<%= config.bin %> <%= command.id %> TKT-347-implement-altman",
4634
+ "<%= config.bin %> <%= command.id %> --current-terminal"
3845
4635
  ],
3846
4636
  "flags": {
3847
4637
  "project": {
@@ -3852,23 +4642,39 @@
3852
4642
  "multiple": false,
3853
4643
  "type": "option"
3854
4644
  },
3855
- "force": {
3856
- "char": "f",
3857
- "description": "Skip confirmation prompt",
3858
- "name": "force",
3859
- "allowNo": false,
3860
- "type": "boolean"
3861
- },
3862
4645
  "json": {
3863
4646
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3864
4647
  "name": "json",
3865
4648
  "allowNo": false,
3866
4649
  "type": "boolean"
4650
+ },
4651
+ "new-tab": {
4652
+ "char": "n",
4653
+ "description": "Open in a new terminal tab (default: true)",
4654
+ "name": "new-tab",
4655
+ "allowNo": false,
4656
+ "type": "boolean"
4657
+ },
4658
+ "current-terminal": {
4659
+ "char": "c",
4660
+ "description": "Attach in current terminal instead of new tab",
4661
+ "name": "current-terminal",
4662
+ "allowNo": false,
4663
+ "type": "boolean"
4664
+ },
4665
+ "terminal": {
4666
+ "char": "t",
4667
+ "description": "Terminal app to use (iTerm, Terminal, Ghostty)",
4668
+ "name": "terminal",
4669
+ "default": "iTerm",
4670
+ "hasDynamicHelp": false,
4671
+ "multiple": false,
4672
+ "type": "option"
3867
4673
  }
3868
4674
  },
3869
4675
  "hasDynamicHelp": false,
3870
4676
  "hiddenAliases": [],
3871
- "id": "project:delete",
4677
+ "id": "session:attach",
3872
4678
  "pluginAlias": "@proletariat/cli",
3873
4679
  "pluginName": "@proletariat/cli",
3874
4680
  "pluginType": "core",
@@ -3877,16 +4683,18 @@
3877
4683
  "relativePath": [
3878
4684
  "dist",
3879
4685
  "commands",
3880
- "project",
3881
- "delete.js"
4686
+ "session",
4687
+ "attach.js"
3882
4688
  ]
3883
4689
  },
3884
- "project": {
4690
+ "session": {
3885
4691
  "aliases": [],
3886
4692
  "args": {},
3887
- "description": "Interactive menu for project operations",
4693
+ "description": "Manage agent tmux sessions (list, attach, detach)",
3888
4694
  "examples": [
3889
- "<%= config.bin %> <%= command.id %>"
4695
+ "<%= config.bin %> <%= command.id %>",
4696
+ "<%= config.bin %> <%= command.id %> list",
4697
+ "<%= config.bin %> <%= command.id %> attach TKT-347-implement"
3890
4698
  ],
3891
4699
  "flags": {
3892
4700
  "project": {
@@ -3906,7 +4714,7 @@
3906
4714
  },
3907
4715
  "hasDynamicHelp": false,
3908
4716
  "hiddenAliases": [],
3909
- "id": "project",
4717
+ "id": "session",
3910
4718
  "pluginAlias": "@proletariat/cli",
3911
4719
  "pluginName": "@proletariat/cli",
3912
4720
  "pluginType": "core",
@@ -3915,17 +4723,16 @@
3915
4723
  "relativePath": [
3916
4724
  "dist",
3917
4725
  "commands",
3918
- "project",
4726
+ "session",
3919
4727
  "index.js"
3920
4728
  ]
3921
4729
  },
3922
- "project:list": {
4730
+ "session:list": {
3923
4731
  "aliases": [],
3924
4732
  "args": {},
3925
- "description": "List all projects in the PMO",
4733
+ "description": "List active tmux sessions (host and container)",
3926
4734
  "examples": [
3927
4735
  "<%= config.bin %> <%= command.id %>",
3928
- "<%= config.bin %> <%= command.id %> --archived",
3929
4736
  "<%= config.bin %> <%= command.id %> --all"
3930
4737
  ],
3931
4738
  "flags": {
@@ -3937,15 +4744,9 @@
3937
4744
  "multiple": false,
3938
4745
  "type": "option"
3939
4746
  },
3940
- "archived": {
3941
- "char": "a",
3942
- "description": "Show only archived projects",
3943
- "name": "archived",
3944
- "allowNo": false,
3945
- "type": "boolean"
3946
- },
3947
4747
  "all": {
3948
- "description": "Show all projects (including archived)",
4748
+ "char": "a",
4749
+ "description": "Show all sessions including stale DB records",
3949
4750
  "name": "all",
3950
4751
  "allowNo": false,
3951
4752
  "type": "boolean"
@@ -3953,7 +4754,7 @@
3953
4754
  },
3954
4755
  "hasDynamicHelp": false,
3955
4756
  "hiddenAliases": [],
3956
- "id": "project:list",
4757
+ "id": "session:list",
3957
4758
  "pluginAlias": "@proletariat/cli",
3958
4759
  "pluginName": "@proletariat/cli",
3959
4760
  "pluginType": "core",
@@ -3962,47 +4763,43 @@
3962
4763
  "relativePath": [
3963
4764
  "dist",
3964
4765
  "commands",
3965
- "project",
4766
+ "session",
3966
4767
  "list.js"
3967
4768
  ]
3968
4769
  },
3969
- "project:spec": {
4770
+ "roadmap:add-project": {
3970
4771
  "aliases": [],
3971
4772
  "args": {
3972
- "projectId": {
3973
- "description": "Project ID",
3974
- "name": "projectId",
4773
+ "roadmap": {
4774
+ "description": "Roadmap ID",
4775
+ "name": "roadmap",
4776
+ "required": false
4777
+ },
4778
+ "project": {
4779
+ "description": "Project ID to add",
4780
+ "name": "project",
3975
4781
  "required": false
3976
4782
  }
3977
4783
  },
3978
- "description": "Manage specs associated with a project (many-to-many)",
4784
+ "description": "Add a project to a roadmap",
3979
4785
  "examples": [
3980
- "<%= config.bin %> <%= command.id %> my-project",
3981
- "<%= config.bin %> <%= command.id %> my-project --add SPEC-001",
3982
- "<%= config.bin %> <%= command.id %> my-project --remove SPEC-001",
3983
- "<%= config.bin %> <%= command.id %>"
4786
+ "<%= config.bin %> <%= command.id %> my-roadmap my-project",
4787
+ "<%= config.bin %> <%= command.id %> my-roadmap # Interactive project selection",
4788
+ "<%= config.bin %> <%= command.id %> # Interactive selection for both"
3984
4789
  ],
3985
4790
  "flags": {
3986
4791
  "project": {
3987
4792
  "char": "P",
3988
- "description": "Project ID (uses first project if only one exists)",
3989
- "name": "project",
3990
- "hasDynamicHelp": false,
3991
- "multiple": false,
3992
- "type": "option"
3993
- },
3994
- "add": {
3995
- "char": "a",
3996
- "description": "Add a spec to this project",
3997
- "name": "add",
4793
+ "description": "Project ID (uses first project if only one exists)",
4794
+ "name": "project",
3998
4795
  "hasDynamicHelp": false,
3999
4796
  "multiple": false,
4000
4797
  "type": "option"
4001
4798
  },
4002
- "remove": {
4003
- "char": "r",
4004
- "description": "Remove a spec from this project",
4005
- "name": "remove",
4799
+ "position": {
4800
+ "char": "p",
4801
+ "description": "Position in the roadmap (0-indexed)",
4802
+ "name": "position",
4006
4803
  "hasDynamicHelp": false,
4007
4804
  "multiple": false,
4008
4805
  "type": "option"
@@ -4016,7 +4813,7 @@
4016
4813
  },
4017
4814
  "hasDynamicHelp": false,
4018
4815
  "hiddenAliases": [],
4019
- "id": "project:spec",
4816
+ "id": "roadmap:add-project",
4020
4817
  "pluginAlias": "@proletariat/cli",
4021
4818
  "pluginName": "@proletariat/cli",
4022
4819
  "pluginType": "core",
@@ -4025,22 +4822,24 @@
4025
4822
  "relativePath": [
4026
4823
  "dist",
4027
4824
  "commands",
4028
- "project",
4029
- "spec.js"
4825
+ "roadmap",
4826
+ "add-project.js"
4030
4827
  ]
4031
4828
  },
4032
- "project:unarchive": {
4829
+ "roadmap:create": {
4033
4830
  "aliases": [],
4034
4831
  "args": {
4035
- "id": {
4036
- "description": "Project ID",
4037
- "name": "id",
4038
- "required": true
4832
+ "name": {
4833
+ "description": "Roadmap name",
4834
+ "name": "name",
4835
+ "required": false
4039
4836
  }
4040
4837
  },
4041
- "description": "Unarchive a project (restore to default views)",
4838
+ "description": "Create a new roadmap",
4042
4839
  "examples": [
4043
- "<%= config.bin %> <%= command.id %> old-project"
4840
+ "<%= config.bin %> <%= command.id %> \"Public Roadmap\"",
4841
+ "<%= config.bin %> <%= command.id %> --name \"Internal Roadmap\" --description \"Full project list\"",
4842
+ "<%= config.bin %> <%= command.id %> -i # Interactive mode"
4044
4843
  ],
4045
4844
  "flags": {
4046
4845
  "project": {
@@ -4050,11 +4849,53 @@
4050
4849
  "hasDynamicHelp": false,
4051
4850
  "multiple": false,
4052
4851
  "type": "option"
4852
+ },
4853
+ "name": {
4854
+ "char": "n",
4855
+ "description": "Roadmap name",
4856
+ "name": "name",
4857
+ "hasDynamicHelp": false,
4858
+ "multiple": false,
4859
+ "type": "option"
4860
+ },
4861
+ "id": {
4862
+ "description": "Custom roadmap ID (auto-generated from name if not provided)",
4863
+ "name": "id",
4864
+ "hasDynamicHelp": false,
4865
+ "multiple": false,
4866
+ "type": "option"
4867
+ },
4868
+ "description": {
4869
+ "char": "d",
4870
+ "description": "Roadmap description",
4871
+ "name": "description",
4872
+ "hasDynamicHelp": false,
4873
+ "multiple": false,
4874
+ "type": "option"
4875
+ },
4876
+ "default": {
4877
+ "description": "Set as the default roadmap",
4878
+ "name": "default",
4879
+ "allowNo": false,
4880
+ "type": "boolean"
4881
+ },
4882
+ "interactive": {
4883
+ "char": "i",
4884
+ "description": "Interactive mode",
4885
+ "name": "interactive",
4886
+ "allowNo": false,
4887
+ "type": "boolean"
4888
+ },
4889
+ "json": {
4890
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4891
+ "name": "json",
4892
+ "allowNo": false,
4893
+ "type": "boolean"
4053
4894
  }
4054
4895
  },
4055
4896
  "hasDynamicHelp": false,
4056
4897
  "hiddenAliases": [],
4057
- "id": "project:unarchive",
4898
+ "id": "roadmap:create",
4058
4899
  "pluginAlias": "@proletariat/cli",
4059
4900
  "pluginName": "@proletariat/cli",
4060
4901
  "pluginType": "core",
@@ -4063,23 +4904,24 @@
4063
4904
  "relativePath": [
4064
4905
  "dist",
4065
4906
  "commands",
4066
- "project",
4067
- "unarchive.js"
4907
+ "roadmap",
4908
+ "create.js"
4068
4909
  ]
4069
4910
  },
4070
- "project:view": {
4911
+ "roadmap:delete": {
4071
4912
  "aliases": [],
4072
4913
  "args": {
4073
4914
  "id": {
4074
- "description": "Project ID to view - prompts with dropdown if not provided",
4915
+ "description": "Roadmap ID to delete",
4075
4916
  "name": "id",
4076
4917
  "required": false
4077
4918
  }
4078
4919
  },
4079
- "description": "View a project's board",
4920
+ "description": "Delete a roadmap",
4080
4921
  "examples": [
4081
- "<%= config.bin %> <%= command.id %> my-project",
4082
- "<%= config.bin %> <%= command.id %> # Views default project"
4922
+ "<%= config.bin %> <%= command.id %> my-roadmap",
4923
+ "<%= config.bin %> <%= command.id %> my-roadmap --force",
4924
+ "<%= config.bin %> <%= command.id %> # Interactive selection"
4083
4925
  ],
4084
4926
  "flags": {
4085
4927
  "project": {
@@ -4090,6 +4932,13 @@
4090
4932
  "multiple": false,
4091
4933
  "type": "option"
4092
4934
  },
4935
+ "force": {
4936
+ "char": "f",
4937
+ "description": "Skip confirmation",
4938
+ "name": "force",
4939
+ "allowNo": false,
4940
+ "type": "boolean"
4941
+ },
4093
4942
  "json": {
4094
4943
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4095
4944
  "name": "json",
@@ -4099,7 +4948,7 @@
4099
4948
  },
4100
4949
  "hasDynamicHelp": false,
4101
4950
  "hiddenAliases": [],
4102
- "id": "project:view",
4951
+ "id": "roadmap:delete",
4103
4952
  "pluginAlias": "@proletariat/cli",
4104
4953
  "pluginName": "@proletariat/cli",
4105
4954
  "pluginType": "core",
@@ -4108,25 +4957,24 @@
4108
4957
  "relativePath": [
4109
4958
  "dist",
4110
4959
  "commands",
4111
- "project",
4112
- "view.js"
4960
+ "roadmap",
4961
+ "delete.js"
4113
4962
  ]
4114
4963
  },
4115
- "repo:add": {
4964
+ "roadmap:generate": {
4116
4965
  "aliases": [],
4117
4966
  "args": {
4118
- "path": {
4119
- "description": "Repository path or Git URL",
4120
- "name": "path",
4967
+ "id": {
4968
+ "description": "Roadmap ID to generate",
4969
+ "name": "id",
4121
4970
  "required": false
4122
4971
  }
4123
4972
  },
4124
- "description": "Add a repository to the HQ",
4973
+ "description": "Generate roadmap markdown file",
4125
4974
  "examples": [
4126
- "<%= config.bin %> <%= command.id %> /path/to/repo",
4127
- "<%= config.bin %> <%= command.id %> git@github.com:user/repo.git",
4128
- "<%= config.bin %> <%= command.id %>",
4129
- "<%= config.bin %> <%= command.id %> --bulk"
4975
+ "<%= config.bin %> <%= command.id %> my-roadmap",
4976
+ "<%= config.bin %> <%= command.id %> --all",
4977
+ "<%= config.bin %> <%= command.id %> my-roadmap --output ./docs"
4130
4978
  ],
4131
4979
  "flags": {
4132
4980
  "project": {
@@ -4137,30 +4985,30 @@
4137
4985
  "multiple": false,
4138
4986
  "type": "option"
4139
4987
  },
4140
- "action": {
4141
- "char": "a",
4142
- "description": "Action for local paths",
4143
- "name": "action",
4144
- "default": "clone",
4988
+ "all": {
4989
+ "description": "Generate all roadmaps",
4990
+ "name": "all",
4991
+ "allowNo": false,
4992
+ "type": "boolean"
4993
+ },
4994
+ "output": {
4995
+ "char": "o",
4996
+ "description": "Output directory (default: {pmoPath}/roadmaps)",
4997
+ "name": "output",
4145
4998
  "hasDynamicHelp": false,
4146
4999
  "multiple": false,
4147
- "options": [
4148
- "clone",
4149
- "move"
4150
- ],
4151
5000
  "type": "option"
4152
5001
  },
4153
- "bulk": {
4154
- "char": "b",
4155
- "description": "Add multiple repositories interactively",
4156
- "name": "bulk",
5002
+ "json": {
5003
+ "description": "Output prompt configuration as JSON",
5004
+ "name": "json",
4157
5005
  "allowNo": false,
4158
5006
  "type": "boolean"
4159
5007
  }
4160
5008
  },
4161
5009
  "hasDynamicHelp": false,
4162
5010
  "hiddenAliases": [],
4163
- "id": "repo:add",
5011
+ "id": "roadmap:generate",
4164
5012
  "pluginAlias": "@proletariat/cli",
4165
5013
  "pluginName": "@proletariat/cli",
4166
5014
  "pluginType": "core",
@@ -4169,19 +5017,16 @@
4169
5017
  "relativePath": [
4170
5018
  "dist",
4171
5019
  "commands",
4172
- "repo",
4173
- "add.js"
5020
+ "roadmap",
5021
+ "generate.js"
4174
5022
  ]
4175
5023
  },
4176
- "repo": {
5024
+ "roadmap": {
4177
5025
  "aliases": [],
4178
5026
  "args": {},
4179
- "description": "Repository management operations",
5027
+ "description": "Interactive menu for roadmap operations",
4180
5028
  "examples": [
4181
- "<%= config.bin %> <%= command.id %> list",
4182
- "<%= config.bin %> <%= command.id %> add /path/to/repo",
4183
- "<%= config.bin %> <%= command.id %> remove my-repo",
4184
- "<%= config.bin %> <%= command.id %> view my-repo"
5029
+ "<%= config.bin %> <%= command.id %>"
4185
5030
  ],
4186
5031
  "flags": {
4187
5032
  "project": {
@@ -4201,7 +5046,7 @@
4201
5046
  },
4202
5047
  "hasDynamicHelp": false,
4203
5048
  "hiddenAliases": [],
4204
- "id": "repo",
5049
+ "id": "roadmap",
4205
5050
  "pluginAlias": "@proletariat/cli",
4206
5051
  "pluginName": "@proletariat/cli",
4207
5052
  "pluginType": "core",
@@ -4210,18 +5055,16 @@
4210
5055
  "relativePath": [
4211
5056
  "dist",
4212
5057
  "commands",
4213
- "repo",
5058
+ "roadmap",
4214
5059
  "index.js"
4215
5060
  ]
4216
5061
  },
4217
- "repo:list": {
5062
+ "roadmap:list": {
4218
5063
  "aliases": [],
4219
5064
  "args": {},
4220
- "description": "List all repositories in the HQ",
5065
+ "description": "List all roadmaps",
4221
5066
  "examples": [
4222
- "<%= config.bin %> <%= command.id %>",
4223
- "<%= config.bin %> <%= command.id %> --format compact",
4224
- "<%= config.bin %> <%= command.id %> --format json"
5067
+ "<%= config.bin %> <%= command.id %>"
4225
5068
  ],
4226
5069
  "flags": {
4227
5070
  "project": {
@@ -4231,25 +5074,11 @@
4231
5074
  "hasDynamicHelp": false,
4232
5075
  "multiple": false,
4233
5076
  "type": "option"
4234
- },
4235
- "format": {
4236
- "char": "f",
4237
- "description": "Output format",
4238
- "name": "format",
4239
- "default": "table",
4240
- "hasDynamicHelp": false,
4241
- "multiple": false,
4242
- "options": [
4243
- "table",
4244
- "compact",
4245
- "json"
4246
- ],
4247
- "type": "option"
4248
5077
  }
4249
5078
  },
4250
5079
  "hasDynamicHelp": false,
4251
5080
  "hiddenAliases": [],
4252
- "id": "repo:list",
5081
+ "id": "roadmap:list",
4253
5082
  "pluginAlias": "@proletariat/cli",
4254
5083
  "pluginName": "@proletariat/cli",
4255
5084
  "pluginType": "core",
@@ -4258,25 +5087,29 @@
4258
5087
  "relativePath": [
4259
5088
  "dist",
4260
5089
  "commands",
4261
- "repo",
5090
+ "roadmap",
4262
5091
  "list.js"
4263
5092
  ]
4264
5093
  },
4265
- "repo:remove": {
5094
+ "roadmap:remove-project": {
4266
5095
  "aliases": [],
4267
5096
  "args": {
4268
- "name": {
4269
- "description": "Repository name to remove",
4270
- "name": "name",
5097
+ "roadmap": {
5098
+ "description": "Roadmap ID",
5099
+ "name": "roadmap",
5100
+ "required": false
5101
+ },
5102
+ "project": {
5103
+ "description": "Project ID to remove",
5104
+ "name": "project",
4271
5105
  "required": false
4272
5106
  }
4273
5107
  },
4274
- "description": "Remove a repository from the HQ",
5108
+ "description": "Remove a project from a roadmap",
4275
5109
  "examples": [
4276
- "<%= config.bin %> <%= command.id %> my-repo",
4277
- "<%= config.bin %> <%= command.id %> my-repo --force",
4278
- "<%= config.bin %> <%= command.id %>",
4279
- "<%= config.bin %> <%= command.id %> --bulk"
5110
+ "<%= config.bin %> <%= command.id %> my-roadmap my-project",
5111
+ "<%= config.bin %> <%= command.id %> my-roadmap # Interactive project selection",
5112
+ "<%= config.bin %> <%= command.id %> # Interactive selection for both"
4280
5113
  ],
4281
5114
  "flags": {
4282
5115
  "project": {
@@ -4289,24 +5122,11 @@
4289
5122
  },
4290
5123
  "force": {
4291
5124
  "char": "f",
4292
- "description": "Skip confirmation prompt",
5125
+ "description": "Skip confirmation",
4293
5126
  "name": "force",
4294
5127
  "allowNo": false,
4295
5128
  "type": "boolean"
4296
5129
  },
4297
- "keep-files": {
4298
- "description": "Remove from database but keep files",
4299
- "name": "keep-files",
4300
- "allowNo": false,
4301
- "type": "boolean"
4302
- },
4303
- "bulk": {
4304
- "char": "b",
4305
- "description": "Remove multiple repositories interactively",
4306
- "name": "bulk",
4307
- "allowNo": false,
4308
- "type": "boolean"
4309
- },
4310
5130
  "json": {
4311
5131
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4312
5132
  "name": "json",
@@ -4316,46 +5136,7 @@
4316
5136
  },
4317
5137
  "hasDynamicHelp": false,
4318
5138
  "hiddenAliases": [],
4319
- "id": "repo:remove",
4320
- "pluginAlias": "@proletariat/cli",
4321
- "pluginName": "@proletariat/cli",
4322
- "pluginType": "core",
4323
- "strict": true,
4324
- "isESM": true,
4325
- "relativePath": [
4326
- "dist",
4327
- "commands",
4328
- "repo",
4329
- "remove.js"
4330
- ]
4331
- },
4332
- "repo:view": {
4333
- "aliases": [],
4334
- "args": {
4335
- "name": {
4336
- "description": "Repository name to view",
4337
- "name": "name",
4338
- "required": false
4339
- }
4340
- },
4341
- "description": "View detailed information about a repository",
4342
- "examples": [
4343
- "<%= config.bin %> <%= command.id %> my-repo",
4344
- "<%= config.bin %> <%= command.id %>"
4345
- ],
4346
- "flags": {
4347
- "project": {
4348
- "char": "P",
4349
- "description": "Project ID (uses first project if only one exists)",
4350
- "name": "project",
4351
- "hasDynamicHelp": false,
4352
- "multiple": false,
4353
- "type": "option"
4354
- }
4355
- },
4356
- "hasDynamicHelp": false,
4357
- "hiddenAliases": [],
4358
- "id": "repo:view",
5139
+ "id": "roadmap:remove-project",
4359
5140
  "pluginAlias": "@proletariat/cli",
4360
5141
  "pluginName": "@proletariat/cli",
4361
5142
  "pluginType": "core",
@@ -4364,67 +5145,51 @@
4364
5145
  "relativePath": [
4365
5146
  "dist",
4366
5147
  "commands",
4367
- "repo",
4368
- "view.js"
5148
+ "roadmap",
5149
+ "remove-project.js"
4369
5150
  ]
4370
5151
  },
4371
- "session:attach": {
5152
+ "roadmap:reorder": {
4372
5153
  "aliases": [],
4373
5154
  "args": {
4374
- "session": {
4375
- "description": "Session name or ticket ID to attach to (optional - will prompt if not provided)",
4376
- "name": "session",
5155
+ "roadmap": {
5156
+ "description": "Roadmap ID",
5157
+ "name": "roadmap",
4377
5158
  "required": false
4378
5159
  }
4379
5160
  },
4380
- "description": "Attach to an active tmux session",
5161
+ "description": "Reorder projects in a roadmap",
4381
5162
  "examples": [
4382
- "<%= config.bin %> <%= command.id %>",
4383
- "<%= config.bin %> <%= command.id %> TKT-347-implement-altman",
4384
- "<%= config.bin %> <%= command.id %> --current-terminal"
5163
+ "<%= config.bin %> <%= command.id %> my-roadmap",
5164
+ "<%= config.bin %> <%= command.id %> my-roadmap --project my-project --position 0",
5165
+ "<%= config.bin %> <%= command.id %> # Interactive selection"
4385
5166
  ],
4386
5167
  "flags": {
4387
5168
  "project": {
4388
- "char": "P",
4389
- "description": "Project ID (uses first project if only one exists)",
5169
+ "char": "p",
5170
+ "description": "Project ID to move",
4390
5171
  "name": "project",
4391
- "hasDynamicHelp": false,
4392
- "multiple": false,
4393
- "type": "option"
4394
- },
4395
- "json": {
4396
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4397
- "name": "json",
4398
- "allowNo": false,
4399
- "type": "boolean"
4400
- },
4401
- "new-tab": {
4402
- "char": "n",
4403
- "description": "Open in a new terminal tab (default: true)",
4404
- "name": "new-tab",
4405
- "allowNo": false,
4406
- "type": "boolean"
4407
- },
4408
- "current-terminal": {
4409
- "char": "c",
4410
- "description": "Attach in current terminal instead of new tab",
4411
- "name": "current-terminal",
4412
- "allowNo": false,
4413
- "type": "boolean"
5172
+ "hasDynamicHelp": false,
5173
+ "multiple": false,
5174
+ "type": "option"
4414
5175
  },
4415
- "terminal": {
4416
- "char": "t",
4417
- "description": "Terminal app to use (iTerm, Terminal, Ghostty)",
4418
- "name": "terminal",
4419
- "default": "iTerm",
5176
+ "position": {
5177
+ "description": "New position (0-indexed)",
5178
+ "name": "position",
4420
5179
  "hasDynamicHelp": false,
4421
5180
  "multiple": false,
4422
5181
  "type": "option"
5182
+ },
5183
+ "json": {
5184
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
5185
+ "name": "json",
5186
+ "allowNo": false,
5187
+ "type": "boolean"
4423
5188
  }
4424
5189
  },
4425
5190
  "hasDynamicHelp": false,
4426
5191
  "hiddenAliases": [],
4427
- "id": "session:attach",
5192
+ "id": "roadmap:reorder",
4428
5193
  "pluginAlias": "@proletariat/cli",
4429
5194
  "pluginName": "@proletariat/cli",
4430
5195
  "pluginType": "core",
@@ -4433,18 +5198,24 @@
4433
5198
  "relativePath": [
4434
5199
  "dist",
4435
5200
  "commands",
4436
- "session",
4437
- "attach.js"
5201
+ "roadmap",
5202
+ "reorder.js"
4438
5203
  ]
4439
5204
  },
4440
- "session": {
5205
+ "roadmap:update": {
4441
5206
  "aliases": [],
4442
- "args": {},
4443
- "description": "Manage agent tmux sessions (list, attach, detach)",
5207
+ "args": {
5208
+ "id": {
5209
+ "description": "Roadmap ID to update",
5210
+ "name": "id",
5211
+ "required": false
5212
+ }
5213
+ },
5214
+ "description": "Update a roadmap",
4444
5215
  "examples": [
4445
- "<%= config.bin %> <%= command.id %>",
4446
- "<%= config.bin %> <%= command.id %> list",
4447
- "<%= config.bin %> <%= command.id %> attach TKT-347-implement"
5216
+ "<%= config.bin %> <%= command.id %> my-roadmap --name \"New Name\"",
5217
+ "<%= config.bin %> <%= command.id %> my-roadmap --default",
5218
+ "<%= config.bin %> <%= command.id %> # Interactive selection"
4448
5219
  ],
4449
5220
  "flags": {
4450
5221
  "project": {
@@ -4455,6 +5226,28 @@
4455
5226
  "multiple": false,
4456
5227
  "type": "option"
4457
5228
  },
5229
+ "name": {
5230
+ "char": "n",
5231
+ "description": "New roadmap name",
5232
+ "name": "name",
5233
+ "hasDynamicHelp": false,
5234
+ "multiple": false,
5235
+ "type": "option"
5236
+ },
5237
+ "description": {
5238
+ "char": "d",
5239
+ "description": "New roadmap description",
5240
+ "name": "description",
5241
+ "hasDynamicHelp": false,
5242
+ "multiple": false,
5243
+ "type": "option"
5244
+ },
5245
+ "default": {
5246
+ "description": "Set as the default roadmap",
5247
+ "name": "default",
5248
+ "allowNo": true,
5249
+ "type": "boolean"
5250
+ },
4458
5251
  "json": {
4459
5252
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4460
5253
  "name": "json",
@@ -4464,7 +5257,7 @@
4464
5257
  },
4465
5258
  "hasDynamicHelp": false,
4466
5259
  "hiddenAliases": [],
4467
- "id": "session",
5260
+ "id": "roadmap:update",
4468
5261
  "pluginAlias": "@proletariat/cli",
4469
5262
  "pluginName": "@proletariat/cli",
4470
5263
  "pluginType": "core",
@@ -4473,17 +5266,23 @@
4473
5266
  "relativePath": [
4474
5267
  "dist",
4475
5268
  "commands",
4476
- "session",
4477
- "index.js"
5269
+ "roadmap",
5270
+ "update.js"
4478
5271
  ]
4479
5272
  },
4480
- "session:list": {
5273
+ "roadmap:view": {
4481
5274
  "aliases": [],
4482
- "args": {},
4483
- "description": "List active tmux sessions (host and container)",
5275
+ "args": {
5276
+ "id": {
5277
+ "description": "Roadmap ID to view",
5278
+ "name": "id",
5279
+ "required": false
5280
+ }
5281
+ },
5282
+ "description": "View roadmap details and its projects",
4484
5283
  "examples": [
4485
- "<%= config.bin %> <%= command.id %>",
4486
- "<%= config.bin %> <%= command.id %> --all"
5284
+ "<%= config.bin %> <%= command.id %> my-roadmap",
5285
+ "<%= config.bin %> <%= command.id %> # Interactive selection"
4487
5286
  ],
4488
5287
  "flags": {
4489
5288
  "project": {
@@ -4494,17 +5293,16 @@
4494
5293
  "multiple": false,
4495
5294
  "type": "option"
4496
5295
  },
4497
- "all": {
4498
- "char": "a",
4499
- "description": "Show all sessions including stale DB records",
4500
- "name": "all",
5296
+ "json": {
5297
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
5298
+ "name": "json",
4501
5299
  "allowNo": false,
4502
5300
  "type": "boolean"
4503
5301
  }
4504
5302
  },
4505
5303
  "hasDynamicHelp": false,
4506
5304
  "hiddenAliases": [],
4507
- "id": "session:list",
5305
+ "id": "roadmap:view",
4508
5306
  "pluginAlias": "@proletariat/cli",
4509
5307
  "pluginName": "@proletariat/cli",
4510
5308
  "pluginType": "core",
@@ -4513,8 +5311,8 @@
4513
5311
  "relativePath": [
4514
5312
  "dist",
4515
5313
  "commands",
4516
- "session",
4517
- "list.js"
5314
+ "roadmap",
5315
+ "view.js"
4518
5316
  ]
4519
5317
  },
4520
5318
  "spec:create": {
@@ -4873,193 +5671,24 @@
4873
5671
  "type": "boolean"
4874
5672
  },
4875
5673
  "spec": {
4876
- "char": "s",
4877
- "description": "Spec ID",
4878
- "name": "spec",
4879
- "hasDynamicHelp": false,
4880
- "multiple": false,
4881
- "type": "option"
4882
- },
4883
- "full": {
4884
- "char": "f",
4885
- "description": "Show all spec sections",
4886
- "name": "full",
4887
- "allowNo": false,
4888
- "type": "boolean"
4889
- }
4890
- },
4891
- "hasDynamicHelp": false,
4892
- "hiddenAliases": [],
4893
- "id": "spec:view",
4894
- "pluginAlias": "@proletariat/cli",
4895
- "pluginName": "@proletariat/cli",
4896
- "pluginType": "core",
4897
- "strict": true,
4898
- "isESM": true,
4899
- "relativePath": [
4900
- "dist",
4901
- "commands",
4902
- "spec",
4903
- "view.js"
4904
- ]
4905
- },
4906
- "template:delete": {
4907
- "aliases": [],
4908
- "args": {},
4909
- "description": "Delete templates (ticket or phase)",
4910
- "examples": [
4911
- "<%= config.bin %> <%= command.id %>",
4912
- "<%= config.bin %> <%= command.id %> --type ticket",
4913
- "<%= config.bin %> <%= command.id %> --type phase",
4914
- "<%= config.bin %> <%= command.id %> --force"
4915
- ],
4916
- "flags": {
4917
- "project": {
4918
- "char": "P",
4919
- "description": "Project ID (uses first project if only one exists)",
4920
- "name": "project",
4921
- "hasDynamicHelp": false,
4922
- "multiple": false,
4923
- "type": "option"
4924
- },
4925
- "type": {
4926
- "char": "t",
4927
- "description": "Template type to delete",
4928
- "name": "type",
4929
- "hasDynamicHelp": false,
4930
- "multiple": false,
4931
- "options": [
4932
- "ticket",
4933
- "phase"
4934
- ],
4935
- "type": "option"
4936
- },
4937
- "force": {
4938
- "char": "f",
4939
- "description": "Skip confirmation",
4940
- "name": "force",
4941
- "allowNo": false,
4942
- "type": "boolean"
4943
- },
4944
- "json": {
4945
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4946
- "name": "json",
4947
- "allowNo": false,
4948
- "type": "boolean"
4949
- }
4950
- },
4951
- "hasDynamicHelp": false,
4952
- "hiddenAliases": [],
4953
- "id": "template:delete",
4954
- "pluginAlias": "@proletariat/cli",
4955
- "pluginName": "@proletariat/cli",
4956
- "pluginType": "core",
4957
- "strict": true,
4958
- "isESM": true,
4959
- "relativePath": [
4960
- "dist",
4961
- "commands",
4962
- "template",
4963
- "delete.js"
4964
- ]
4965
- },
4966
- "template": {
4967
- "aliases": [
4968
- "templates"
4969
- ],
4970
- "args": {},
4971
- "description": "Manage templates (ticket and phase)",
4972
- "examples": [
4973
- "<%= config.bin %> <%= command.id %>",
4974
- "<%= config.bin %> <%= command.id %> list",
4975
- "<%= config.bin %> <%= command.id %> list --type ticket",
4976
- "<%= config.bin %> <%= command.id %> ticket",
4977
- "<%= config.bin %> <%= command.id %> phase"
4978
- ],
4979
- "flags": {
4980
- "json": {
4981
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4982
- "name": "json",
4983
- "allowNo": false,
4984
- "type": "boolean"
4985
- }
4986
- },
4987
- "hasDynamicHelp": false,
4988
- "hiddenAliases": [],
4989
- "id": "template",
4990
- "pluginAlias": "@proletariat/cli",
4991
- "pluginName": "@proletariat/cli",
4992
- "pluginType": "core",
4993
- "strict": true,
4994
- "enableJsonFlag": false,
4995
- "isESM": true,
4996
- "relativePath": [
4997
- "dist",
4998
- "commands",
4999
- "template",
5000
- "index.js"
5001
- ]
5002
- },
5003
- "template:list": {
5004
- "aliases": [],
5005
- "args": {},
5006
- "description": "List all templates (ticket and phase)",
5007
- "examples": [
5008
- "<%= config.bin %> <%= command.id %>",
5009
- "<%= config.bin %> <%= command.id %> --type ticket",
5010
- "<%= config.bin %> <%= command.id %> --type phase",
5011
- "<%= config.bin %> <%= command.id %> --builtin",
5012
- "<%= config.bin %> <%= command.id %> --json"
5013
- ],
5014
- "flags": {
5015
- "project": {
5016
- "char": "P",
5017
- "description": "Project ID (uses first project if only one exists)",
5018
- "name": "project",
5019
- "hasDynamicHelp": false,
5020
- "multiple": false,
5021
- "type": "option"
5022
- },
5023
- "type": {
5024
- "char": "t",
5025
- "description": "Filter by template type",
5026
- "name": "type",
5027
- "hasDynamicHelp": false,
5028
- "multiple": false,
5029
- "options": [
5030
- "ticket",
5031
- "phase"
5032
- ],
5033
- "type": "option"
5034
- },
5035
- "builtin": {
5036
- "description": "Show only built-in templates",
5037
- "exclusive": [
5038
- "custom"
5039
- ],
5040
- "name": "builtin",
5041
- "allowNo": false,
5042
- "type": "boolean"
5043
- },
5044
- "custom": {
5045
- "description": "Show only custom templates",
5046
- "exclusive": [
5047
- "builtin"
5048
- ],
5049
- "name": "custom",
5050
- "allowNo": false,
5051
- "type": "boolean"
5674
+ "char": "s",
5675
+ "description": "Spec ID",
5676
+ "name": "spec",
5677
+ "hasDynamicHelp": false,
5678
+ "multiple": false,
5679
+ "type": "option"
5052
5680
  },
5053
- "json": {
5054
- "description": "Output as JSON",
5055
- "name": "json",
5681
+ "full": {
5682
+ "char": "f",
5683
+ "description": "Show all spec sections",
5684
+ "name": "full",
5056
5685
  "allowNo": false,
5057
5686
  "type": "boolean"
5058
5687
  }
5059
5688
  },
5060
5689
  "hasDynamicHelp": false,
5061
5690
  "hiddenAliases": [],
5062
- "id": "template:list",
5691
+ "id": "spec:view",
5063
5692
  "pluginAlias": "@proletariat/cli",
5064
5693
  "pluginName": "@proletariat/cli",
5065
5694
  "pluginType": "core",
@@ -5068,8 +5697,8 @@
5068
5697
  "relativePath": [
5069
5698
  "dist",
5070
5699
  "commands",
5071
- "template",
5072
- "list.js"
5700
+ "spec",
5701
+ "view.js"
5073
5702
  ]
5074
5703
  },
5075
5704
  "status:create": {
@@ -5287,7 +5916,260 @@
5287
5916
  "type": "option"
5288
5917
  },
5289
5918
  "json": {
5290
- "description": "Output as JSON",
5919
+ "description": "Output as JSON",
5920
+ "name": "json",
5921
+ "allowNo": false,
5922
+ "type": "boolean"
5923
+ }
5924
+ },
5925
+ "hasDynamicHelp": false,
5926
+ "hiddenAliases": [],
5927
+ "id": "status:list",
5928
+ "pluginAlias": "@proletariat/cli",
5929
+ "pluginName": "@proletariat/cli",
5930
+ "pluginType": "core",
5931
+ "strict": true,
5932
+ "isESM": true,
5933
+ "relativePath": [
5934
+ "dist",
5935
+ "commands",
5936
+ "status",
5937
+ "list.js"
5938
+ ]
5939
+ },
5940
+ "status:move": {
5941
+ "aliases": [],
5942
+ "args": {
5943
+ "id": {
5944
+ "description": "Status ID - prompts with dropdown if not provided",
5945
+ "name": "id",
5946
+ "required": false
5947
+ }
5948
+ },
5949
+ "description": "Reorder a status within its category",
5950
+ "examples": [
5951
+ "<%= config.bin %> <%= command.id %> my-project-in-review --position 0 # Move to first",
5952
+ "<%= config.bin %> <%= command.id %> my-project-blocked --position 2",
5953
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
5954
+ ],
5955
+ "flags": {
5956
+ "project": {
5957
+ "char": "P",
5958
+ "description": "Project ID (uses first project if only one exists)",
5959
+ "name": "project",
5960
+ "hasDynamicHelp": false,
5961
+ "multiple": false,
5962
+ "type": "option"
5963
+ },
5964
+ "json": {
5965
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
5966
+ "name": "json",
5967
+ "allowNo": false,
5968
+ "type": "boolean"
5969
+ },
5970
+ "position": {
5971
+ "char": "p",
5972
+ "description": "New position (0-indexed) within the category",
5973
+ "name": "position",
5974
+ "required": false,
5975
+ "hasDynamicHelp": false,
5976
+ "multiple": false,
5977
+ "type": "option"
5978
+ }
5979
+ },
5980
+ "hasDynamicHelp": false,
5981
+ "hiddenAliases": [],
5982
+ "id": "status:move",
5983
+ "pluginAlias": "@proletariat/cli",
5984
+ "pluginName": "@proletariat/cli",
5985
+ "pluginType": "core",
5986
+ "strict": true,
5987
+ "isESM": true,
5988
+ "relativePath": [
5989
+ "dist",
5990
+ "commands",
5991
+ "status",
5992
+ "move.js"
5993
+ ]
5994
+ },
5995
+ "status:update": {
5996
+ "aliases": [],
5997
+ "args": {
5998
+ "id": {
5999
+ "description": "Status ID - prompts with dropdown if not provided",
6000
+ "name": "id",
6001
+ "required": false
6002
+ }
6003
+ },
6004
+ "description": "Update a workflow status",
6005
+ "examples": [
6006
+ "<%= config.bin %> <%= command.id %> my-project-in-review --name \"Code Review\"",
6007
+ "<%= config.bin %> <%= command.id %> my-project-blocked --color \"#EF4444\"",
6008
+ "<%= config.bin %> <%= command.id %> my-project-todo --default # Set as default",
6009
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
6010
+ ],
6011
+ "flags": {
6012
+ "project": {
6013
+ "char": "P",
6014
+ "description": "Project ID (uses first project if only one exists)",
6015
+ "name": "project",
6016
+ "hasDynamicHelp": false,
6017
+ "multiple": false,
6018
+ "type": "option"
6019
+ },
6020
+ "json": {
6021
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
6022
+ "name": "json",
6023
+ "allowNo": false,
6024
+ "type": "boolean"
6025
+ },
6026
+ "name": {
6027
+ "char": "n",
6028
+ "description": "New status name",
6029
+ "name": "name",
6030
+ "hasDynamicHelp": false,
6031
+ "multiple": false,
6032
+ "type": "option"
6033
+ },
6034
+ "category": {
6035
+ "char": "c",
6036
+ "description": "New category",
6037
+ "name": "category",
6038
+ "hasDynamicHelp": false,
6039
+ "multiple": false,
6040
+ "options": [
6041
+ "backlog",
6042
+ "unstarted",
6043
+ "started",
6044
+ "completed",
6045
+ "canceled"
6046
+ ],
6047
+ "type": "option"
6048
+ },
6049
+ "color": {
6050
+ "description": "Hex color code (e.g., #FF0000)",
6051
+ "name": "color",
6052
+ "hasDynamicHelp": false,
6053
+ "multiple": false,
6054
+ "type": "option"
6055
+ },
6056
+ "description": {
6057
+ "char": "d",
6058
+ "description": "Status description",
6059
+ "name": "description",
6060
+ "hasDynamicHelp": false,
6061
+ "multiple": false,
6062
+ "type": "option"
6063
+ },
6064
+ "default": {
6065
+ "description": "Set as default status for new tickets",
6066
+ "name": "default",
6067
+ "allowNo": true,
6068
+ "type": "boolean"
6069
+ },
6070
+ "interactive": {
6071
+ "char": "i",
6072
+ "description": "Interactive mode",
6073
+ "name": "interactive",
6074
+ "allowNo": false,
6075
+ "type": "boolean"
6076
+ }
6077
+ },
6078
+ "hasDynamicHelp": false,
6079
+ "hiddenAliases": [],
6080
+ "id": "status:update",
6081
+ "pluginAlias": "@proletariat/cli",
6082
+ "pluginName": "@proletariat/cli",
6083
+ "pluginType": "core",
6084
+ "strict": true,
6085
+ "isESM": true,
6086
+ "relativePath": [
6087
+ "dist",
6088
+ "commands",
6089
+ "status",
6090
+ "update.js"
6091
+ ]
6092
+ },
6093
+ "terminal:title": {
6094
+ "aliases": [],
6095
+ "args": {
6096
+ "title": {
6097
+ "description": "Title to set for the terminal tab/window",
6098
+ "name": "title",
6099
+ "required": false
6100
+ }
6101
+ },
6102
+ "description": "Set the terminal tab/window title",
6103
+ "examples": [
6104
+ "<%= config.bin %> <%= command.id %> \"My Custom Name\"",
6105
+ "<%= config.bin %> <%= command.id %> # Interactive prompt",
6106
+ "<%= config.bin %> <%= command.id %> --reset"
6107
+ ],
6108
+ "flags": {
6109
+ "reset": {
6110
+ "char": "r",
6111
+ "description": "Reset terminal title to default",
6112
+ "name": "reset",
6113
+ "allowNo": false,
6114
+ "type": "boolean"
6115
+ }
6116
+ },
6117
+ "hasDynamicHelp": false,
6118
+ "hiddenAliases": [],
6119
+ "id": "terminal:title",
6120
+ "pluginAlias": "@proletariat/cli",
6121
+ "pluginName": "@proletariat/cli",
6122
+ "pluginType": "core",
6123
+ "strict": true,
6124
+ "enableJsonFlag": false,
6125
+ "isESM": true,
6126
+ "relativePath": [
6127
+ "dist",
6128
+ "commands",
6129
+ "terminal",
6130
+ "title.js"
6131
+ ]
6132
+ },
6133
+ "template:delete": {
6134
+ "aliases": [],
6135
+ "args": {},
6136
+ "description": "Delete templates (ticket or phase)",
6137
+ "examples": [
6138
+ "<%= config.bin %> <%= command.id %>",
6139
+ "<%= config.bin %> <%= command.id %> --type ticket",
6140
+ "<%= config.bin %> <%= command.id %> --type phase",
6141
+ "<%= config.bin %> <%= command.id %> --force"
6142
+ ],
6143
+ "flags": {
6144
+ "project": {
6145
+ "char": "P",
6146
+ "description": "Project ID (uses first project if only one exists)",
6147
+ "name": "project",
6148
+ "hasDynamicHelp": false,
6149
+ "multiple": false,
6150
+ "type": "option"
6151
+ },
6152
+ "type": {
6153
+ "char": "t",
6154
+ "description": "Template type to delete",
6155
+ "name": "type",
6156
+ "hasDynamicHelp": false,
6157
+ "multiple": false,
6158
+ "options": [
6159
+ "ticket",
6160
+ "phase"
6161
+ ],
6162
+ "type": "option"
6163
+ },
6164
+ "force": {
6165
+ "char": "f",
6166
+ "description": "Skip confirmation",
6167
+ "name": "force",
6168
+ "allowNo": false,
6169
+ "type": "boolean"
6170
+ },
6171
+ "json": {
6172
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
5291
6173
  "name": "json",
5292
6174
  "allowNo": false,
5293
6175
  "type": "boolean"
@@ -5295,7 +6177,7 @@
5295
6177
  },
5296
6178
  "hasDynamicHelp": false,
5297
6179
  "hiddenAliases": [],
5298
- "id": "status:list",
6180
+ "id": "template:delete",
5299
6181
  "pluginAlias": "@proletariat/cli",
5300
6182
  "pluginName": "@proletariat/cli",
5301
6183
  "pluginType": "core",
@@ -5304,80 +6186,57 @@
5304
6186
  "relativePath": [
5305
6187
  "dist",
5306
6188
  "commands",
5307
- "status",
5308
- "list.js"
6189
+ "template",
6190
+ "delete.js"
5309
6191
  ]
5310
6192
  },
5311
- "status:move": {
5312
- "aliases": [],
5313
- "args": {
5314
- "id": {
5315
- "description": "Status ID - prompts with dropdown if not provided",
5316
- "name": "id",
5317
- "required": false
5318
- }
5319
- },
5320
- "description": "Reorder a status within its category",
6193
+ "template": {
6194
+ "aliases": [
6195
+ "templates"
6196
+ ],
6197
+ "args": {},
6198
+ "description": "Manage templates (ticket and phase)",
5321
6199
  "examples": [
5322
- "<%= config.bin %> <%= command.id %> my-project-in-review --position 0 # Move to first",
5323
- "<%= config.bin %> <%= command.id %> my-project-blocked --position 2",
5324
- "<%= config.bin %> <%= command.id %> # Interactive mode"
6200
+ "<%= config.bin %> <%= command.id %>",
6201
+ "<%= config.bin %> <%= command.id %> list",
6202
+ "<%= config.bin %> <%= command.id %> list --type ticket",
6203
+ "<%= config.bin %> <%= command.id %> ticket",
6204
+ "<%= config.bin %> <%= command.id %> phase"
5325
6205
  ],
5326
6206
  "flags": {
5327
- "project": {
5328
- "char": "P",
5329
- "description": "Project ID (uses first project if only one exists)",
5330
- "name": "project",
5331
- "hasDynamicHelp": false,
5332
- "multiple": false,
5333
- "type": "option"
5334
- },
5335
6207
  "json": {
5336
6208
  "description": "Output prompt configuration as JSON (for AI agents/scripts)",
5337
6209
  "name": "json",
5338
6210
  "allowNo": false,
5339
6211
  "type": "boolean"
5340
- },
5341
- "position": {
5342
- "char": "p",
5343
- "description": "New position (0-indexed) within the category",
5344
- "name": "position",
5345
- "required": false,
5346
- "hasDynamicHelp": false,
5347
- "multiple": false,
5348
- "type": "option"
5349
6212
  }
5350
6213
  },
5351
6214
  "hasDynamicHelp": false,
5352
6215
  "hiddenAliases": [],
5353
- "id": "status:move",
6216
+ "id": "template",
5354
6217
  "pluginAlias": "@proletariat/cli",
5355
6218
  "pluginName": "@proletariat/cli",
5356
6219
  "pluginType": "core",
5357
6220
  "strict": true,
6221
+ "enableJsonFlag": false,
5358
6222
  "isESM": true,
5359
6223
  "relativePath": [
5360
6224
  "dist",
5361
6225
  "commands",
5362
- "status",
5363
- "move.js"
6226
+ "template",
6227
+ "index.js"
5364
6228
  ]
5365
6229
  },
5366
- "status:update": {
6230
+ "template:list": {
5367
6231
  "aliases": [],
5368
- "args": {
5369
- "id": {
5370
- "description": "Status ID - prompts with dropdown if not provided",
5371
- "name": "id",
5372
- "required": false
5373
- }
5374
- },
5375
- "description": "Update a workflow status",
6232
+ "args": {},
6233
+ "description": "List all templates (ticket and phase)",
5376
6234
  "examples": [
5377
- "<%= config.bin %> <%= command.id %> my-project-in-review --name \"Code Review\"",
5378
- "<%= config.bin %> <%= command.id %> my-project-blocked --color \"#EF4444\"",
5379
- "<%= config.bin %> <%= command.id %> my-project-todo --default # Set as default",
5380
- "<%= config.bin %> <%= command.id %> # Interactive mode"
6235
+ "<%= config.bin %> <%= command.id %>",
6236
+ "<%= config.bin %> <%= command.id %> --type ticket",
6237
+ "<%= config.bin %> <%= command.id %> --type phase",
6238
+ "<%= config.bin %> <%= command.id %> --builtin",
6239
+ "<%= config.bin %> <%= command.id %> --json"
5381
6240
  ],
5382
6241
  "flags": {
5383
6242
  "project": {
@@ -5388,67 +6247,46 @@
5388
6247
  "multiple": false,
5389
6248
  "type": "option"
5390
6249
  },
5391
- "json": {
5392
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
5393
- "name": "json",
5394
- "allowNo": false,
5395
- "type": "boolean"
5396
- },
5397
- "name": {
5398
- "char": "n",
5399
- "description": "New status name",
5400
- "name": "name",
5401
- "hasDynamicHelp": false,
5402
- "multiple": false,
5403
- "type": "option"
5404
- },
5405
- "category": {
5406
- "char": "c",
5407
- "description": "New category",
5408
- "name": "category",
6250
+ "type": {
6251
+ "char": "t",
6252
+ "description": "Filter by template type",
6253
+ "name": "type",
5409
6254
  "hasDynamicHelp": false,
5410
6255
  "multiple": false,
5411
6256
  "options": [
5412
- "backlog",
5413
- "unstarted",
5414
- "started",
5415
- "completed",
5416
- "canceled"
6257
+ "ticket",
6258
+ "phase"
5417
6259
  ],
5418
6260
  "type": "option"
5419
6261
  },
5420
- "color": {
5421
- "description": "Hex color code (e.g., #FF0000)",
5422
- "name": "color",
5423
- "hasDynamicHelp": false,
5424
- "multiple": false,
5425
- "type": "option"
5426
- },
5427
- "description": {
5428
- "char": "d",
5429
- "description": "Status description",
5430
- "name": "description",
5431
- "hasDynamicHelp": false,
5432
- "multiple": false,
5433
- "type": "option"
6262
+ "builtin": {
6263
+ "description": "Show only built-in templates",
6264
+ "exclusive": [
6265
+ "custom"
6266
+ ],
6267
+ "name": "builtin",
6268
+ "allowNo": false,
6269
+ "type": "boolean"
5434
6270
  },
5435
- "default": {
5436
- "description": "Set as default status for new tickets",
5437
- "name": "default",
5438
- "allowNo": true,
6271
+ "custom": {
6272
+ "description": "Show only custom templates",
6273
+ "exclusive": [
6274
+ "builtin"
6275
+ ],
6276
+ "name": "custom",
6277
+ "allowNo": false,
5439
6278
  "type": "boolean"
5440
6279
  },
5441
- "interactive": {
5442
- "char": "i",
5443
- "description": "Interactive mode",
5444
- "name": "interactive",
6280
+ "json": {
6281
+ "description": "Output as JSON",
6282
+ "name": "json",
5445
6283
  "allowNo": false,
5446
6284
  "type": "boolean"
5447
6285
  }
5448
6286
  },
5449
6287
  "hasDynamicHelp": false,
5450
6288
  "hiddenAliases": [],
5451
- "id": "status:update",
6289
+ "id": "template:list",
5452
6290
  "pluginAlias": "@proletariat/cli",
5453
6291
  "pluginName": "@proletariat/cli",
5454
6292
  "pluginType": "core",
@@ -5457,8 +6295,8 @@
5457
6295
  "relativePath": [
5458
6296
  "dist",
5459
6297
  "commands",
5460
- "status",
5461
- "update.js"
6298
+ "template",
6299
+ "list.js"
5462
6300
  ]
5463
6301
  },
5464
6302
  "ticket:bulk": {
@@ -7002,20 +7840,15 @@
7002
7840
  "allowNo": false,
7003
7841
  "type": "boolean"
7004
7842
  },
7005
- "mode": {
7006
- "char": "m",
7007
- "description": "Runtime mode for spawned agents",
7008
- "name": "mode",
7843
+ "display": {
7844
+ "char": "d",
7845
+ "description": "Display mode for spawned agents (foreground not available for batch)",
7846
+ "name": "display",
7009
7847
  "hasDynamicHelp": false,
7010
7848
  "multiple": false,
7011
7849
  "options": [
7012
- "foreground",
7013
- "background",
7014
- "tmux",
7015
7850
  "terminal",
7016
- "devcontainer",
7017
- "docker",
7018
- "vm"
7851
+ "background"
7019
7852
  ],
7020
7853
  "type": "option"
7021
7854
  },
@@ -7115,6 +7948,12 @@
7115
7948
  "direct"
7116
7949
  ],
7117
7950
  "type": "option"
7951
+ },
7952
+ "focus": {
7953
+ "description": "Bring terminal to foreground when opening new tabs (default: opens in background)",
7954
+ "name": "focus",
7955
+ "allowNo": false,
7956
+ "type": "boolean"
7118
7957
  }
7119
7958
  },
7120
7959
  "hasDynamicHelp": false,
@@ -7172,23 +8011,6 @@
7172
8011
  "allowNo": false,
7173
8012
  "type": "boolean"
7174
8013
  },
7175
- "mode": {
7176
- "char": "m",
7177
- "description": "Runtime mode",
7178
- "name": "mode",
7179
- "hasDynamicHelp": false,
7180
- "multiple": false,
7181
- "options": [
7182
- "foreground",
7183
- "background",
7184
- "tmux",
7185
- "terminal",
7186
- "devcontainer",
7187
- "docker",
7188
- "vm"
7189
- ],
7190
- "type": "option"
7191
- },
7192
8014
  "executor": {
7193
8015
  "char": "e",
7194
8016
  "description": "Override executor",
@@ -7252,8 +8074,19 @@
7252
8074
  "allowNo": false,
7253
8075
  "type": "boolean"
7254
8076
  },
8077
+ "permission-mode": {
8078
+ "description": "Permission mode for Claude Code (danger=skip checks, safe=require approval)",
8079
+ "name": "permission-mode",
8080
+ "hasDynamicHelp": false,
8081
+ "multiple": false,
8082
+ "options": [
8083
+ "danger",
8084
+ "safe"
8085
+ ],
8086
+ "type": "option"
8087
+ },
7255
8088
  "skip-permissions": {
7256
- "description": "Skip permission prompts (danger mode)",
8089
+ "description": "Skip permission checks (shorthand for --permission-mode danger)",
7257
8090
  "name": "skip-permissions",
7258
8091
  "allowNo": false,
7259
8092
  "type": "boolean"
@@ -7284,11 +8117,12 @@
7284
8117
  },
7285
8118
  "display": {
7286
8119
  "char": "d",
7287
- "description": "Display mode for devcontainer (where to show output)",
8120
+ "description": "Display mode (foreground=current terminal, terminal=new tab, background=detached)",
7288
8121
  "name": "display",
7289
8122
  "hasDynamicHelp": false,
7290
8123
  "multiple": false,
7291
8124
  "options": [
8125
+ "foreground",
7292
8126
  "terminal",
7293
8127
  "background"
7294
8128
  ],
@@ -7319,6 +8153,12 @@
7319
8153
  "name": "ephemeral",
7320
8154
  "allowNo": false,
7321
8155
  "type": "boolean"
8156
+ },
8157
+ "focus": {
8158
+ "description": "Bring terminal to foreground when opening new tabs (default: opens in background)",
8159
+ "name": "focus",
8160
+ "allowNo": false,
8161
+ "type": "boolean"
7322
8162
  }
7323
8163
  },
7324
8164
  "hasDynamicHelp": false,
@@ -9345,20 +10185,20 @@
9345
10185
  "remove.js"
9346
10186
  ]
9347
10187
  },
9348
- "template:ticket:apply": {
10188
+ "template:phase:apply": {
9349
10189
  "aliases": [],
9350
10190
  "args": {
9351
10191
  "template": {
9352
- "description": "Template ID to use",
10192
+ "description": "Phase template ID to apply",
9353
10193
  "name": "template",
9354
10194
  "required": true
9355
10195
  }
9356
10196
  },
9357
- "description": "Create a new ticket from a template",
10197
+ "description": "Apply a phase template to a project",
9358
10198
  "examples": [
9359
- "<%= config.bin %> <%= command.id %> bug-report",
9360
- "<%= config.bin %> <%= command.id %> feature-request --title \"Add dark mode\"",
9361
- "<%= config.bin %> <%= command.id %> bug-report --project my-project"
10199
+ "<%= config.bin %> <%= command.id %> agile",
10200
+ "<%= config.bin %> <%= command.id %> waterfall --project my-project",
10201
+ "<%= config.bin %> <%= command.id %> agile --force"
9362
10202
  ],
9363
10203
  "flags": {
9364
10204
  "project": {
@@ -9369,46 +10209,64 @@
9369
10209
  "multiple": false,
9370
10210
  "type": "option"
9371
10211
  },
9372
- "title": {
9373
- "char": "t",
9374
- "description": "Ticket title (overrides template pattern)",
9375
- "name": "title",
9376
- "hasDynamicHelp": false,
9377
- "multiple": false,
9378
- "type": "option"
9379
- },
9380
- "column": {
9381
- "char": "c",
9382
- "description": "Column to place the ticket in",
9383
- "name": "column",
9384
- "hasDynamicHelp": false,
9385
- "multiple": false,
9386
- "type": "option"
10212
+ "force": {
10213
+ "char": "f",
10214
+ "description": "Skip confirmation prompt (will replace existing phases)",
10215
+ "name": "force",
10216
+ "allowNo": false,
10217
+ "type": "boolean"
9387
10218
  },
9388
- "priority": {
9389
- "description": "Priority (overrides template default)",
9390
- "name": "priority",
10219
+ "json": {
10220
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
10221
+ "name": "json",
10222
+ "allowNo": false,
10223
+ "type": "boolean"
10224
+ }
10225
+ },
10226
+ "hasDynamicHelp": false,
10227
+ "hiddenAliases": [],
10228
+ "id": "template:phase:apply",
10229
+ "pluginAlias": "@proletariat/cli",
10230
+ "pluginName": "@proletariat/cli",
10231
+ "pluginType": "core",
10232
+ "strict": true,
10233
+ "enableJsonFlag": false,
10234
+ "isESM": true,
10235
+ "relativePath": [
10236
+ "dist",
10237
+ "commands",
10238
+ "template",
10239
+ "phase",
10240
+ "apply.js"
10241
+ ]
10242
+ },
10243
+ "template:phase:create": {
10244
+ "aliases": [],
10245
+ "args": {
10246
+ "name": {
10247
+ "description": "Name for the new template",
10248
+ "name": "name",
10249
+ "required": false
10250
+ }
10251
+ },
10252
+ "description": "Create a new phase template",
10253
+ "examples": [
10254
+ "<%= config.bin %> <%= command.id %> \"My Phases\"",
10255
+ "<%= config.bin %> <%= command.id %> \"Sprint Phases\" --description \"Agile sprint phases\""
10256
+ ],
10257
+ "flags": {
10258
+ "description": {
10259
+ "char": "d",
10260
+ "description": "Template description",
10261
+ "name": "description",
9391
10262
  "hasDynamicHelp": false,
9392
10263
  "multiple": false,
9393
10264
  "type": "option"
9394
- },
9395
- "interactive": {
9396
- "char": "i",
9397
- "description": "Interactive mode - prompt for values",
9398
- "name": "interactive",
9399
- "allowNo": false,
9400
- "type": "boolean"
9401
- },
9402
- "json": {
9403
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
9404
- "name": "json",
9405
- "allowNo": false,
9406
- "type": "boolean"
9407
10265
  }
9408
10266
  },
9409
10267
  "hasDynamicHelp": false,
9410
10268
  "hiddenAliases": [],
9411
- "id": "template:ticket:apply",
10269
+ "id": "template:phase:create",
9412
10270
  "pluginAlias": "@proletariat/cli",
9413
10271
  "pluginName": "@proletariat/cli",
9414
10272
  "pluginType": "core",
@@ -9419,11 +10277,11 @@
9419
10277
  "dist",
9420
10278
  "commands",
9421
10279
  "template",
9422
- "ticket",
9423
- "apply.js"
10280
+ "phase",
10281
+ "create.js"
9424
10282
  ]
9425
10283
  },
9426
- "template:ticket:delete": {
10284
+ "template:phase:delete": {
9427
10285
  "aliases": [],
9428
10286
  "args": {
9429
10287
  "id": {
@@ -9432,7 +10290,7 @@
9432
10290
  "required": true
9433
10291
  }
9434
10292
  },
9435
- "description": "Delete a ticket template",
10293
+ "description": "Delete a phase template",
9436
10294
  "examples": [
9437
10295
  "<%= config.bin %> <%= command.id %> my-template",
9438
10296
  "<%= config.bin %> <%= command.id %> my-template --force"
@@ -9454,7 +10312,7 @@
9454
10312
  },
9455
10313
  "hasDynamicHelp": false,
9456
10314
  "hiddenAliases": [],
9457
- "id": "template:ticket:delete",
10315
+ "id": "template:phase:delete",
9458
10316
  "pluginAlias": "@proletariat/cli",
9459
10317
  "pluginName": "@proletariat/cli",
9460
10318
  "pluginType": "core",
@@ -9465,21 +10323,21 @@
9465
10323
  "dist",
9466
10324
  "commands",
9467
10325
  "template",
9468
- "ticket",
10326
+ "phase",
9469
10327
  "delete.js"
9470
10328
  ]
9471
10329
  },
9472
- "template:ticket": {
10330
+ "template:phase": {
9473
10331
  "aliases": [
9474
- "template:tickets"
10332
+ "template:phases"
9475
10333
  ],
9476
10334
  "args": {},
9477
- "description": "Manage ticket templates (for creating tickets from templates)",
10335
+ "description": "Manage phase templates (project lifecycle phases)",
9478
10336
  "examples": [
9479
10337
  "<%= config.bin %> <%= command.id %>",
9480
10338
  "<%= config.bin %> <%= command.id %> list",
9481
- "<%= config.bin %> <%= command.id %> apply bug-report",
9482
- "<%= config.bin %> <%= command.id %> save TKT-001 \"My Template\""
10339
+ "<%= config.bin %> <%= command.id %> apply agile",
10340
+ "<%= config.bin %> <%= command.id %> create \"My Phases\""
9483
10341
  ],
9484
10342
  "flags": {
9485
10343
  "json": {
@@ -9491,7 +10349,7 @@
9491
10349
  },
9492
10350
  "hasDynamicHelp": false,
9493
10351
  "hiddenAliases": [],
9494
- "id": "template:ticket",
10352
+ "id": "template:phase",
9495
10353
  "pluginAlias": "@proletariat/cli",
9496
10354
  "pluginName": "@proletariat/cli",
9497
10355
  "pluginType": "core",
@@ -9502,14 +10360,14 @@
9502
10360
  "dist",
9503
10361
  "commands",
9504
10362
  "template",
9505
- "ticket",
10363
+ "phase",
9506
10364
  "index.js"
9507
10365
  ]
9508
10366
  },
9509
- "template:ticket:list": {
10367
+ "template:phase:list": {
9510
10368
  "aliases": [],
9511
10369
  "args": {},
9512
- "description": "List ticket templates",
10370
+ "description": "List phase templates",
9513
10371
  "examples": [
9514
10372
  "<%= config.bin %> <%= command.id %>",
9515
10373
  "<%= config.bin %> <%= command.id %> --builtin",
@@ -9543,7 +10401,7 @@
9543
10401
  },
9544
10402
  "hasDynamicHelp": false,
9545
10403
  "hiddenAliases": [],
9546
- "id": "template:ticket:list",
10404
+ "id": "template:phase:list",
9547
10405
  "pluginAlias": "@proletariat/cli",
9548
10406
  "pluginName": "@proletariat/cli",
9549
10407
  "pluginType": "core",
@@ -9554,33 +10412,36 @@
9554
10412
  "dist",
9555
10413
  "commands",
9556
10414
  "template",
9557
- "ticket",
10415
+ "phase",
9558
10416
  "list.js"
9559
10417
  ]
9560
10418
  },
9561
- "template:ticket:save": {
10419
+ "template:phase:update": {
9562
10420
  "aliases": [],
9563
10421
  "args": {
9564
- "ticket": {
9565
- "description": "Ticket ID to create template from",
9566
- "name": "ticket",
9567
- "required": false
9568
- },
9569
- "name": {
9570
- "description": "Template name",
9571
- "name": "name",
10422
+ "id": {
10423
+ "description": "Template ID to update",
10424
+ "name": "id",
9572
10425
  "required": false
9573
10426
  }
9574
10427
  },
9575
- "description": "Create a template from an existing ticket",
10428
+ "description": "Update an existing phase template",
9576
10429
  "examples": [
9577
- "<%= config.bin %> <%= command.id %> TKT-001 \"Bug Report Template\"",
9578
- "<%= config.bin %> <%= command.id %> TKT-042 \"Feature Request\" --description \"Standard feature request template\""
10430
+ "<%= config.bin %> <%= command.id %> my-template --name \"New Name\"",
10431
+ "<%= config.bin %> <%= command.id %> my-template --description \"Updated description\""
9579
10432
  ],
9580
10433
  "flags": {
10434
+ "name": {
10435
+ "char": "n",
10436
+ "description": "New template name",
10437
+ "name": "name",
10438
+ "hasDynamicHelp": false,
10439
+ "multiple": false,
10440
+ "type": "option"
10441
+ },
9581
10442
  "description": {
9582
10443
  "char": "d",
9583
- "description": "Template description",
10444
+ "description": "New template description",
9584
10445
  "name": "description",
9585
10446
  "hasDynamicHelp": false,
9586
10447
  "multiple": false,
@@ -9589,7 +10450,7 @@
9589
10450
  },
9590
10451
  "hasDynamicHelp": false,
9591
10452
  "hiddenAliases": [],
9592
- "id": "template:ticket:save",
10453
+ "id": "template:phase:update",
9593
10454
  "pluginAlias": "@proletariat/cli",
9594
10455
  "pluginName": "@proletariat/cli",
9595
10456
  "pluginType": "core",
@@ -9600,24 +10461,24 @@
9600
10461
  "dist",
9601
10462
  "commands",
9602
10463
  "template",
9603
- "ticket",
9604
- "save.js"
10464
+ "phase",
10465
+ "update.js"
9605
10466
  ]
9606
10467
  },
9607
- "template:phase:apply": {
10468
+ "template:ticket:apply": {
9608
10469
  "aliases": [],
9609
10470
  "args": {
9610
10471
  "template": {
9611
- "description": "Phase template ID to apply",
10472
+ "description": "Template ID to use",
9612
10473
  "name": "template",
9613
10474
  "required": true
9614
10475
  }
9615
10476
  },
9616
- "description": "Apply a phase template to a project",
10477
+ "description": "Create a new ticket from a template",
9617
10478
  "examples": [
9618
- "<%= config.bin %> <%= command.id %> agile",
9619
- "<%= config.bin %> <%= command.id %> waterfall --project my-project",
9620
- "<%= config.bin %> <%= command.id %> agile --force"
10479
+ "<%= config.bin %> <%= command.id %> bug-report",
10480
+ "<%= config.bin %> <%= command.id %> feature-request --title \"Add dark mode\"",
10481
+ "<%= config.bin %> <%= command.id %> bug-report --project my-project"
9621
10482
  ],
9622
10483
  "flags": {
9623
10484
  "project": {
@@ -9628,10 +10489,33 @@
9628
10489
  "multiple": false,
9629
10490
  "type": "option"
9630
10491
  },
9631
- "force": {
9632
- "char": "f",
9633
- "description": "Skip confirmation prompt (will replace existing phases)",
9634
- "name": "force",
10492
+ "title": {
10493
+ "char": "t",
10494
+ "description": "Ticket title (overrides template pattern)",
10495
+ "name": "title",
10496
+ "hasDynamicHelp": false,
10497
+ "multiple": false,
10498
+ "type": "option"
10499
+ },
10500
+ "column": {
10501
+ "char": "c",
10502
+ "description": "Column to place the ticket in",
10503
+ "name": "column",
10504
+ "hasDynamicHelp": false,
10505
+ "multiple": false,
10506
+ "type": "option"
10507
+ },
10508
+ "priority": {
10509
+ "description": "Priority (overrides template default)",
10510
+ "name": "priority",
10511
+ "hasDynamicHelp": false,
10512
+ "multiple": false,
10513
+ "type": "option"
10514
+ },
10515
+ "interactive": {
10516
+ "char": "i",
10517
+ "description": "Interactive mode - prompt for values",
10518
+ "name": "interactive",
9635
10519
  "allowNo": false,
9636
10520
  "type": "boolean"
9637
10521
  },
@@ -9644,7 +10528,7 @@
9644
10528
  },
9645
10529
  "hasDynamicHelp": false,
9646
10530
  "hiddenAliases": [],
9647
- "id": "template:phase:apply",
10531
+ "id": "template:ticket:apply",
9648
10532
  "pluginAlias": "@proletariat/cli",
9649
10533
  "pluginName": "@proletariat/cli",
9650
10534
  "pluginType": "core",
@@ -9655,52 +10539,11 @@
9655
10539
  "dist",
9656
10540
  "commands",
9657
10541
  "template",
9658
- "phase",
10542
+ "ticket",
9659
10543
  "apply.js"
9660
10544
  ]
9661
10545
  },
9662
- "template:phase:create": {
9663
- "aliases": [],
9664
- "args": {
9665
- "name": {
9666
- "description": "Name for the new template",
9667
- "name": "name",
9668
- "required": false
9669
- }
9670
- },
9671
- "description": "Create a new phase template",
9672
- "examples": [
9673
- "<%= config.bin %> <%= command.id %> \"My Phases\"",
9674
- "<%= config.bin %> <%= command.id %> \"Sprint Phases\" --description \"Agile sprint phases\""
9675
- ],
9676
- "flags": {
9677
- "description": {
9678
- "char": "d",
9679
- "description": "Template description",
9680
- "name": "description",
9681
- "hasDynamicHelp": false,
9682
- "multiple": false,
9683
- "type": "option"
9684
- }
9685
- },
9686
- "hasDynamicHelp": false,
9687
- "hiddenAliases": [],
9688
- "id": "template:phase:create",
9689
- "pluginAlias": "@proletariat/cli",
9690
- "pluginName": "@proletariat/cli",
9691
- "pluginType": "core",
9692
- "strict": true,
9693
- "enableJsonFlag": false,
9694
- "isESM": true,
9695
- "relativePath": [
9696
- "dist",
9697
- "commands",
9698
- "template",
9699
- "phase",
9700
- "create.js"
9701
- ]
9702
- },
9703
- "template:phase:delete": {
10546
+ "template:ticket:delete": {
9704
10547
  "aliases": [],
9705
10548
  "args": {
9706
10549
  "id": {
@@ -9709,7 +10552,7 @@
9709
10552
  "required": true
9710
10553
  }
9711
10554
  },
9712
- "description": "Delete a phase template",
10555
+ "description": "Delete a ticket template",
9713
10556
  "examples": [
9714
10557
  "<%= config.bin %> <%= command.id %> my-template",
9715
10558
  "<%= config.bin %> <%= command.id %> my-template --force"
@@ -9731,7 +10574,7 @@
9731
10574
  },
9732
10575
  "hasDynamicHelp": false,
9733
10576
  "hiddenAliases": [],
9734
- "id": "template:phase:delete",
10577
+ "id": "template:ticket:delete",
9735
10578
  "pluginAlias": "@proletariat/cli",
9736
10579
  "pluginName": "@proletariat/cli",
9737
10580
  "pluginType": "core",
@@ -9742,21 +10585,21 @@
9742
10585
  "dist",
9743
10586
  "commands",
9744
10587
  "template",
9745
- "phase",
10588
+ "ticket",
9746
10589
  "delete.js"
9747
10590
  ]
9748
10591
  },
9749
- "template:phase": {
10592
+ "template:ticket": {
9750
10593
  "aliases": [
9751
- "template:phases"
10594
+ "template:tickets"
9752
10595
  ],
9753
10596
  "args": {},
9754
- "description": "Manage phase templates (project lifecycle phases)",
10597
+ "description": "Manage ticket templates (for creating tickets from templates)",
9755
10598
  "examples": [
9756
10599
  "<%= config.bin %> <%= command.id %>",
9757
10600
  "<%= config.bin %> <%= command.id %> list",
9758
- "<%= config.bin %> <%= command.id %> apply agile",
9759
- "<%= config.bin %> <%= command.id %> create \"My Phases\""
10601
+ "<%= config.bin %> <%= command.id %> apply bug-report",
10602
+ "<%= config.bin %> <%= command.id %> save TKT-001 \"My Template\""
9760
10603
  ],
9761
10604
  "flags": {
9762
10605
  "json": {
@@ -9768,7 +10611,7 @@
9768
10611
  },
9769
10612
  "hasDynamicHelp": false,
9770
10613
  "hiddenAliases": [],
9771
- "id": "template:phase",
10614
+ "id": "template:ticket",
9772
10615
  "pluginAlias": "@proletariat/cli",
9773
10616
  "pluginName": "@proletariat/cli",
9774
10617
  "pluginType": "core",
@@ -9779,14 +10622,14 @@
9779
10622
  "dist",
9780
10623
  "commands",
9781
10624
  "template",
9782
- "phase",
10625
+ "ticket",
9783
10626
  "index.js"
9784
10627
  ]
9785
10628
  },
9786
- "template:phase:list": {
10629
+ "template:ticket:list": {
9787
10630
  "aliases": [],
9788
10631
  "args": {},
9789
- "description": "List phase templates",
10632
+ "description": "List ticket templates",
9790
10633
  "examples": [
9791
10634
  "<%= config.bin %> <%= command.id %>",
9792
10635
  "<%= config.bin %> <%= command.id %> --builtin",
@@ -9820,7 +10663,7 @@
9820
10663
  },
9821
10664
  "hasDynamicHelp": false,
9822
10665
  "hiddenAliases": [],
9823
- "id": "template:phase:list",
10666
+ "id": "template:ticket:list",
9824
10667
  "pluginAlias": "@proletariat/cli",
9825
10668
  "pluginName": "@proletariat/cli",
9826
10669
  "pluginType": "core",
@@ -9831,36 +10674,33 @@
9831
10674
  "dist",
9832
10675
  "commands",
9833
10676
  "template",
9834
- "phase",
10677
+ "ticket",
9835
10678
  "list.js"
9836
10679
  ]
9837
10680
  },
9838
- "template:phase:update": {
10681
+ "template:ticket:save": {
9839
10682
  "aliases": [],
9840
10683
  "args": {
9841
- "id": {
9842
- "description": "Template ID to update",
9843
- "name": "id",
10684
+ "ticket": {
10685
+ "description": "Ticket ID to create template from",
10686
+ "name": "ticket",
10687
+ "required": false
10688
+ },
10689
+ "name": {
10690
+ "description": "Template name",
10691
+ "name": "name",
9844
10692
  "required": false
9845
10693
  }
9846
10694
  },
9847
- "description": "Update an existing phase template",
10695
+ "description": "Create a template from an existing ticket",
9848
10696
  "examples": [
9849
- "<%= config.bin %> <%= command.id %> my-template --name \"New Name\"",
9850
- "<%= config.bin %> <%= command.id %> my-template --description \"Updated description\""
10697
+ "<%= config.bin %> <%= command.id %> TKT-001 \"Bug Report Template\"",
10698
+ "<%= config.bin %> <%= command.id %> TKT-042 \"Feature Request\" --description \"Standard feature request template\""
9851
10699
  ],
9852
10700
  "flags": {
9853
- "name": {
9854
- "char": "n",
9855
- "description": "New template name",
9856
- "name": "name",
9857
- "hasDynamicHelp": false,
9858
- "multiple": false,
9859
- "type": "option"
9860
- },
9861
10701
  "description": {
9862
10702
  "char": "d",
9863
- "description": "New template description",
10703
+ "description": "Template description",
9864
10704
  "name": "description",
9865
10705
  "hasDynamicHelp": false,
9866
10706
  "multiple": false,
@@ -9869,7 +10709,7 @@
9869
10709
  },
9870
10710
  "hasDynamicHelp": false,
9871
10711
  "hiddenAliases": [],
9872
- "id": "template:phase:update",
10712
+ "id": "template:ticket:save",
9873
10713
  "pluginAlias": "@proletariat/cli",
9874
10714
  "pluginName": "@proletariat/cli",
9875
10715
  "pluginType": "core",
@@ -9880,8 +10720,8 @@
9880
10720
  "dist",
9881
10721
  "commands",
9882
10722
  "template",
9883
- "phase",
9884
- "update.js"
10723
+ "ticket",
10724
+ "save.js"
9885
10725
  ]
9886
10726
  },
9887
10727
  "ticket:link:block": {
@@ -10636,5 +11476,5 @@
10636
11476
  ]
10637
11477
  }
10638
11478
  },
10639
- "version": "0.3.10"
11479
+ "version": "0.3.12"
10640
11480
  }