@proletariat/cli 0.3.110 → 0.3.112

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 (86) hide show
  1. package/dist/commands/gateway/connect.d.ts +33 -0
  2. package/dist/commands/gateway/connect.js +130 -0
  3. package/dist/commands/gateway/connect.js.map +1 -0
  4. package/dist/commands/gateway/disconnect.d.ts +21 -0
  5. package/dist/commands/gateway/disconnect.js +69 -0
  6. package/dist/commands/gateway/disconnect.js.map +1 -0
  7. package/dist/commands/gateway/start.d.ts +23 -0
  8. package/dist/commands/gateway/start.js +133 -0
  9. package/dist/commands/gateway/start.js.map +1 -0
  10. package/dist/commands/gateway/status.d.ts +16 -0
  11. package/dist/commands/gateway/status.js +76 -0
  12. package/dist/commands/gateway/status.js.map +1 -0
  13. package/dist/commands/gateway/test.d.ts +22 -0
  14. package/dist/commands/gateway/test.js +83 -0
  15. package/dist/commands/gateway/test.js.map +1 -0
  16. package/dist/commands/orchestrator/attach.d.ts +2 -0
  17. package/dist/commands/orchestrator/attach.js +80 -118
  18. package/dist/commands/orchestrator/attach.js.map +1 -1
  19. package/dist/commands/orchestrator/start.js +21 -0
  20. package/dist/commands/orchestrator/start.js.map +1 -1
  21. package/dist/commands/orchestrator/status.d.ts +3 -0
  22. package/dist/commands/orchestrator/status.js +104 -130
  23. package/dist/commands/orchestrator/status.js.map +1 -1
  24. package/dist/commands/orchestrator/stop.d.ts +2 -0
  25. package/dist/commands/orchestrator/stop.js +105 -107
  26. package/dist/commands/orchestrator/stop.js.map +1 -1
  27. package/dist/commands/reconcile.d.ts +29 -0
  28. package/dist/commands/reconcile.js +140 -0
  29. package/dist/commands/reconcile.js.map +1 -0
  30. package/dist/commands/session/attach.d.ts +2 -6
  31. package/dist/commands/session/attach.js +68 -97
  32. package/dist/commands/session/attach.js.map +1 -1
  33. package/dist/commands/session/list.d.ts +4 -1
  34. package/dist/commands/session/list.js +160 -326
  35. package/dist/commands/session/list.js.map +1 -1
  36. package/dist/commands/work/ship.js +131 -61
  37. package/dist/commands/work/ship.js.map +1 -1
  38. package/dist/commands/work/start.js +104 -49
  39. package/dist/commands/work/start.js.map +1 -1
  40. package/dist/lib/execution/session-utils.d.ts +4 -1
  41. package/dist/lib/execution/session-utils.js +3 -0
  42. package/dist/lib/execution/session-utils.js.map +1 -1
  43. package/dist/lib/gateway/channel-factory.d.ts +13 -0
  44. package/dist/lib/gateway/channel-factory.js +37 -0
  45. package/dist/lib/gateway/channel-factory.js.map +1 -0
  46. package/dist/lib/gateway/channels/telegram.d.ts +115 -0
  47. package/dist/lib/gateway/channels/telegram.js +215 -0
  48. package/dist/lib/gateway/channels/telegram.js.map +1 -0
  49. package/dist/lib/gateway/router.d.ts +84 -0
  50. package/dist/lib/gateway/router.js +140 -0
  51. package/dist/lib/gateway/router.js.map +1 -0
  52. package/dist/lib/gateway/session-poker.d.ts +35 -0
  53. package/dist/lib/gateway/session-poker.js +85 -0
  54. package/dist/lib/gateway/session-poker.js.map +1 -0
  55. package/dist/lib/gateway/types.d.ts +124 -0
  56. package/dist/lib/gateway/types.js +17 -0
  57. package/dist/lib/gateway/types.js.map +1 -0
  58. package/dist/lib/machine-db-mirror.d.ts +64 -0
  59. package/dist/lib/machine-db-mirror.js +82 -0
  60. package/dist/lib/machine-db-mirror.js.map +1 -0
  61. package/dist/lib/machine-db.d.ts +98 -0
  62. package/dist/lib/machine-db.js +152 -0
  63. package/dist/lib/machine-db.js.map +1 -1
  64. package/dist/lib/orchestrate/prompt-chain.d.ts +19 -4
  65. package/dist/lib/orchestrate/prompt-chain.js +19 -4
  66. package/dist/lib/orchestrate/prompt-chain.js.map +1 -1
  67. package/dist/lib/pr/index.d.ts +34 -2
  68. package/dist/lib/pr/index.js +95 -4
  69. package/dist/lib/pr/index.js.map +1 -1
  70. package/dist/lib/reconcile/core.d.ts +62 -0
  71. package/dist/lib/reconcile/core.js +137 -0
  72. package/dist/lib/reconcile/core.js.map +1 -0
  73. package/dist/lib/reconcile/index.d.ts +54 -0
  74. package/dist/lib/reconcile/index.js +377 -0
  75. package/dist/lib/reconcile/index.js.map +1 -0
  76. package/dist/lib/reconcile/types.d.ts +133 -0
  77. package/dist/lib/reconcile/types.js +16 -0
  78. package/dist/lib/reconcile/types.js.map +1 -0
  79. package/dist/lib/session/renderer.d.ts +121 -0
  80. package/dist/lib/session/renderer.js +547 -0
  81. package/dist/lib/session/renderer.js.map +1 -0
  82. package/dist/lib/update-check.d.ts +64 -7
  83. package/dist/lib/update-check.js +164 -20
  84. package/dist/lib/update-check.js.map +1 -1
  85. package/oclif.manifest.json +1203 -750
  86. package/package.json +1 -1
@@ -799,6 +799,74 @@
799
799
  "pull.js"
800
800
  ]
801
801
  },
802
+ "reconcile": {
803
+ "aliases": [],
804
+ "args": {},
805
+ "description": "Tier 2 state reconciler — poll GitHub for linked PRs and fix board drift",
806
+ "examples": [
807
+ "<%= config.bin %> <%= command.id %>",
808
+ "<%= config.bin %> <%= command.id %> --dry-run",
809
+ "<%= config.bin %> <%= command.id %> --watch",
810
+ "<%= config.bin %> <%= command.id %> --watch --interval 60",
811
+ "<%= config.bin %> <%= command.id %> -P proj-001"
812
+ ],
813
+ "flags": {
814
+ "project": {
815
+ "char": "P",
816
+ "description": "Project ID (uses first project if only one exists)",
817
+ "name": "project",
818
+ "hasDynamicHelp": false,
819
+ "multiple": false,
820
+ "type": "option"
821
+ },
822
+ "json": {
823
+ "description": "Output as JSON for AI agents/scripts",
824
+ "name": "json",
825
+ "allowNo": false,
826
+ "type": "boolean"
827
+ },
828
+ "machine": {
829
+ "char": "m",
830
+ "description": "Output as JSON for AI agents/scripts",
831
+ "name": "machine",
832
+ "allowNo": false,
833
+ "type": "boolean"
834
+ },
835
+ "dry-run": {
836
+ "description": "Print the transitions that would be made, but do not execute them",
837
+ "name": "dry-run",
838
+ "allowNo": false,
839
+ "type": "boolean"
840
+ },
841
+ "watch": {
842
+ "description": "Run on a timer until killed (default interval: 5 minutes)",
843
+ "name": "watch",
844
+ "allowNo": false,
845
+ "type": "boolean"
846
+ },
847
+ "interval": {
848
+ "description": "Watch interval in seconds (used with --watch)",
849
+ "name": "interval",
850
+ "default": 300,
851
+ "hasDynamicHelp": false,
852
+ "multiple": false,
853
+ "type": "option"
854
+ }
855
+ },
856
+ "hasDynamicHelp": false,
857
+ "hiddenAliases": [],
858
+ "id": "reconcile",
859
+ "pluginAlias": "@proletariat/cli",
860
+ "pluginName": "@proletariat/cli",
861
+ "pluginType": "core",
862
+ "strict": true,
863
+ "isESM": true,
864
+ "relativePath": [
865
+ "dist",
866
+ "commands",
867
+ "reconcile.js"
868
+ ]
869
+ },
802
870
  "self-update": {
803
871
  "aliases": [
804
872
  "self-update"
@@ -1978,32 +2046,17 @@
1978
2046
  "sync.js"
1979
2047
  ]
1980
2048
  },
1981
- "branch:create": {
2049
+ "autocomplete:setup": {
1982
2050
  "aliases": [],
1983
- "args": {
1984
- "name": {
1985
- "description": "Full branch name (bypasses wizard)",
1986
- "name": "name",
1987
- "required": false
1988
- }
1989
- },
1990
- "description": "Create a new branch with conventional naming",
2051
+ "args": {},
2052
+ "description": "Auto-detect shell and set up autocomplete",
1991
2053
  "examples": [
1992
2054
  "<%= config.bin %> <%= command.id %>",
1993
- "<%= config.bin %> <%= command.id %> -T TKT-001",
1994
- "<%= config.bin %> <%= command.id %> -T TKT-001 -e",
1995
- "<%= config.bin %> <%= command.id %> feat/chris/add-user-auth",
1996
- "<%= config.bin %> <%= command.id %> -t feat -c chris -d add-user-auth"
2055
+ "<%= config.bin %> <%= command.id %> --install",
2056
+ "<%= config.bin %> <%= command.id %> --shell zsh",
2057
+ "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
1997
2058
  ],
1998
2059
  "flags": {
1999
- "project": {
2000
- "char": "P",
2001
- "description": "Project ID (uses first project if only one exists)",
2002
- "name": "project",
2003
- "hasDynamicHelp": false,
2004
- "multiple": false,
2005
- "type": "option"
2006
- },
2007
2060
  "json": {
2008
2061
  "description": "Output as JSON for AI agents/scripts",
2009
2062
  "name": "json",
@@ -2017,88 +2070,30 @@
2017
2070
  "allowNo": false,
2018
2071
  "type": "boolean"
2019
2072
  },
2020
- "ticket": {
2021
- "char": "T",
2022
- "description": "Ticket ID - auto-generates branch from ticket (or use with -t/-d for manual)",
2023
- "name": "ticket",
2024
- "hasDynamicHelp": false,
2025
- "multiple": false,
2026
- "type": "option"
2073
+ "install": {
2074
+ "char": "i",
2075
+ "description": "Automatically install to shell config file",
2076
+ "name": "install",
2077
+ "allowNo": false,
2078
+ "type": "boolean"
2027
2079
  },
2028
- "type": {
2029
- "char": "t",
2030
- "description": "Branch type [required for non-interactive with -d]",
2031
- "name": "type",
2080
+ "shell": {
2081
+ "char": "s",
2082
+ "description": "Override shell detection (zsh, bash, powershell)",
2083
+ "name": "shell",
2032
2084
  "hasDynamicHelp": false,
2033
2085
  "multiple": false,
2034
2086
  "options": [
2035
- "feat",
2036
- "fix",
2037
- "rfct",
2038
- "docs",
2039
- "test",
2040
- "chore",
2041
- "perf",
2042
- "ci",
2043
- "build",
2044
- "sec",
2045
- "db",
2046
- "rel",
2047
- "ship",
2048
- "grow",
2049
- "cx",
2050
- "strat",
2051
- "ops"
2087
+ "zsh",
2088
+ "bash",
2089
+ "powershell"
2052
2090
  ],
2053
2091
  "type": "option"
2054
- },
2055
- "owner": {
2056
- "char": "c",
2057
- "description": "Owner/coder identifier (defaults to GitHub username)",
2058
- "name": "owner",
2059
- "hasDynamicHelp": false,
2060
- "multiple": false,
2061
- "type": "option"
2062
- },
2063
- "description": {
2064
- "char": "d",
2065
- "description": "Branch description (kebab-case) [required for non-interactive with -t]",
2066
- "name": "description",
2067
- "hasDynamicHelp": false,
2068
- "multiple": false,
2069
- "type": "option"
2070
- },
2071
- "empty-commit": {
2072
- "char": "e",
2073
- "description": "Create initial commit to seed PR title",
2074
- "name": "empty-commit",
2075
- "allowNo": false,
2076
- "type": "boolean"
2077
- },
2078
- "no-switch": {
2079
- "description": "Create branch without switching to it",
2080
- "name": "no-switch",
2081
- "allowNo": false,
2082
- "type": "boolean"
2083
- },
2084
- "from-origin": {
2085
- "char": "o",
2086
- "description": "Fetch and create branch from origin/main",
2087
- "name": "from-origin",
2088
- "allowNo": false,
2089
- "type": "boolean"
2090
- },
2091
- "force": {
2092
- "char": "f",
2093
- "description": "Non-interactive mode: skip prompts, switch to existing branch if it exists",
2094
- "name": "force",
2095
- "allowNo": false,
2096
- "type": "boolean"
2097
2092
  }
2098
2093
  },
2099
2094
  "hasDynamicHelp": false,
2100
2095
  "hiddenAliases": [],
2101
- "id": "branch:create",
2096
+ "id": "autocomplete:setup",
2102
2097
  "pluginAlias": "@proletariat/cli",
2103
2098
  "pluginName": "@proletariat/cli",
2104
2099
  "pluginType": "core",
@@ -2107,26 +2102,23 @@
2107
2102
  "relativePath": [
2108
2103
  "dist",
2109
2104
  "commands",
2110
- "branch",
2111
- "create.js"
2105
+ "autocomplete",
2106
+ "setup.js"
2112
2107
  ]
2113
2108
  },
2114
- "branch": {
2109
+ "caffeinate": {
2115
2110
  "aliases": [],
2116
2111
  "args": {},
2117
- "description": "Interactive menu for branch operations",
2112
+ "description": "Manage caffeinate to keep macOS awake",
2118
2113
  "examples": [
2119
- "<%= config.bin %> <%= command.id %>"
2114
+ "<%= config.bin %> caffeinate",
2115
+ "<%= config.bin %> caffeinate start",
2116
+ "<%= config.bin %> caffeinate status",
2117
+ "<%= config.bin %> caffeinate stop",
2118
+ "<%= config.bin %> caffeinate start --duration 3600",
2119
+ "<%= config.bin %> caffeinate start --display"
2120
2120
  ],
2121
2121
  "flags": {
2122
- "project": {
2123
- "char": "P",
2124
- "description": "Project ID (uses first project if only one exists)",
2125
- "name": "project",
2126
- "hasDynamicHelp": false,
2127
- "multiple": false,
2128
- "type": "option"
2129
- },
2130
2122
  "json": {
2131
2123
  "description": "Output as JSON for AI agents/scripts",
2132
2124
  "name": "json",
@@ -2143,28 +2135,28 @@
2143
2135
  },
2144
2136
  "hasDynamicHelp": false,
2145
2137
  "hiddenAliases": [],
2146
- "id": "branch",
2138
+ "id": "caffeinate",
2147
2139
  "pluginAlias": "@proletariat/cli",
2148
2140
  "pluginName": "@proletariat/cli",
2149
2141
  "pluginType": "core",
2150
2142
  "strict": true,
2143
+ "enableJsonFlag": false,
2151
2144
  "isESM": true,
2152
2145
  "relativePath": [
2153
2146
  "dist",
2154
2147
  "commands",
2155
- "branch",
2148
+ "caffeinate",
2156
2149
  "index.js"
2157
2150
  ]
2158
2151
  },
2159
- "branch:list": {
2152
+ "caffeinate:start": {
2160
2153
  "aliases": [],
2161
2154
  "args": {},
2162
- "description": "List branches with conventional naming information",
2155
+ "description": "Start caffeinate to prevent macOS from sleeping",
2163
2156
  "examples": [
2164
- "<%= config.bin %> <%= command.id %>",
2165
- "<%= config.bin %> <%= command.id %> --all",
2166
- "<%= config.bin %> <%= command.id %> --type feat",
2167
- "<%= config.bin %> <%= command.id %> --format compact"
2157
+ "<%= config.bin %> caffeinate start",
2158
+ "<%= config.bin %> caffeinate start --duration 3600",
2159
+ "<%= config.bin %> caffeinate start --display"
2168
2160
  ],
2169
2161
  "flags": {
2170
2162
  "json": {
@@ -2180,84 +2172,58 @@
2180
2172
  "allowNo": false,
2181
2173
  "type": "boolean"
2182
2174
  },
2183
- "all": {
2184
- "char": "a",
2185
- "description": "Include remote branches",
2186
- "name": "all",
2187
- "allowNo": false,
2188
- "type": "boolean"
2189
- },
2190
- "type": {
2175
+ "duration": {
2191
2176
  "char": "t",
2192
- "description": "Filter by branch type",
2193
- "name": "type",
2177
+ "description": "Duration in seconds (default: indefinite)",
2178
+ "name": "duration",
2194
2179
  "hasDynamicHelp": false,
2195
2180
  "multiple": false,
2196
- "options": [
2197
- "feat",
2198
- "fix",
2199
- "rfct",
2200
- "docs",
2201
- "test",
2202
- "chore",
2203
- "perf",
2204
- "ci",
2205
- "build",
2206
- "sec",
2207
- "db",
2208
- "rel",
2209
- "ship",
2210
- "grow",
2211
- "cx",
2212
- "strat",
2213
- "ops"
2214
- ],
2215
2181
  "type": "option"
2216
2182
  },
2217
- "format": {
2218
- "char": "f",
2219
- "description": "Output format",
2220
- "name": "format",
2221
- "default": "table",
2222
- "hasDynamicHelp": false,
2223
- "multiple": false,
2224
- "options": [
2225
- "table",
2226
- "compact",
2227
- "json"
2228
- ],
2229
- "type": "option"
2230
- }
2231
- },
2183
+ "display": {
2184
+ "char": "d",
2185
+ "description": "Prevent display from sleeping (adds -d flag)",
2186
+ "name": "display",
2187
+ "allowNo": false,
2188
+ "type": "boolean"
2189
+ },
2190
+ "idle": {
2191
+ "char": "i",
2192
+ "description": "Prevent idle sleep (adds -i flag)",
2193
+ "name": "idle",
2194
+ "allowNo": false,
2195
+ "type": "boolean"
2196
+ },
2197
+ "system": {
2198
+ "char": "s",
2199
+ "description": "Prevent system sleep (adds -s flag)",
2200
+ "name": "system",
2201
+ "allowNo": false,
2202
+ "type": "boolean"
2203
+ }
2204
+ },
2232
2205
  "hasDynamicHelp": false,
2233
2206
  "hiddenAliases": [],
2234
- "id": "branch:list",
2207
+ "id": "caffeinate:start",
2235
2208
  "pluginAlias": "@proletariat/cli",
2236
2209
  "pluginName": "@proletariat/cli",
2237
2210
  "pluginType": "core",
2238
2211
  "strict": true,
2212
+ "enableJsonFlag": false,
2239
2213
  "isESM": true,
2240
2214
  "relativePath": [
2241
2215
  "dist",
2242
2216
  "commands",
2243
- "branch",
2244
- "list.js"
2217
+ "caffeinate",
2218
+ "start.js"
2245
2219
  ]
2246
2220
  },
2247
- "branch:validate": {
2221
+ "caffeinate:status": {
2248
2222
  "aliases": [],
2249
- "args": {
2250
- "name": {
2251
- "description": "Branch name to validate. Defaults to current branch.",
2252
- "name": "name",
2253
- "required": false
2254
- }
2255
- },
2256
- "description": "Validate branch name against conventional format",
2223
+ "args": {},
2224
+ "description": "Check if caffeinate is running",
2257
2225
  "examples": [
2258
- "<%= config.bin %> <%= command.id %> feat/chris/add-user-auth",
2259
- "<%= config.bin %> <%= command.id %> my-random-branch",
2260
- "<%= config.bin %> <%= command.id %> # Validates current branch"
2226
+ "<%= config.bin %> caffeinate status"
2261
2227
  ],
2262
2228
  "flags": {
2263
2229
  "json": {
@@ -2276,33 +2242,26 @@
2276
2242
  },
2277
2243
  "hasDynamicHelp": false,
2278
2244
  "hiddenAliases": [],
2279
- "id": "branch:validate",
2245
+ "id": "caffeinate:status",
2280
2246
  "pluginAlias": "@proletariat/cli",
2281
2247
  "pluginName": "@proletariat/cli",
2282
2248
  "pluginType": "core",
2283
2249
  "strict": true,
2250
+ "enableJsonFlag": false,
2284
2251
  "isESM": true,
2285
2252
  "relativePath": [
2286
2253
  "dist",
2287
2254
  "commands",
2288
- "branch",
2289
- "validate.js"
2255
+ "caffeinate",
2256
+ "status.js"
2290
2257
  ]
2291
2258
  },
2292
- "branch:where": {
2259
+ "caffeinate:stop": {
2293
2260
  "aliases": [],
2294
- "args": {
2295
- "search": {
2296
- "description": "Branch name or ticket ID to search for",
2297
- "name": "search",
2298
- "required": true
2299
- }
2300
- },
2301
- "description": "Find which directory a branch is checked out in",
2261
+ "args": {},
2262
+ "description": "Stop the managed caffeinate process",
2302
2263
  "examples": [
2303
- "<%= config.bin %> <%= command.id %> TKT-468",
2304
- "<%= config.bin %> <%= command.id %> feat/chris/add-auth",
2305
- "<%= config.bin %> <%= command.id %> TKT-468 --json"
2264
+ "<%= config.bin %> caffeinate stop"
2306
2265
  ],
2307
2266
  "flags": {
2308
2267
  "json": {
@@ -2321,30 +2280,46 @@
2321
2280
  },
2322
2281
  "hasDynamicHelp": false,
2323
2282
  "hiddenAliases": [],
2324
- "id": "branch:where",
2283
+ "id": "caffeinate:stop",
2325
2284
  "pluginAlias": "@proletariat/cli",
2326
2285
  "pluginName": "@proletariat/cli",
2327
2286
  "pluginType": "core",
2328
2287
  "strict": true,
2288
+ "enableJsonFlag": false,
2329
2289
  "isESM": true,
2330
2290
  "relativePath": [
2331
2291
  "dist",
2332
2292
  "commands",
2333
- "branch",
2334
- "where.js"
2293
+ "caffeinate",
2294
+ "stop.js"
2335
2295
  ]
2336
2296
  },
2337
- "autocomplete:setup": {
2297
+ "branch:create": {
2338
2298
  "aliases": [],
2339
- "args": {},
2340
- "description": "Auto-detect shell and set up autocomplete",
2299
+ "args": {
2300
+ "name": {
2301
+ "description": "Full branch name (bypasses wizard)",
2302
+ "name": "name",
2303
+ "required": false
2304
+ }
2305
+ },
2306
+ "description": "Create a new branch with conventional naming",
2341
2307
  "examples": [
2342
2308
  "<%= config.bin %> <%= command.id %>",
2343
- "<%= config.bin %> <%= command.id %> --install",
2344
- "<%= config.bin %> <%= command.id %> --shell zsh",
2345
- "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
2309
+ "<%= config.bin %> <%= command.id %> -T TKT-001",
2310
+ "<%= config.bin %> <%= command.id %> -T TKT-001 -e",
2311
+ "<%= config.bin %> <%= command.id %> feat/chris/add-user-auth",
2312
+ "<%= config.bin %> <%= command.id %> -t feat -c chris -d add-user-auth"
2346
2313
  ],
2347
2314
  "flags": {
2315
+ "project": {
2316
+ "char": "P",
2317
+ "description": "Project ID (uses first project if only one exists)",
2318
+ "name": "project",
2319
+ "hasDynamicHelp": false,
2320
+ "multiple": false,
2321
+ "type": "option"
2322
+ },
2348
2323
  "json": {
2349
2324
  "description": "Output as JSON for AI agents/scripts",
2350
2325
  "name": "json",
@@ -2358,30 +2333,88 @@
2358
2333
  "allowNo": false,
2359
2334
  "type": "boolean"
2360
2335
  },
2361
- "install": {
2362
- "char": "i",
2363
- "description": "Automatically install to shell config file",
2364
- "name": "install",
2365
- "allowNo": false,
2366
- "type": "boolean"
2336
+ "ticket": {
2337
+ "char": "T",
2338
+ "description": "Ticket ID - auto-generates branch from ticket (or use with -t/-d for manual)",
2339
+ "name": "ticket",
2340
+ "hasDynamicHelp": false,
2341
+ "multiple": false,
2342
+ "type": "option"
2367
2343
  },
2368
- "shell": {
2369
- "char": "s",
2370
- "description": "Override shell detection (zsh, bash, powershell)",
2371
- "name": "shell",
2344
+ "type": {
2345
+ "char": "t",
2346
+ "description": "Branch type [required for non-interactive with -d]",
2347
+ "name": "type",
2372
2348
  "hasDynamicHelp": false,
2373
2349
  "multiple": false,
2374
2350
  "options": [
2375
- "zsh",
2376
- "bash",
2377
- "powershell"
2351
+ "feat",
2352
+ "fix",
2353
+ "rfct",
2354
+ "docs",
2355
+ "test",
2356
+ "chore",
2357
+ "perf",
2358
+ "ci",
2359
+ "build",
2360
+ "sec",
2361
+ "db",
2362
+ "rel",
2363
+ "ship",
2364
+ "grow",
2365
+ "cx",
2366
+ "strat",
2367
+ "ops"
2378
2368
  ],
2379
2369
  "type": "option"
2370
+ },
2371
+ "owner": {
2372
+ "char": "c",
2373
+ "description": "Owner/coder identifier (defaults to GitHub username)",
2374
+ "name": "owner",
2375
+ "hasDynamicHelp": false,
2376
+ "multiple": false,
2377
+ "type": "option"
2378
+ },
2379
+ "description": {
2380
+ "char": "d",
2381
+ "description": "Branch description (kebab-case) [required for non-interactive with -t]",
2382
+ "name": "description",
2383
+ "hasDynamicHelp": false,
2384
+ "multiple": false,
2385
+ "type": "option"
2386
+ },
2387
+ "empty-commit": {
2388
+ "char": "e",
2389
+ "description": "Create initial commit to seed PR title",
2390
+ "name": "empty-commit",
2391
+ "allowNo": false,
2392
+ "type": "boolean"
2393
+ },
2394
+ "no-switch": {
2395
+ "description": "Create branch without switching to it",
2396
+ "name": "no-switch",
2397
+ "allowNo": false,
2398
+ "type": "boolean"
2399
+ },
2400
+ "from-origin": {
2401
+ "char": "o",
2402
+ "description": "Fetch and create branch from origin/main",
2403
+ "name": "from-origin",
2404
+ "allowNo": false,
2405
+ "type": "boolean"
2406
+ },
2407
+ "force": {
2408
+ "char": "f",
2409
+ "description": "Non-interactive mode: skip prompts, switch to existing branch if it exists",
2410
+ "name": "force",
2411
+ "allowNo": false,
2412
+ "type": "boolean"
2380
2413
  }
2381
2414
  },
2382
2415
  "hasDynamicHelp": false,
2383
2416
  "hiddenAliases": [],
2384
- "id": "autocomplete:setup",
2417
+ "id": "branch:create",
2385
2418
  "pluginAlias": "@proletariat/cli",
2386
2419
  "pluginName": "@proletariat/cli",
2387
2420
  "pluginType": "core",
@@ -2390,23 +2423,26 @@
2390
2423
  "relativePath": [
2391
2424
  "dist",
2392
2425
  "commands",
2393
- "autocomplete",
2394
- "setup.js"
2426
+ "branch",
2427
+ "create.js"
2395
2428
  ]
2396
2429
  },
2397
- "caffeinate": {
2430
+ "branch": {
2398
2431
  "aliases": [],
2399
2432
  "args": {},
2400
- "description": "Manage caffeinate to keep macOS awake",
2433
+ "description": "Interactive menu for branch operations",
2401
2434
  "examples": [
2402
- "<%= config.bin %> caffeinate",
2403
- "<%= config.bin %> caffeinate start",
2404
- "<%= config.bin %> caffeinate status",
2405
- "<%= config.bin %> caffeinate stop",
2406
- "<%= config.bin %> caffeinate start --duration 3600",
2407
- "<%= config.bin %> caffeinate start --display"
2435
+ "<%= config.bin %> <%= command.id %>"
2408
2436
  ],
2409
2437
  "flags": {
2438
+ "project": {
2439
+ "char": "P",
2440
+ "description": "Project ID (uses first project if only one exists)",
2441
+ "name": "project",
2442
+ "hasDynamicHelp": false,
2443
+ "multiple": false,
2444
+ "type": "option"
2445
+ },
2410
2446
  "json": {
2411
2447
  "description": "Output as JSON for AI agents/scripts",
2412
2448
  "name": "json",
@@ -2423,28 +2459,28 @@
2423
2459
  },
2424
2460
  "hasDynamicHelp": false,
2425
2461
  "hiddenAliases": [],
2426
- "id": "caffeinate",
2462
+ "id": "branch",
2427
2463
  "pluginAlias": "@proletariat/cli",
2428
2464
  "pluginName": "@proletariat/cli",
2429
2465
  "pluginType": "core",
2430
2466
  "strict": true,
2431
- "enableJsonFlag": false,
2432
2467
  "isESM": true,
2433
2468
  "relativePath": [
2434
2469
  "dist",
2435
2470
  "commands",
2436
- "caffeinate",
2471
+ "branch",
2437
2472
  "index.js"
2438
2473
  ]
2439
2474
  },
2440
- "caffeinate:start": {
2475
+ "branch:list": {
2441
2476
  "aliases": [],
2442
2477
  "args": {},
2443
- "description": "Start caffeinate to prevent macOS from sleeping",
2478
+ "description": "List branches with conventional naming information",
2444
2479
  "examples": [
2445
- "<%= config.bin %> caffeinate start",
2446
- "<%= config.bin %> caffeinate start --duration 3600",
2447
- "<%= config.bin %> caffeinate start --display"
2480
+ "<%= config.bin %> <%= command.id %>",
2481
+ "<%= config.bin %> <%= command.id %> --all",
2482
+ "<%= config.bin %> <%= command.id %> --type feat",
2483
+ "<%= config.bin %> <%= command.id %> --format compact"
2448
2484
  ],
2449
2485
  "flags": {
2450
2486
  "json": {
@@ -2460,58 +2496,84 @@
2460
2496
  "allowNo": false,
2461
2497
  "type": "boolean"
2462
2498
  },
2463
- "duration": {
2464
- "char": "t",
2465
- "description": "Duration in seconds (default: indefinite)",
2466
- "name": "duration",
2467
- "hasDynamicHelp": false,
2468
- "multiple": false,
2469
- "type": "option"
2470
- },
2471
- "display": {
2472
- "char": "d",
2473
- "description": "Prevent display from sleeping (adds -d flag)",
2474
- "name": "display",
2475
- "allowNo": false,
2476
- "type": "boolean"
2477
- },
2478
- "idle": {
2479
- "char": "i",
2480
- "description": "Prevent idle sleep (adds -i flag)",
2481
- "name": "idle",
2499
+ "all": {
2500
+ "char": "a",
2501
+ "description": "Include remote branches",
2502
+ "name": "all",
2482
2503
  "allowNo": false,
2483
2504
  "type": "boolean"
2484
2505
  },
2485
- "system": {
2486
- "char": "s",
2487
- "description": "Prevent system sleep (adds -s flag)",
2488
- "name": "system",
2489
- "allowNo": false,
2490
- "type": "boolean"
2506
+ "type": {
2507
+ "char": "t",
2508
+ "description": "Filter by branch type",
2509
+ "name": "type",
2510
+ "hasDynamicHelp": false,
2511
+ "multiple": false,
2512
+ "options": [
2513
+ "feat",
2514
+ "fix",
2515
+ "rfct",
2516
+ "docs",
2517
+ "test",
2518
+ "chore",
2519
+ "perf",
2520
+ "ci",
2521
+ "build",
2522
+ "sec",
2523
+ "db",
2524
+ "rel",
2525
+ "ship",
2526
+ "grow",
2527
+ "cx",
2528
+ "strat",
2529
+ "ops"
2530
+ ],
2531
+ "type": "option"
2532
+ },
2533
+ "format": {
2534
+ "char": "f",
2535
+ "description": "Output format",
2536
+ "name": "format",
2537
+ "default": "table",
2538
+ "hasDynamicHelp": false,
2539
+ "multiple": false,
2540
+ "options": [
2541
+ "table",
2542
+ "compact",
2543
+ "json"
2544
+ ],
2545
+ "type": "option"
2491
2546
  }
2492
2547
  },
2493
2548
  "hasDynamicHelp": false,
2494
2549
  "hiddenAliases": [],
2495
- "id": "caffeinate:start",
2550
+ "id": "branch:list",
2496
2551
  "pluginAlias": "@proletariat/cli",
2497
2552
  "pluginName": "@proletariat/cli",
2498
2553
  "pluginType": "core",
2499
2554
  "strict": true,
2500
- "enableJsonFlag": false,
2501
2555
  "isESM": true,
2502
2556
  "relativePath": [
2503
2557
  "dist",
2504
2558
  "commands",
2505
- "caffeinate",
2506
- "start.js"
2559
+ "branch",
2560
+ "list.js"
2507
2561
  ]
2508
2562
  },
2509
- "caffeinate:status": {
2563
+ "branch:validate": {
2510
2564
  "aliases": [],
2511
- "args": {},
2512
- "description": "Check if caffeinate is running",
2565
+ "args": {
2566
+ "name": {
2567
+ "description": "Branch name to validate. Defaults to current branch.",
2568
+ "name": "name",
2569
+ "required": false
2570
+ }
2571
+ },
2572
+ "description": "Validate branch name against conventional format",
2513
2573
  "examples": [
2514
- "<%= config.bin %> caffeinate status"
2574
+ "<%= config.bin %> <%= command.id %> feat/chris/add-user-auth",
2575
+ "<%= config.bin %> <%= command.id %> my-random-branch",
2576
+ "<%= config.bin %> <%= command.id %> # Validates current branch"
2515
2577
  ],
2516
2578
  "flags": {
2517
2579
  "json": {
@@ -2530,26 +2592,33 @@
2530
2592
  },
2531
2593
  "hasDynamicHelp": false,
2532
2594
  "hiddenAliases": [],
2533
- "id": "caffeinate:status",
2595
+ "id": "branch:validate",
2534
2596
  "pluginAlias": "@proletariat/cli",
2535
2597
  "pluginName": "@proletariat/cli",
2536
2598
  "pluginType": "core",
2537
2599
  "strict": true,
2538
- "enableJsonFlag": false,
2539
2600
  "isESM": true,
2540
2601
  "relativePath": [
2541
2602
  "dist",
2542
2603
  "commands",
2543
- "caffeinate",
2544
- "status.js"
2604
+ "branch",
2605
+ "validate.js"
2545
2606
  ]
2546
2607
  },
2547
- "caffeinate:stop": {
2608
+ "branch:where": {
2548
2609
  "aliases": [],
2549
- "args": {},
2550
- "description": "Stop the managed caffeinate process",
2610
+ "args": {
2611
+ "search": {
2612
+ "description": "Branch name or ticket ID to search for",
2613
+ "name": "search",
2614
+ "required": true
2615
+ }
2616
+ },
2617
+ "description": "Find which directory a branch is checked out in",
2551
2618
  "examples": [
2552
- "<%= config.bin %> caffeinate stop"
2619
+ "<%= config.bin %> <%= command.id %> TKT-468",
2620
+ "<%= config.bin %> <%= command.id %> feat/chris/add-auth",
2621
+ "<%= config.bin %> <%= command.id %> TKT-468 --json"
2553
2622
  ],
2554
2623
  "flags": {
2555
2624
  "json": {
@@ -2568,18 +2637,17 @@
2568
2637
  },
2569
2638
  "hasDynamicHelp": false,
2570
2639
  "hiddenAliases": [],
2571
- "id": "caffeinate:stop",
2640
+ "id": "branch:where",
2572
2641
  "pluginAlias": "@proletariat/cli",
2573
2642
  "pluginName": "@proletariat/cli",
2574
2643
  "pluginType": "core",
2575
2644
  "strict": true,
2576
- "enableJsonFlag": false,
2577
2645
  "isESM": true,
2578
2646
  "relativePath": [
2579
2647
  "dist",
2580
2648
  "commands",
2581
- "caffeinate",
2582
- "stop.js"
2649
+ "branch",
2650
+ "where.js"
2583
2651
  ]
2584
2652
  },
2585
2653
  "claude": {
@@ -3499,7 +3567,202 @@
3499
3567
  },
3500
3568
  "hasDynamicHelp": false,
3501
3569
  "hiddenAliases": [],
3502
- "id": "docker:shell",
3570
+ "id": "docker:shell",
3571
+ "pluginAlias": "@proletariat/cli",
3572
+ "pluginName": "@proletariat/cli",
3573
+ "pluginType": "core",
3574
+ "strict": true,
3575
+ "enableJsonFlag": false,
3576
+ "isESM": true,
3577
+ "relativePath": [
3578
+ "dist",
3579
+ "commands",
3580
+ "docker",
3581
+ "shell.js"
3582
+ ]
3583
+ },
3584
+ "docker:start": {
3585
+ "aliases": [],
3586
+ "args": {
3587
+ "target": {
3588
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3589
+ "name": "target",
3590
+ "required": true
3591
+ }
3592
+ },
3593
+ "description": "Start a stopped container (by execution ID, agent name, or container ID)",
3594
+ "examples": [
3595
+ "<%= config.bin %> <%= command.id %> WORK-001",
3596
+ "<%= config.bin %> <%= command.id %> kalanick",
3597
+ "<%= config.bin %> <%= command.id %> abc123"
3598
+ ],
3599
+ "flags": {
3600
+ "json": {
3601
+ "description": "Output as JSON for AI agents/scripts",
3602
+ "name": "json",
3603
+ "allowNo": false,
3604
+ "type": "boolean"
3605
+ },
3606
+ "machine": {
3607
+ "char": "m",
3608
+ "description": "Output as JSON for AI agents/scripts",
3609
+ "name": "machine",
3610
+ "allowNo": false,
3611
+ "type": "boolean"
3612
+ },
3613
+ "attach": {
3614
+ "char": "a",
3615
+ "description": "Attach to container after starting",
3616
+ "name": "attach",
3617
+ "allowNo": false,
3618
+ "type": "boolean"
3619
+ }
3620
+ },
3621
+ "hasDynamicHelp": false,
3622
+ "hiddenAliases": [],
3623
+ "id": "docker:start",
3624
+ "pluginAlias": "@proletariat/cli",
3625
+ "pluginName": "@proletariat/cli",
3626
+ "pluginType": "core",
3627
+ "strict": true,
3628
+ "enableJsonFlag": false,
3629
+ "isESM": true,
3630
+ "relativePath": [
3631
+ "dist",
3632
+ "commands",
3633
+ "docker",
3634
+ "start.js"
3635
+ ]
3636
+ },
3637
+ "docker:status": {
3638
+ "aliases": [],
3639
+ "args": {},
3640
+ "description": "Check if Docker daemon is running",
3641
+ "examples": [
3642
+ "<%= config.bin %> <%= command.id %>"
3643
+ ],
3644
+ "flags": {
3645
+ "json": {
3646
+ "description": "Output as JSON for AI agents/scripts",
3647
+ "name": "json",
3648
+ "allowNo": false,
3649
+ "type": "boolean"
3650
+ },
3651
+ "machine": {
3652
+ "char": "m",
3653
+ "description": "Output as JSON for AI agents/scripts",
3654
+ "name": "machine",
3655
+ "allowNo": false,
3656
+ "type": "boolean"
3657
+ }
3658
+ },
3659
+ "hasDynamicHelp": false,
3660
+ "hiddenAliases": [],
3661
+ "id": "docker:status",
3662
+ "pluginAlias": "@proletariat/cli",
3663
+ "pluginName": "@proletariat/cli",
3664
+ "pluginType": "core",
3665
+ "strict": true,
3666
+ "enableJsonFlag": false,
3667
+ "isESM": true,
3668
+ "relativePath": [
3669
+ "dist",
3670
+ "commands",
3671
+ "docker",
3672
+ "status.js"
3673
+ ]
3674
+ },
3675
+ "docker:stop": {
3676
+ "aliases": [],
3677
+ "args": {
3678
+ "target": {
3679
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3680
+ "name": "target",
3681
+ "required": true
3682
+ }
3683
+ },
3684
+ "description": "Stop a running container (by execution ID, agent name, or container ID)",
3685
+ "examples": [
3686
+ "<%= config.bin %> <%= command.id %> WORK-001",
3687
+ "<%= config.bin %> <%= command.id %> kalanick",
3688
+ "<%= config.bin %> <%= command.id %> abc123 --force"
3689
+ ],
3690
+ "flags": {
3691
+ "force": {
3692
+ "aliases": [
3693
+ "yes",
3694
+ "y"
3695
+ ],
3696
+ "char": "f",
3697
+ "description": "Skip confirmation prompt",
3698
+ "name": "force",
3699
+ "allowNo": false,
3700
+ "type": "boolean"
3701
+ },
3702
+ "time": {
3703
+ "char": "t",
3704
+ "description": "Seconds to wait before killing the container",
3705
+ "name": "time",
3706
+ "default": 10,
3707
+ "hasDynamicHelp": false,
3708
+ "multiple": false,
3709
+ "type": "option"
3710
+ },
3711
+ "json": {
3712
+ "description": "Output as JSON for AI agents/scripts",
3713
+ "name": "json",
3714
+ "allowNo": false,
3715
+ "type": "boolean"
3716
+ },
3717
+ "machine": {
3718
+ "char": "m",
3719
+ "description": "Output as JSON for AI agents/scripts",
3720
+ "name": "machine",
3721
+ "allowNo": false,
3722
+ "type": "boolean"
3723
+ }
3724
+ },
3725
+ "hasDynamicHelp": false,
3726
+ "hiddenAliases": [],
3727
+ "id": "docker:stop",
3728
+ "pluginAlias": "@proletariat/cli",
3729
+ "pluginName": "@proletariat/cli",
3730
+ "pluginType": "core",
3731
+ "strict": true,
3732
+ "enableJsonFlag": false,
3733
+ "isESM": true,
3734
+ "relativePath": [
3735
+ "dist",
3736
+ "commands",
3737
+ "docker",
3738
+ "stop.js"
3739
+ ]
3740
+ },
3741
+ "docker:sync": {
3742
+ "aliases": [],
3743
+ "args": {},
3744
+ "description": "Sync container status from Docker into the database",
3745
+ "examples": [
3746
+ "<%= config.bin %> <%= command.id %>"
3747
+ ],
3748
+ "flags": {
3749
+ "json": {
3750
+ "description": "Output as JSON for AI agents/scripts",
3751
+ "name": "json",
3752
+ "allowNo": false,
3753
+ "type": "boolean"
3754
+ },
3755
+ "machine": {
3756
+ "char": "m",
3757
+ "description": "Output as JSON for AI agents/scripts",
3758
+ "name": "machine",
3759
+ "allowNo": false,
3760
+ "type": "boolean"
3761
+ }
3762
+ },
3763
+ "hasDynamicHelp": false,
3764
+ "hiddenAliases": [],
3765
+ "id": "docker:sync",
3503
3766
  "pluginAlias": "@proletariat/cli",
3504
3767
  "pluginName": "@proletariat/cli",
3505
3768
  "pluginType": "core",
@@ -3510,23 +3773,16 @@
3510
3773
  "dist",
3511
3774
  "commands",
3512
3775
  "docker",
3513
- "shell.js"
3776
+ "sync.js"
3514
3777
  ]
3515
3778
  },
3516
- "docker:start": {
3779
+ "feedback": {
3517
3780
  "aliases": [],
3518
- "args": {
3519
- "target": {
3520
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3521
- "name": "target",
3522
- "required": true
3523
- }
3524
- },
3525
- "description": "Start a stopped container (by execution ID, agent name, or container ID)",
3781
+ "args": {},
3782
+ "description": "Interactive menu for feedback and issue operations",
3526
3783
  "examples": [
3527
- "<%= config.bin %> <%= command.id %> WORK-001",
3528
- "<%= config.bin %> <%= command.id %> kalanick",
3529
- "<%= config.bin %> <%= command.id %> abc123"
3784
+ "<%= config.bin %> <%= command.id %>",
3785
+ "<%= config.bin %> <%= command.id %> --action submit"
3530
3786
  ],
3531
3787
  "flags": {
3532
3788
  "json": {
@@ -3542,17 +3798,23 @@
3542
3798
  "allowNo": false,
3543
3799
  "type": "boolean"
3544
3800
  },
3545
- "attach": {
3801
+ "action": {
3546
3802
  "char": "a",
3547
- "description": "Attach to container after starting",
3548
- "name": "attach",
3549
- "allowNo": false,
3550
- "type": "boolean"
3803
+ "description": "Action to perform (submit, list, view)",
3804
+ "name": "action",
3805
+ "hasDynamicHelp": false,
3806
+ "multiple": false,
3807
+ "options": [
3808
+ "submit",
3809
+ "list",
3810
+ "view"
3811
+ ],
3812
+ "type": "option"
3551
3813
  }
3552
3814
  },
3553
3815
  "hasDynamicHelp": false,
3554
3816
  "hiddenAliases": [],
3555
- "id": "docker:start",
3817
+ "id": "feedback",
3556
3818
  "pluginAlias": "@proletariat/cli",
3557
3819
  "pluginName": "@proletariat/cli",
3558
3820
  "pluginType": "core",
@@ -3562,16 +3824,19 @@
3562
3824
  "relativePath": [
3563
3825
  "dist",
3564
3826
  "commands",
3565
- "docker",
3566
- "start.js"
3827
+ "feedback",
3828
+ "index.js"
3567
3829
  ]
3568
3830
  },
3569
- "docker:status": {
3831
+ "feedback:list": {
3570
3832
  "aliases": [],
3571
3833
  "args": {},
3572
- "description": "Check if Docker daemon is running",
3834
+ "description": "List recent feedback issues from the repository",
3573
3835
  "examples": [
3574
- "<%= config.bin %> <%= command.id %>"
3836
+ "<%= config.bin %> <%= command.id %>",
3837
+ "<%= config.bin %> <%= command.id %> --category bug",
3838
+ "<%= config.bin %> <%= command.id %> --state closed --limit 10",
3839
+ "<%= config.bin %> <%= command.id %> --json"
3575
3840
  ],
3576
3841
  "flags": {
3577
3842
  "json": {
@@ -3586,11 +3851,47 @@
3586
3851
  "name": "machine",
3587
3852
  "allowNo": false,
3588
3853
  "type": "boolean"
3854
+ },
3855
+ "category": {
3856
+ "char": "c",
3857
+ "description": "Filter by category (bug, feature, general)",
3858
+ "name": "category",
3859
+ "hasDynamicHelp": false,
3860
+ "multiple": false,
3861
+ "options": [
3862
+ "bug",
3863
+ "feature",
3864
+ "general"
3865
+ ],
3866
+ "type": "option"
3867
+ },
3868
+ "state": {
3869
+ "char": "s",
3870
+ "description": "Filter by state",
3871
+ "name": "state",
3872
+ "default": "open",
3873
+ "hasDynamicHelp": false,
3874
+ "multiple": false,
3875
+ "options": [
3876
+ "open",
3877
+ "closed",
3878
+ "all"
3879
+ ],
3880
+ "type": "option"
3881
+ },
3882
+ "limit": {
3883
+ "char": "l",
3884
+ "description": "Maximum number of issues to show",
3885
+ "name": "limit",
3886
+ "default": 20,
3887
+ "hasDynamicHelp": false,
3888
+ "multiple": false,
3889
+ "type": "option"
3589
3890
  }
3590
3891
  },
3591
3892
  "hasDynamicHelp": false,
3592
3893
  "hiddenAliases": [],
3593
- "id": "docker:status",
3894
+ "id": "feedback:list",
3594
3895
  "pluginAlias": "@proletariat/cli",
3595
3896
  "pluginName": "@proletariat/cli",
3596
3897
  "pluginType": "core",
@@ -3600,46 +3901,20 @@
3600
3901
  "relativePath": [
3601
3902
  "dist",
3602
3903
  "commands",
3603
- "docker",
3604
- "status.js"
3904
+ "feedback",
3905
+ "list.js"
3605
3906
  ]
3606
3907
  },
3607
- "docker:stop": {
3908
+ "feedback:submit": {
3608
3909
  "aliases": [],
3609
- "args": {
3610
- "target": {
3611
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3612
- "name": "target",
3613
- "required": true
3614
- }
3615
- },
3616
- "description": "Stop a running container (by execution ID, agent name, or container ID)",
3910
+ "args": {},
3911
+ "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
3617
3912
  "examples": [
3618
- "<%= config.bin %> <%= command.id %> WORK-001",
3619
- "<%= config.bin %> <%= command.id %> kalanick",
3620
- "<%= config.bin %> <%= command.id %> abc123 --force"
3913
+ "<%= config.bin %> <%= command.id %>",
3914
+ "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
3915
+ "<%= config.bin %> <%= command.id %> --json"
3621
3916
  ],
3622
3917
  "flags": {
3623
- "force": {
3624
- "aliases": [
3625
- "yes",
3626
- "y"
3627
- ],
3628
- "char": "f",
3629
- "description": "Skip confirmation prompt",
3630
- "name": "force",
3631
- "allowNo": false,
3632
- "type": "boolean"
3633
- },
3634
- "time": {
3635
- "char": "t",
3636
- "description": "Seconds to wait before killing the container",
3637
- "name": "time",
3638
- "default": 10,
3639
- "hasDynamicHelp": false,
3640
- "multiple": false,
3641
- "type": "option"
3642
- },
3643
3918
  "json": {
3644
3919
  "description": "Output as JSON for AI agents/scripts",
3645
3920
  "name": "json",
@@ -3652,30 +3927,65 @@
3652
3927
  "name": "machine",
3653
3928
  "allowNo": false,
3654
3929
  "type": "boolean"
3930
+ },
3931
+ "title": {
3932
+ "char": "t",
3933
+ "description": "Issue title (one-liner) [required for non-interactive]",
3934
+ "name": "title",
3935
+ "hasDynamicHelp": false,
3936
+ "multiple": false,
3937
+ "type": "option"
3938
+ },
3939
+ "body": {
3940
+ "char": "b",
3941
+ "description": "Issue description [required for non-interactive]",
3942
+ "name": "body",
3943
+ "hasDynamicHelp": false,
3944
+ "multiple": false,
3945
+ "type": "option"
3946
+ },
3947
+ "category": {
3948
+ "char": "c",
3949
+ "description": "Feedback category",
3950
+ "name": "category",
3951
+ "hasDynamicHelp": false,
3952
+ "multiple": false,
3953
+ "options": [
3954
+ "bug",
3955
+ "feature",
3956
+ "general"
3957
+ ],
3958
+ "type": "option"
3655
3959
  }
3656
3960
  },
3657
3961
  "hasDynamicHelp": false,
3658
3962
  "hiddenAliases": [],
3659
- "id": "docker:stop",
3963
+ "id": "feedback:submit",
3660
3964
  "pluginAlias": "@proletariat/cli",
3661
3965
  "pluginName": "@proletariat/cli",
3662
3966
  "pluginType": "core",
3663
3967
  "strict": true,
3664
- "enableJsonFlag": false,
3665
3968
  "isESM": true,
3666
3969
  "relativePath": [
3667
3970
  "dist",
3668
3971
  "commands",
3669
- "docker",
3670
- "stop.js"
3972
+ "feedback",
3973
+ "submit.js"
3671
3974
  ]
3672
3975
  },
3673
- "docker:sync": {
3976
+ "feedback:view": {
3674
3977
  "aliases": [],
3675
- "args": {},
3676
- "description": "Sync container status from Docker into the database",
3978
+ "args": {
3979
+ "number": {
3980
+ "description": "Issue number to view",
3981
+ "name": "number",
3982
+ "required": true
3983
+ }
3984
+ },
3985
+ "description": "View details of a specific feedback issue",
3677
3986
  "examples": [
3678
- "<%= config.bin %> <%= command.id %>"
3987
+ "<%= config.bin %> <%= command.id %> 123",
3988
+ "<%= config.bin %> <%= command.id %> 123 --json"
3679
3989
  ],
3680
3990
  "flags": {
3681
3991
  "json": {
@@ -3694,7 +4004,7 @@
3694
4004
  },
3695
4005
  "hasDynamicHelp": false,
3696
4006
  "hiddenAliases": [],
3697
- "id": "docker:sync",
4007
+ "id": "feedback:view",
3698
4008
  "pluginAlias": "@proletariat/cli",
3699
4009
  "pluginName": "@proletariat/cli",
3700
4010
  "pluginType": "core",
@@ -3704,8 +4014,8 @@
3704
4014
  "relativePath": [
3705
4015
  "dist",
3706
4016
  "commands",
3707
- "docker",
3708
- "sync.js"
4017
+ "feedback",
4018
+ "view.js"
3709
4019
  ]
3710
4020
  },
3711
4021
  "execution:config": {
@@ -4059,13 +4369,94 @@
4059
4369
  "view.js"
4060
4370
  ]
4061
4371
  },
4062
- "feedback": {
4372
+ "gateway:connect": {
4373
+ "aliases": [],
4374
+ "args": {
4375
+ "type": {
4376
+ "description": "Channel type",
4377
+ "name": "type",
4378
+ "options": [
4379
+ "telegram"
4380
+ ],
4381
+ "required": true
4382
+ }
4383
+ },
4384
+ "description": "Register a messaging channel (Telegram) with the gateway",
4385
+ "examples": [
4386
+ "<%= config.bin %> gateway connect telegram --token 123:abc --allow 111 --allow 222",
4387
+ "<%= config.bin %> gateway connect telegram --token 123:abc --allow 111,222 --name my-bot"
4388
+ ],
4389
+ "flags": {
4390
+ "json": {
4391
+ "description": "Output as JSON for AI agents/scripts",
4392
+ "name": "json",
4393
+ "allowNo": false,
4394
+ "type": "boolean"
4395
+ },
4396
+ "machine": {
4397
+ "char": "m",
4398
+ "description": "Output as JSON for AI agents/scripts",
4399
+ "name": "machine",
4400
+ "allowNo": false,
4401
+ "type": "boolean"
4402
+ },
4403
+ "name": {
4404
+ "description": "Channel name (primary key). Defaults to the channel type.",
4405
+ "name": "name",
4406
+ "hasDynamicHelp": false,
4407
+ "multiple": false,
4408
+ "type": "option"
4409
+ },
4410
+ "token": {
4411
+ "description": "Telegram bot token from @BotFather",
4412
+ "name": "token",
4413
+ "hasDynamicHelp": false,
4414
+ "multiple": false,
4415
+ "type": "option"
4416
+ },
4417
+ "allow": {
4418
+ "description": "Telegram user id(s) allowed to message agents (repeatable, or comma-separated)",
4419
+ "name": "allow",
4420
+ "hasDynamicHelp": false,
4421
+ "multiple": true,
4422
+ "type": "option"
4423
+ },
4424
+ "poll-interval-ms": {
4425
+ "description": "Delay between getUpdates polls (0 uses Telegram long-poll)",
4426
+ "name": "poll-interval-ms",
4427
+ "hasDynamicHelp": false,
4428
+ "multiple": false,
4429
+ "type": "option"
4430
+ }
4431
+ },
4432
+ "hasDynamicHelp": false,
4433
+ "hiddenAliases": [],
4434
+ "id": "gateway:connect",
4435
+ "pluginAlias": "@proletariat/cli",
4436
+ "pluginName": "@proletariat/cli",
4437
+ "pluginType": "core",
4438
+ "strict": true,
4439
+ "isESM": true,
4440
+ "relativePath": [
4441
+ "dist",
4442
+ "commands",
4443
+ "gateway",
4444
+ "connect.js"
4445
+ ]
4446
+ },
4447
+ "gateway:disconnect": {
4063
4448
  "aliases": [],
4064
- "args": {},
4065
- "description": "Interactive menu for feedback and issue operations",
4449
+ "args": {
4450
+ "name": {
4451
+ "description": "Channel name (as registered with `gateway connect`)",
4452
+ "name": "name",
4453
+ "required": true
4454
+ }
4455
+ },
4456
+ "description": "Disconnect a registered messaging channel",
4066
4457
  "examples": [
4067
- "<%= config.bin %> <%= command.id %>",
4068
- "<%= config.bin %> <%= command.id %> --action submit"
4458
+ "<%= config.bin %> gateway disconnect telegram",
4459
+ "<%= config.bin %> gateway disconnect telegram --deactivate"
4069
4460
  ],
4070
4461
  "flags": {
4071
4462
  "json": {
@@ -4081,45 +4472,35 @@
4081
4472
  "allowNo": false,
4082
4473
  "type": "boolean"
4083
4474
  },
4084
- "action": {
4085
- "char": "a",
4086
- "description": "Action to perform (submit, list, view)",
4087
- "name": "action",
4088
- "hasDynamicHelp": false,
4089
- "multiple": false,
4090
- "options": [
4091
- "submit",
4092
- "list",
4093
- "view"
4094
- ],
4095
- "type": "option"
4475
+ "deactivate": {
4476
+ "description": "Mark the channel inactive instead of deleting it",
4477
+ "name": "deactivate",
4478
+ "allowNo": false,
4479
+ "type": "boolean"
4096
4480
  }
4097
4481
  },
4098
4482
  "hasDynamicHelp": false,
4099
4483
  "hiddenAliases": [],
4100
- "id": "feedback",
4484
+ "id": "gateway:disconnect",
4101
4485
  "pluginAlias": "@proletariat/cli",
4102
4486
  "pluginName": "@proletariat/cli",
4103
4487
  "pluginType": "core",
4104
4488
  "strict": true,
4105
- "enableJsonFlag": false,
4106
4489
  "isESM": true,
4107
4490
  "relativePath": [
4108
4491
  "dist",
4109
4492
  "commands",
4110
- "feedback",
4111
- "index.js"
4493
+ "gateway",
4494
+ "disconnect.js"
4112
4495
  ]
4113
4496
  },
4114
- "feedback:list": {
4497
+ "gateway:start": {
4115
4498
  "aliases": [],
4116
4499
  "args": {},
4117
- "description": "List recent feedback issues from the repository",
4500
+ "description": "Start the messaging gateway daemon (foreground)",
4118
4501
  "examples": [
4119
- "<%= config.bin %> <%= command.id %>",
4120
- "<%= config.bin %> <%= command.id %> --category bug",
4121
- "<%= config.bin %> <%= command.id %> --state closed --limit 10",
4122
- "<%= config.bin %> <%= command.id %> --json"
4502
+ "<%= config.bin %> gateway start",
4503
+ "<%= config.bin %> gateway start --default-agent altman"
4123
4504
  ],
4124
4505
  "flags": {
4125
4506
  "json": {
@@ -4135,38 +4516,17 @@
4135
4516
  "allowNo": false,
4136
4517
  "type": "boolean"
4137
4518
  },
4138
- "category": {
4139
- "char": "c",
4140
- "description": "Filter by category (bug, feature, general)",
4141
- "name": "category",
4142
- "hasDynamicHelp": false,
4143
- "multiple": false,
4144
- "options": [
4145
- "bug",
4146
- "feature",
4147
- "general"
4148
- ],
4149
- "type": "option"
4150
- },
4151
- "state": {
4152
- "char": "s",
4153
- "description": "Filter by state",
4154
- "name": "state",
4155
- "default": "open",
4519
+ "default-agent": {
4520
+ "description": "Agent session id to bind newly-seen users to (required unless a static resolver is configured)",
4521
+ "name": "default-agent",
4156
4522
  "hasDynamicHelp": false,
4157
4523
  "multiple": false,
4158
- "options": [
4159
- "open",
4160
- "closed",
4161
- "all"
4162
- ],
4163
4524
  "type": "option"
4164
4525
  },
4165
- "limit": {
4166
- "char": "l",
4167
- "description": "Maximum number of issues to show",
4168
- "name": "limit",
4169
- "default": 20,
4526
+ "wait-timeout": {
4527
+ "description": "Max seconds to wait for an agent response before giving up",
4528
+ "name": "wait-timeout",
4529
+ "default": 90,
4170
4530
  "hasDynamicHelp": false,
4171
4531
  "multiple": false,
4172
4532
  "type": "option"
@@ -4174,28 +4534,25 @@
4174
4534
  },
4175
4535
  "hasDynamicHelp": false,
4176
4536
  "hiddenAliases": [],
4177
- "id": "feedback:list",
4537
+ "id": "gateway:start",
4178
4538
  "pluginAlias": "@proletariat/cli",
4179
4539
  "pluginName": "@proletariat/cli",
4180
4540
  "pluginType": "core",
4181
4541
  "strict": true,
4182
- "enableJsonFlag": false,
4183
4542
  "isESM": true,
4184
4543
  "relativePath": [
4185
4544
  "dist",
4186
4545
  "commands",
4187
- "feedback",
4188
- "list.js"
4546
+ "gateway",
4547
+ "start.js"
4189
4548
  ]
4190
4549
  },
4191
- "feedback:submit": {
4550
+ "gateway:status": {
4192
4551
  "aliases": [],
4193
4552
  "args": {},
4194
- "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
4553
+ "description": "Show registered messaging channels and their activity",
4195
4554
  "examples": [
4196
- "<%= config.bin %> <%= command.id %>",
4197
- "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
4198
- "<%= config.bin %> <%= command.id %> --json"
4555
+ "<%= config.bin %> gateway status"
4199
4556
  ],
4200
4557
  "flags": {
4201
4558
  "json": {
@@ -4210,40 +4567,11 @@
4210
4567
  "name": "machine",
4211
4568
  "allowNo": false,
4212
4569
  "type": "boolean"
4213
- },
4214
- "title": {
4215
- "char": "t",
4216
- "description": "Issue title (one-liner) [required for non-interactive]",
4217
- "name": "title",
4218
- "hasDynamicHelp": false,
4219
- "multiple": false,
4220
- "type": "option"
4221
- },
4222
- "body": {
4223
- "char": "b",
4224
- "description": "Issue description [required for non-interactive]",
4225
- "name": "body",
4226
- "hasDynamicHelp": false,
4227
- "multiple": false,
4228
- "type": "option"
4229
- },
4230
- "category": {
4231
- "char": "c",
4232
- "description": "Feedback category",
4233
- "name": "category",
4234
- "hasDynamicHelp": false,
4235
- "multiple": false,
4236
- "options": [
4237
- "bug",
4238
- "feature",
4239
- "general"
4240
- ],
4241
- "type": "option"
4242
4570
  }
4243
4571
  },
4244
4572
  "hasDynamicHelp": false,
4245
4573
  "hiddenAliases": [],
4246
- "id": "feedback:submit",
4574
+ "id": "gateway:status",
4247
4575
  "pluginAlias": "@proletariat/cli",
4248
4576
  "pluginName": "@proletariat/cli",
4249
4577
  "pluginType": "core",
@@ -4252,23 +4580,22 @@
4252
4580
  "relativePath": [
4253
4581
  "dist",
4254
4582
  "commands",
4255
- "feedback",
4256
- "submit.js"
4583
+ "gateway",
4584
+ "status.js"
4257
4585
  ]
4258
4586
  },
4259
- "feedback:view": {
4587
+ "gateway:test": {
4260
4588
  "aliases": [],
4261
4589
  "args": {
4262
- "number": {
4263
- "description": "Issue number to view",
4264
- "name": "number",
4590
+ "name": {
4591
+ "description": "Channel name (as registered with `gateway connect`)",
4592
+ "name": "name",
4265
4593
  "required": true
4266
4594
  }
4267
4595
  },
4268
- "description": "View details of a specific feedback issue",
4596
+ "description": "Send a test message through a registered messaging channel",
4269
4597
  "examples": [
4270
- "<%= config.bin %> <%= command.id %> 123",
4271
- "<%= config.bin %> <%= command.id %> 123 --json"
4598
+ "<%= config.bin %> gateway test telegram --to 123456789 --message \"hello from prlt\""
4272
4599
  ],
4273
4600
  "flags": {
4274
4601
  "json": {
@@ -4283,22 +4610,37 @@
4283
4610
  "name": "machine",
4284
4611
  "allowNo": false,
4285
4612
  "type": "boolean"
4613
+ },
4614
+ "to": {
4615
+ "description": "Recipient id on the channel (e.g. Telegram chat id)",
4616
+ "name": "to",
4617
+ "required": true,
4618
+ "hasDynamicHelp": false,
4619
+ "multiple": false,
4620
+ "type": "option"
4621
+ },
4622
+ "message": {
4623
+ "description": "Text to send",
4624
+ "name": "message",
4625
+ "default": "hello from prlt",
4626
+ "hasDynamicHelp": false,
4627
+ "multiple": false,
4628
+ "type": "option"
4286
4629
  }
4287
4630
  },
4288
4631
  "hasDynamicHelp": false,
4289
4632
  "hiddenAliases": [],
4290
- "id": "feedback:view",
4633
+ "id": "gateway:test",
4291
4634
  "pluginAlias": "@proletariat/cli",
4292
4635
  "pluginName": "@proletariat/cli",
4293
4636
  "pluginType": "core",
4294
4637
  "strict": true,
4295
- "enableJsonFlag": false,
4296
4638
  "isESM": true,
4297
4639
  "relativePath": [
4298
4640
  "dist",
4299
4641
  "commands",
4300
- "feedback",
4301
- "view.js"
4642
+ "gateway",
4643
+ "test.js"
4302
4644
  ]
4303
4645
  },
4304
4646
  "gh": {
@@ -5799,12 +6141,31 @@
5799
6141
  },
5800
6142
  "name": {
5801
6143
  "char": "n",
5802
- "description": "Name of the orchestrator session to attach to (default: main)",
6144
+ "description": "Name of the orchestrator to attach to (matches agentName)",
5803
6145
  "name": "name",
5804
6146
  "hasDynamicHelp": false,
5805
6147
  "multiple": false,
5806
6148
  "type": "option"
5807
6149
  },
6150
+ "here": {
6151
+ "description": "Filter to orchestrators in the current HQ only",
6152
+ "exclusive": [
6153
+ "hq"
6154
+ ],
6155
+ "name": "here",
6156
+ "allowNo": false,
6157
+ "type": "boolean"
6158
+ },
6159
+ "hq": {
6160
+ "description": "Filter to orchestrators in a specific HQ path",
6161
+ "exclusive": [
6162
+ "here"
6163
+ ],
6164
+ "name": "hq",
6165
+ "hasDynamicHelp": false,
6166
+ "multiple": false,
6167
+ "type": "option"
6168
+ },
5808
6169
  "new-tab": {
5809
6170
  "description": "Open in a new terminal tab instead of attaching in the current terminal",
5810
6171
  "name": "new-tab",
@@ -6026,9 +6387,11 @@
6026
6387
  "orchestrator:status": {
6027
6388
  "aliases": [],
6028
6389
  "args": {},
6029
- "description": "Check if the orchestrator is running",
6390
+ "description": "Check orchestrator sessions across the entire machine, grouped by HQ.",
6030
6391
  "examples": [
6031
6392
  "<%= config.bin %> <%= command.id %>",
6393
+ "<%= config.bin %> <%= command.id %> --here",
6394
+ "<%= config.bin %> <%= command.id %> --hq ~/Projects/backend-hq",
6032
6395
  "<%= config.bin %> <%= command.id %> --peek",
6033
6396
  "<%= config.bin %> <%= command.id %> --peek --lines 50"
6034
6397
  ],
@@ -6048,14 +6411,33 @@
6048
6411
  },
6049
6412
  "name": {
6050
6413
  "char": "n",
6051
- "description": "Name of the orchestrator session to check (default: main)",
6414
+ "description": "Filter to a single orchestrator by name (matches agentName)",
6052
6415
  "name": "name",
6053
6416
  "hasDynamicHelp": false,
6054
6417
  "multiple": false,
6055
6418
  "type": "option"
6056
6419
  },
6420
+ "here": {
6421
+ "description": "Filter to orchestrators in the current HQ only",
6422
+ "exclusive": [
6423
+ "hq"
6424
+ ],
6425
+ "name": "here",
6426
+ "allowNo": false,
6427
+ "type": "boolean"
6428
+ },
6429
+ "hq": {
6430
+ "description": "Filter to orchestrators in a specific HQ path",
6431
+ "exclusive": [
6432
+ "here"
6433
+ ],
6434
+ "name": "hq",
6435
+ "hasDynamicHelp": false,
6436
+ "multiple": false,
6437
+ "type": "option"
6438
+ },
6057
6439
  "peek": {
6058
- "description": "Show recent output from the orchestrator",
6440
+ "description": "Show recent output from each orchestrator",
6059
6441
  "name": "peek",
6060
6442
  "allowNo": false,
6061
6443
  "type": "boolean"
@@ -6108,12 +6490,31 @@
6108
6490
  },
6109
6491
  "name": {
6110
6492
  "char": "n",
6111
- "description": "Name of the orchestrator session to stop (default: main)",
6493
+ "description": "Name of the orchestrator to stop (matches agentName)",
6112
6494
  "name": "name",
6113
6495
  "hasDynamicHelp": false,
6114
6496
  "multiple": false,
6115
6497
  "type": "option"
6116
6498
  },
6499
+ "here": {
6500
+ "description": "Filter to orchestrators in the current HQ only",
6501
+ "exclusive": [
6502
+ "hq"
6503
+ ],
6504
+ "name": "here",
6505
+ "allowNo": false,
6506
+ "type": "boolean"
6507
+ },
6508
+ "hq": {
6509
+ "description": "Filter to orchestrators in a specific HQ path",
6510
+ "exclusive": [
6511
+ "here"
6512
+ ],
6513
+ "name": "hq",
6514
+ "hasDynamicHelp": false,
6515
+ "multiple": false,
6516
+ "type": "option"
6517
+ },
6117
6518
  "force": {
6118
6519
  "char": "f",
6119
6520
  "description": "Skip confirmation",
@@ -6827,11 +7228,98 @@
6827
7228
  "name": "display-mode",
6828
7229
  "hasDynamicHelp": false,
6829
7230
  "multiple": false,
6830
- "options": [
6831
- "terminal",
6832
- "background",
6833
- "foreground"
6834
- ],
7231
+ "options": [
7232
+ "terminal",
7233
+ "background",
7234
+ "foreground"
7235
+ ],
7236
+ "type": "option"
7237
+ },
7238
+ "permission-mode": {
7239
+ "char": "p",
7240
+ "description": "Permission mode (danger: skip prompts, safe: require approval)",
7241
+ "name": "permission-mode",
7242
+ "hasDynamicHelp": false,
7243
+ "multiple": false,
7244
+ "options": [
7245
+ "danger",
7246
+ "safe"
7247
+ ],
7248
+ "type": "option"
7249
+ },
7250
+ "prompt": {
7251
+ "description": "Additional instructions to append to the QA prompt",
7252
+ "name": "prompt",
7253
+ "hasDynamicHelp": false,
7254
+ "multiple": false,
7255
+ "type": "option"
7256
+ }
7257
+ },
7258
+ "hasDynamicHelp": false,
7259
+ "hiddenAliases": [],
7260
+ "id": "qa",
7261
+ "pluginAlias": "@proletariat/cli",
7262
+ "pluginName": "@proletariat/cli",
7263
+ "pluginType": "core",
7264
+ "strict": true,
7265
+ "isESM": true,
7266
+ "relativePath": [
7267
+ "dist",
7268
+ "commands",
7269
+ "qa",
7270
+ "index.js"
7271
+ ]
7272
+ },
7273
+ "run": {
7274
+ "aliases": [],
7275
+ "args": {
7276
+ "task": {
7277
+ "description": "Task description for the agent",
7278
+ "name": "task",
7279
+ "required": true
7280
+ }
7281
+ },
7282
+ "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
7283
+ "examples": [
7284
+ "<%= config.bin %> run \"fix the login bug\"",
7285
+ "<%= config.bin %> run --runner claude-code \"add dark mode\"",
7286
+ "<%= config.bin %> run -d \"fix the bug\"",
7287
+ "<%= config.bin %> run --runner codex \"add tests\""
7288
+ ],
7289
+ "flags": {
7290
+ "json": {
7291
+ "description": "Output as JSON for AI agents/scripts",
7292
+ "name": "json",
7293
+ "allowNo": false,
7294
+ "type": "boolean"
7295
+ },
7296
+ "machine": {
7297
+ "char": "m",
7298
+ "description": "Output as JSON for AI agents/scripts",
7299
+ "name": "machine",
7300
+ "allowNo": false,
7301
+ "type": "boolean"
7302
+ },
7303
+ "runner": {
7304
+ "char": "r",
7305
+ "description": "Runner to use (claude-code, codex, pi)",
7306
+ "name": "runner",
7307
+ "hasDynamicHelp": false,
7308
+ "multiple": false,
7309
+ "type": "option"
7310
+ },
7311
+ "detached": {
7312
+ "char": "d",
7313
+ "description": "Run in background (detached)",
7314
+ "name": "detached",
7315
+ "allowNo": false,
7316
+ "type": "boolean"
7317
+ },
7318
+ "directory": {
7319
+ "description": "Working directory (default: cwd)",
7320
+ "name": "directory",
7321
+ "hasDynamicHelp": false,
7322
+ "multiple": false,
6835
7323
  "type": "option"
6836
7324
  },
6837
7325
  "permission-mode": {
@@ -6846,17 +7334,23 @@
6846
7334
  ],
6847
7335
  "type": "option"
6848
7336
  },
6849
- "prompt": {
6850
- "description": "Additional instructions to append to the QA prompt",
6851
- "name": "prompt",
7337
+ "environment": {
7338
+ "char": "e",
7339
+ "description": "Environment to run in",
7340
+ "name": "environment",
6852
7341
  "hasDynamicHelp": false,
6853
7342
  "multiple": false,
7343
+ "options": [
7344
+ "host",
7345
+ "docker",
7346
+ "podman"
7347
+ ],
6854
7348
  "type": "option"
6855
7349
  }
6856
7350
  },
6857
7351
  "hasDynamicHelp": false,
6858
7352
  "hiddenAliases": [],
6859
- "id": "qa",
7353
+ "id": "run",
6860
7354
  "pluginAlias": "@proletariat/cli",
6861
7355
  "pluginName": "@proletariat/cli",
6862
7356
  "pluginType": "core",
@@ -6865,7 +7359,7 @@
6865
7359
  "relativePath": [
6866
7360
  "dist",
6867
7361
  "commands",
6868
- "qa",
7362
+ "run",
6869
7363
  "index.js"
6870
7364
  ]
6871
7365
  },
@@ -7274,99 +7768,6 @@
7274
7768
  "view.js"
7275
7769
  ]
7276
7770
  },
7277
- "run": {
7278
- "aliases": [],
7279
- "args": {
7280
- "task": {
7281
- "description": "Task description for the agent",
7282
- "name": "task",
7283
- "required": true
7284
- }
7285
- },
7286
- "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
7287
- "examples": [
7288
- "<%= config.bin %> run \"fix the login bug\"",
7289
- "<%= config.bin %> run --runner claude-code \"add dark mode\"",
7290
- "<%= config.bin %> run -d \"fix the bug\"",
7291
- "<%= config.bin %> run --runner codex \"add tests\""
7292
- ],
7293
- "flags": {
7294
- "json": {
7295
- "description": "Output as JSON for AI agents/scripts",
7296
- "name": "json",
7297
- "allowNo": false,
7298
- "type": "boolean"
7299
- },
7300
- "machine": {
7301
- "char": "m",
7302
- "description": "Output as JSON for AI agents/scripts",
7303
- "name": "machine",
7304
- "allowNo": false,
7305
- "type": "boolean"
7306
- },
7307
- "runner": {
7308
- "char": "r",
7309
- "description": "Runner to use (claude-code, codex, pi)",
7310
- "name": "runner",
7311
- "hasDynamicHelp": false,
7312
- "multiple": false,
7313
- "type": "option"
7314
- },
7315
- "detached": {
7316
- "char": "d",
7317
- "description": "Run in background (detached)",
7318
- "name": "detached",
7319
- "allowNo": false,
7320
- "type": "boolean"
7321
- },
7322
- "directory": {
7323
- "description": "Working directory (default: cwd)",
7324
- "name": "directory",
7325
- "hasDynamicHelp": false,
7326
- "multiple": false,
7327
- "type": "option"
7328
- },
7329
- "permission-mode": {
7330
- "char": "p",
7331
- "description": "Permission mode (danger: skip prompts, safe: require approval)",
7332
- "name": "permission-mode",
7333
- "hasDynamicHelp": false,
7334
- "multiple": false,
7335
- "options": [
7336
- "danger",
7337
- "safe"
7338
- ],
7339
- "type": "option"
7340
- },
7341
- "environment": {
7342
- "char": "e",
7343
- "description": "Environment to run in",
7344
- "name": "environment",
7345
- "hasDynamicHelp": false,
7346
- "multiple": false,
7347
- "options": [
7348
- "host",
7349
- "docker",
7350
- "podman"
7351
- ],
7352
- "type": "option"
7353
- }
7354
- },
7355
- "hasDynamicHelp": false,
7356
- "hiddenAliases": [],
7357
- "id": "run",
7358
- "pluginAlias": "@proletariat/cli",
7359
- "pluginName": "@proletariat/cli",
7360
- "pluginType": "core",
7361
- "strict": true,
7362
- "isESM": true,
7363
- "relativePath": [
7364
- "dist",
7365
- "commands",
7366
- "run",
7367
- "index.js"
7368
- ]
7369
- },
7370
7771
  "shortcut:connect": {
7371
7772
  "aliases": [],
7372
7773
  "args": {},
@@ -7493,6 +7894,25 @@
7493
7894
  "hasDynamicHelp": false,
7494
7895
  "multiple": false,
7495
7896
  "type": "option"
7897
+ },
7898
+ "here": {
7899
+ "description": "Filter picker to sessions in the current HQ only",
7900
+ "exclusive": [
7901
+ "hq"
7902
+ ],
7903
+ "name": "here",
7904
+ "allowNo": false,
7905
+ "type": "boolean"
7906
+ },
7907
+ "hq": {
7908
+ "description": "Filter picker to sessions in a specific HQ path",
7909
+ "exclusive": [
7910
+ "here"
7911
+ ],
7912
+ "name": "hq",
7913
+ "hasDynamicHelp": false,
7914
+ "multiple": false,
7915
+ "type": "option"
7496
7916
  }
7497
7917
  },
7498
7918
  "hasDynamicHelp": false,
@@ -7869,11 +8289,13 @@
7869
8289
  "session:list": {
7870
8290
  "aliases": [],
7871
8291
  "args": {},
7872
- "description": "List active agent sessions (DB-first: shows tracked executions with runtime liveness)",
8292
+ "description": "List active agent sessions across the entire machine, grouped by current HQ vs other locations.",
7873
8293
  "examples": [
7874
8294
  "<%= config.bin %> <%= command.id %>",
7875
- "<%= config.bin %> <%= command.id %> --all",
7876
- "<%= config.bin %> <%= command.id %> --orphans"
8295
+ "<%= config.bin %> <%= command.id %> --here",
8296
+ "<%= config.bin %> <%= command.id %> --hq ~/Projects/backend-hq",
8297
+ "<%= config.bin %> <%= command.id %> --role orchestrator",
8298
+ "<%= config.bin %> <%= command.id %> --all"
7877
8299
  ],
7878
8300
  "flags": {
7879
8301
  "json": {
@@ -7889,16 +8311,47 @@
7889
8311
  "allowNo": false,
7890
8312
  "type": "boolean"
7891
8313
  },
8314
+ "here": {
8315
+ "description": "Filter to sessions in the current HQ only",
8316
+ "exclusive": [
8317
+ "hq"
8318
+ ],
8319
+ "name": "here",
8320
+ "allowNo": false,
8321
+ "type": "boolean"
8322
+ },
8323
+ "hq": {
8324
+ "description": "Filter to sessions in a specific HQ path",
8325
+ "exclusive": [
8326
+ "here"
8327
+ ],
8328
+ "name": "hq",
8329
+ "hasDynamicHelp": false,
8330
+ "multiple": false,
8331
+ "type": "option"
8332
+ },
8333
+ "role": {
8334
+ "description": "Filter by session role",
8335
+ "name": "role",
8336
+ "hasDynamicHelp": false,
8337
+ "multiple": false,
8338
+ "options": [
8339
+ "orchestrator",
8340
+ "worker",
8341
+ "headless"
8342
+ ],
8343
+ "type": "option"
8344
+ },
7892
8345
  "all": {
7893
8346
  "char": "a",
7894
- "description": "Show all sessions including stale DB records (dead runtime)",
8347
+ "description": "Include stopped/completed sessions (default excludes them)",
7895
8348
  "name": "all",
7896
8349
  "allowNo": false,
7897
8350
  "type": "boolean"
7898
8351
  },
7899
- "orphans": {
7900
- "description": "Also show orphan tmux sessions not tracked in the DB (garbage to prune)",
7901
- "name": "orphans",
8352
+ "grouped": {
8353
+ "description": "In --json mode, emit the grouped { sessions, grouped } object instead of the flat array",
8354
+ "name": "grouped",
7902
8355
  "allowNo": false,
7903
8356
  "type": "boolean"
7904
8357
  }
@@ -8367,15 +8820,23 @@
8367
8820
  "watch.js"
8368
8821
  ]
8369
8822
  },
8370
- "support:book": {
8823
+ "sync": {
8371
8824
  "aliases": [],
8372
8825
  "args": {},
8373
- "description": "Book a call for support",
8826
+ "description": "Reconcile ticket state with GitHub PR status",
8374
8827
  "examples": [
8375
8828
  "<%= config.bin %> <%= command.id %>",
8376
- "<%= config.bin %> <%= command.id %> --json"
8829
+ "<%= config.bin %> <%= command.id %> --dry-run"
8377
8830
  ],
8378
8831
  "flags": {
8832
+ "project": {
8833
+ "char": "P",
8834
+ "description": "Project ID (uses first project if only one exists)",
8835
+ "name": "project",
8836
+ "hasDynamicHelp": false,
8837
+ "multiple": false,
8838
+ "type": "option"
8839
+ },
8379
8840
  "json": {
8380
8841
  "description": "Output as JSON for AI agents/scripts",
8381
8842
  "name": "json",
@@ -8388,31 +8849,35 @@
8388
8849
  "name": "machine",
8389
8850
  "allowNo": false,
8390
8851
  "type": "boolean"
8852
+ },
8853
+ "dry-run": {
8854
+ "description": "Show what would change without applying",
8855
+ "name": "dry-run",
8856
+ "allowNo": false,
8857
+ "type": "boolean"
8391
8858
  }
8392
8859
  },
8393
8860
  "hasDynamicHelp": false,
8394
8861
  "hiddenAliases": [],
8395
- "id": "support:book",
8862
+ "id": "sync",
8396
8863
  "pluginAlias": "@proletariat/cli",
8397
8864
  "pluginName": "@proletariat/cli",
8398
8865
  "pluginType": "core",
8399
8866
  "strict": true,
8400
- "enableJsonFlag": false,
8401
8867
  "isESM": true,
8402
8868
  "relativePath": [
8403
8869
  "dist",
8404
8870
  "commands",
8405
- "support",
8406
- "book.js"
8871
+ "sync",
8872
+ "index.js"
8407
8873
  ]
8408
8874
  },
8409
- "support:discord": {
8875
+ "sync:pause": {
8410
8876
  "aliases": [],
8411
8877
  "args": {},
8412
- "description": "Join the Discord community",
8878
+ "description": "Pause the merge queue (keep monitoring but stop merging)",
8413
8879
  "examples": [
8414
- "<%= config.bin %> <%= command.id %>",
8415
- "<%= config.bin %> <%= command.id %> --json"
8880
+ "<%= config.bin %> <%= command.id %>"
8416
8881
  ],
8417
8882
  "flags": {
8418
8883
  "json": {
@@ -8431,27 +8896,25 @@
8431
8896
  },
8432
8897
  "hasDynamicHelp": false,
8433
8898
  "hiddenAliases": [],
8434
- "id": "support:discord",
8899
+ "id": "sync:pause",
8435
8900
  "pluginAlias": "@proletariat/cli",
8436
8901
  "pluginName": "@proletariat/cli",
8437
8902
  "pluginType": "core",
8438
8903
  "strict": true,
8439
- "enableJsonFlag": false,
8440
8904
  "isESM": true,
8441
8905
  "relativePath": [
8442
8906
  "dist",
8443
8907
  "commands",
8444
- "support",
8445
- "discord.js"
8908
+ "sync",
8909
+ "pause.js"
8446
8910
  ]
8447
8911
  },
8448
- "support:docs": {
8912
+ "sync:queue": {
8449
8913
  "aliases": [],
8450
8914
  "args": {},
8451
- "description": "Open documentation in browser",
8915
+ "description": "Show the merge queue state",
8452
8916
  "examples": [
8453
- "<%= config.bin %> <%= command.id %>",
8454
- "<%= config.bin %> <%= command.id %> --json"
8917
+ "<%= config.bin %> <%= command.id %>"
8455
8918
  ],
8456
8919
  "flags": {
8457
8920
  "json": {
@@ -8470,31 +8933,25 @@
8470
8933
  },
8471
8934
  "hasDynamicHelp": false,
8472
8935
  "hiddenAliases": [],
8473
- "id": "support:docs",
8936
+ "id": "sync:queue",
8474
8937
  "pluginAlias": "@proletariat/cli",
8475
8938
  "pluginName": "@proletariat/cli",
8476
8939
  "pluginType": "core",
8477
8940
  "strict": true,
8478
- "enableJsonFlag": false,
8479
8941
  "isESM": true,
8480
8942
  "relativePath": [
8481
8943
  "dist",
8482
8944
  "commands",
8483
- "support",
8484
- "docs.js"
8945
+ "sync",
8946
+ "queue.js"
8485
8947
  ]
8486
8948
  },
8487
- "support": {
8949
+ "sync:resume": {
8488
8950
  "aliases": [],
8489
8951
  "args": {},
8490
- "description": "Get help, troubleshoot, and connect with the community",
8952
+ "description": "Resume the merge queue",
8491
8953
  "examples": [
8492
- "<%= config.bin %> <%= command.id %>",
8493
- "<%= config.bin %> <%= command.id %> book",
8494
- "<%= config.bin %> <%= command.id %> docs",
8495
- "<%= config.bin %> <%= command.id %> discord",
8496
- "<%= config.bin %> <%= command.id %> issues",
8497
- "<%= config.bin %> <%= command.id %> logs"
8954
+ "<%= config.bin %> <%= command.id %>"
8498
8955
  ],
8499
8956
  "flags": {
8500
8957
  "json": {
@@ -8513,28 +8970,26 @@
8513
8970
  },
8514
8971
  "hasDynamicHelp": false,
8515
8972
  "hiddenAliases": [],
8516
- "id": "support",
8973
+ "id": "sync:resume",
8517
8974
  "pluginAlias": "@proletariat/cli",
8518
8975
  "pluginName": "@proletariat/cli",
8519
8976
  "pluginType": "core",
8520
8977
  "strict": true,
8521
- "enableJsonFlag": false,
8522
8978
  "isESM": true,
8523
8979
  "relativePath": [
8524
8980
  "dist",
8525
8981
  "commands",
8526
- "support",
8527
- "index.js"
8982
+ "sync",
8983
+ "resume.js"
8528
8984
  ]
8529
8985
  },
8530
- "support:issues": {
8986
+ "sync:start": {
8531
8987
  "aliases": [],
8532
8988
  "args": {},
8533
- "description": "Browse GitHub Issues",
8989
+ "description": "Start the board sync daemon",
8534
8990
  "examples": [
8535
8991
  "<%= config.bin %> <%= command.id %>",
8536
- "<%= config.bin %> <%= command.id %> --browser",
8537
- "<%= config.bin %> <%= command.id %> --json"
8992
+ "<%= config.bin %> <%= command.id %> --interval 30"
8538
8993
  ],
8539
8994
  "flags": {
8540
8995
  "json": {
@@ -8550,47 +9005,39 @@
8550
9005
  "allowNo": false,
8551
9006
  "type": "boolean"
8552
9007
  },
8553
- "browser": {
8554
- "description": "Open issues in browser (default behavior)",
8555
- "name": "browser",
8556
- "allowNo": true,
8557
- "type": "boolean"
9008
+ "interval": {
9009
+ "char": "i",
9010
+ "description": "Poll interval in seconds",
9011
+ "name": "interval",
9012
+ "default": 60,
9013
+ "hasDynamicHelp": false,
9014
+ "multiple": false,
9015
+ "type": "option"
8558
9016
  }
8559
9017
  },
8560
9018
  "hasDynamicHelp": false,
8561
9019
  "hiddenAliases": [],
8562
- "id": "support:issues",
9020
+ "id": "sync:start",
8563
9021
  "pluginAlias": "@proletariat/cli",
8564
9022
  "pluginName": "@proletariat/cli",
8565
9023
  "pluginType": "core",
8566
9024
  "strict": true,
8567
- "enableJsonFlag": false,
8568
9025
  "isESM": true,
8569
9026
  "relativePath": [
8570
9027
  "dist",
8571
9028
  "commands",
8572
- "support",
8573
- "issues.js"
9029
+ "sync",
9030
+ "start.js"
8574
9031
  ]
8575
9032
  },
8576
- "support:logs": {
9033
+ "sync:status": {
8577
9034
  "aliases": [],
8578
9035
  "args": {},
8579
- "description": "Collect diagnostic info for troubleshooting",
8580
- "examples": [
8581
- "<%= config.bin %> <%= command.id %>",
8582
- "<%= config.bin %> <%= command.id %> --clipboard",
8583
- "<%= config.bin %> <%= command.id %> --json"
9036
+ "description": "Check the board sync daemon status",
9037
+ "examples": [
9038
+ "<%= config.bin %> <%= command.id %>"
8584
9039
  ],
8585
9040
  "flags": {
8586
- "project": {
8587
- "char": "P",
8588
- "description": "Project ID (uses first project if only one exists)",
8589
- "name": "project",
8590
- "hasDynamicHelp": false,
8591
- "multiple": false,
8592
- "type": "option"
8593
- },
8594
9041
  "json": {
8595
9042
  "description": "Output as JSON for AI agents/scripts",
8596
9043
  "name": "json",
@@ -8603,17 +9050,11 @@
8603
9050
  "name": "machine",
8604
9051
  "allowNo": false,
8605
9052
  "type": "boolean"
8606
- },
8607
- "clipboard": {
8608
- "description": "Copy diagnostics to clipboard",
8609
- "name": "clipboard",
8610
- "allowNo": false,
8611
- "type": "boolean"
8612
9053
  }
8613
9054
  },
8614
9055
  "hasDynamicHelp": false,
8615
9056
  "hiddenAliases": [],
8616
- "id": "support:logs",
9057
+ "id": "sync:status",
8617
9058
  "pluginAlias": "@proletariat/cli",
8618
9059
  "pluginName": "@proletariat/cli",
8619
9060
  "pluginType": "core",
@@ -8622,14 +9063,14 @@
8622
9063
  "relativePath": [
8623
9064
  "dist",
8624
9065
  "commands",
8625
- "support",
8626
- "logs.js"
9066
+ "sync",
9067
+ "status.js"
8627
9068
  ]
8628
9069
  },
8629
- "telemetry:disable": {
9070
+ "sync:stop": {
8630
9071
  "aliases": [],
8631
9072
  "args": {},
8632
- "description": "Disable anonymous telemetry",
9073
+ "description": "Stop the board sync daemon",
8633
9074
  "examples": [
8634
9075
  "<%= config.bin %> <%= command.id %>"
8635
9076
  ],
@@ -8650,26 +9091,26 @@
8650
9091
  },
8651
9092
  "hasDynamicHelp": false,
8652
9093
  "hiddenAliases": [],
8653
- "id": "telemetry:disable",
9094
+ "id": "sync:stop",
8654
9095
  "pluginAlias": "@proletariat/cli",
8655
9096
  "pluginName": "@proletariat/cli",
8656
9097
  "pluginType": "core",
8657
9098
  "strict": true,
8658
- "enableJsonFlag": false,
8659
9099
  "isESM": true,
8660
9100
  "relativePath": [
8661
9101
  "dist",
8662
9102
  "commands",
8663
- "telemetry",
8664
- "disable.js"
9103
+ "sync",
9104
+ "stop.js"
8665
9105
  ]
8666
9106
  },
8667
- "telemetry:enable": {
9107
+ "support:book": {
8668
9108
  "aliases": [],
8669
9109
  "args": {},
8670
- "description": "Enable anonymous telemetry",
9110
+ "description": "Book a call for support",
8671
9111
  "examples": [
8672
- "<%= config.bin %> <%= command.id %>"
9112
+ "<%= config.bin %> <%= command.id %>",
9113
+ "<%= config.bin %> <%= command.id %> --json"
8673
9114
  ],
8674
9115
  "flags": {
8675
9116
  "json": {
@@ -8688,7 +9129,7 @@
8688
9129
  },
8689
9130
  "hasDynamicHelp": false,
8690
9131
  "hiddenAliases": [],
8691
- "id": "telemetry:enable",
9132
+ "id": "support:book",
8692
9133
  "pluginAlias": "@proletariat/cli",
8693
9134
  "pluginName": "@proletariat/cli",
8694
9135
  "pluginType": "core",
@@ -8698,14 +9139,14 @@
8698
9139
  "relativePath": [
8699
9140
  "dist",
8700
9141
  "commands",
8701
- "telemetry",
8702
- "enable.js"
9142
+ "support",
9143
+ "book.js"
8703
9144
  ]
8704
9145
  },
8705
- "telemetry": {
9146
+ "support:discord": {
8706
9147
  "aliases": [],
8707
9148
  "args": {},
8708
- "description": "Show telemetry status",
9149
+ "description": "Join the Discord community",
8709
9150
  "examples": [
8710
9151
  "<%= config.bin %> <%= command.id %>",
8711
9152
  "<%= config.bin %> <%= command.id %> --json"
@@ -8727,7 +9168,7 @@
8727
9168
  },
8728
9169
  "hasDynamicHelp": false,
8729
9170
  "hiddenAliases": [],
8730
- "id": "telemetry",
9171
+ "id": "support:discord",
8731
9172
  "pluginAlias": "@proletariat/cli",
8732
9173
  "pluginName": "@proletariat/cli",
8733
9174
  "pluginType": "core",
@@ -8737,16 +9178,17 @@
8737
9178
  "relativePath": [
8738
9179
  "dist",
8739
9180
  "commands",
8740
- "telemetry",
8741
- "index.js"
9181
+ "support",
9182
+ "discord.js"
8742
9183
  ]
8743
9184
  },
8744
- "telemetry:status": {
9185
+ "support:docs": {
8745
9186
  "aliases": [],
8746
9187
  "args": {},
8747
- "description": "Show telemetry status",
9188
+ "description": "Open documentation in browser",
8748
9189
  "examples": [
8749
- "<%= config.bin %> telemetry status"
9190
+ "<%= config.bin %> <%= command.id %>",
9191
+ "<%= config.bin %> <%= command.id %> --json"
8750
9192
  ],
8751
9193
  "flags": {
8752
9194
  "json": {
@@ -8765,7 +9207,7 @@
8765
9207
  },
8766
9208
  "hasDynamicHelp": false,
8767
9209
  "hiddenAliases": [],
8768
- "id": "telemetry:status",
9210
+ "id": "support:docs",
8769
9211
  "pluginAlias": "@proletariat/cli",
8770
9212
  "pluginName": "@proletariat/cli",
8771
9213
  "pluginType": "core",
@@ -8775,27 +9217,23 @@
8775
9217
  "relativePath": [
8776
9218
  "dist",
8777
9219
  "commands",
8778
- "telemetry",
8779
- "status.js"
9220
+ "support",
9221
+ "docs.js"
8780
9222
  ]
8781
9223
  },
8782
- "sync": {
9224
+ "support": {
8783
9225
  "aliases": [],
8784
9226
  "args": {},
8785
- "description": "Reconcile ticket state with GitHub PR status",
9227
+ "description": "Get help, troubleshoot, and connect with the community",
8786
9228
  "examples": [
8787
9229
  "<%= config.bin %> <%= command.id %>",
8788
- "<%= config.bin %> <%= command.id %> --dry-run"
9230
+ "<%= config.bin %> <%= command.id %> book",
9231
+ "<%= config.bin %> <%= command.id %> docs",
9232
+ "<%= config.bin %> <%= command.id %> discord",
9233
+ "<%= config.bin %> <%= command.id %> issues",
9234
+ "<%= config.bin %> <%= command.id %> logs"
8789
9235
  ],
8790
9236
  "flags": {
8791
- "project": {
8792
- "char": "P",
8793
- "description": "Project ID (uses first project if only one exists)",
8794
- "name": "project",
8795
- "hasDynamicHelp": false,
8796
- "multiple": false,
8797
- "type": "option"
8798
- },
8799
9237
  "json": {
8800
9238
  "description": "Output as JSON for AI agents/scripts",
8801
9239
  "name": "json",
@@ -8808,35 +9246,32 @@
8808
9246
  "name": "machine",
8809
9247
  "allowNo": false,
8810
9248
  "type": "boolean"
8811
- },
8812
- "dry-run": {
8813
- "description": "Show what would change without applying",
8814
- "name": "dry-run",
8815
- "allowNo": false,
8816
- "type": "boolean"
8817
9249
  }
8818
9250
  },
8819
9251
  "hasDynamicHelp": false,
8820
9252
  "hiddenAliases": [],
8821
- "id": "sync",
9253
+ "id": "support",
8822
9254
  "pluginAlias": "@proletariat/cli",
8823
9255
  "pluginName": "@proletariat/cli",
8824
9256
  "pluginType": "core",
8825
9257
  "strict": true,
9258
+ "enableJsonFlag": false,
8826
9259
  "isESM": true,
8827
9260
  "relativePath": [
8828
9261
  "dist",
8829
9262
  "commands",
8830
- "sync",
9263
+ "support",
8831
9264
  "index.js"
8832
9265
  ]
8833
9266
  },
8834
- "sync:pause": {
9267
+ "support:issues": {
8835
9268
  "aliases": [],
8836
9269
  "args": {},
8837
- "description": "Pause the merge queue (keep monitoring but stop merging)",
9270
+ "description": "Browse GitHub Issues",
8838
9271
  "examples": [
8839
- "<%= config.bin %> <%= command.id %>"
9272
+ "<%= config.bin %> <%= command.id %>",
9273
+ "<%= config.bin %> <%= command.id %> --browser",
9274
+ "<%= config.bin %> <%= command.id %> --json"
8840
9275
  ],
8841
9276
  "flags": {
8842
9277
  "json": {
@@ -8851,31 +9286,48 @@
8851
9286
  "name": "machine",
8852
9287
  "allowNo": false,
8853
9288
  "type": "boolean"
9289
+ },
9290
+ "browser": {
9291
+ "description": "Open issues in browser (default behavior)",
9292
+ "name": "browser",
9293
+ "allowNo": true,
9294
+ "type": "boolean"
8854
9295
  }
8855
9296
  },
8856
9297
  "hasDynamicHelp": false,
8857
9298
  "hiddenAliases": [],
8858
- "id": "sync:pause",
9299
+ "id": "support:issues",
8859
9300
  "pluginAlias": "@proletariat/cli",
8860
9301
  "pluginName": "@proletariat/cli",
8861
9302
  "pluginType": "core",
8862
9303
  "strict": true,
9304
+ "enableJsonFlag": false,
8863
9305
  "isESM": true,
8864
9306
  "relativePath": [
8865
9307
  "dist",
8866
9308
  "commands",
8867
- "sync",
8868
- "pause.js"
9309
+ "support",
9310
+ "issues.js"
8869
9311
  ]
8870
9312
  },
8871
- "sync:queue": {
9313
+ "support:logs": {
8872
9314
  "aliases": [],
8873
9315
  "args": {},
8874
- "description": "Show the merge queue state",
9316
+ "description": "Collect diagnostic info for troubleshooting",
8875
9317
  "examples": [
8876
- "<%= config.bin %> <%= command.id %>"
9318
+ "<%= config.bin %> <%= command.id %>",
9319
+ "<%= config.bin %> <%= command.id %> --clipboard",
9320
+ "<%= config.bin %> <%= command.id %> --json"
8877
9321
  ],
8878
9322
  "flags": {
9323
+ "project": {
9324
+ "char": "P",
9325
+ "description": "Project ID (uses first project if only one exists)",
9326
+ "name": "project",
9327
+ "hasDynamicHelp": false,
9328
+ "multiple": false,
9329
+ "type": "option"
9330
+ },
8879
9331
  "json": {
8880
9332
  "description": "Output as JSON for AI agents/scripts",
8881
9333
  "name": "json",
@@ -8888,11 +9340,17 @@
8888
9340
  "name": "machine",
8889
9341
  "allowNo": false,
8890
9342
  "type": "boolean"
9343
+ },
9344
+ "clipboard": {
9345
+ "description": "Copy diagnostics to clipboard",
9346
+ "name": "clipboard",
9347
+ "allowNo": false,
9348
+ "type": "boolean"
8891
9349
  }
8892
9350
  },
8893
9351
  "hasDynamicHelp": false,
8894
9352
  "hiddenAliases": [],
8895
- "id": "sync:queue",
9353
+ "id": "support:logs",
8896
9354
  "pluginAlias": "@proletariat/cli",
8897
9355
  "pluginName": "@proletariat/cli",
8898
9356
  "pluginType": "core",
@@ -8901,18 +9359,34 @@
8901
9359
  "relativePath": [
8902
9360
  "dist",
8903
9361
  "commands",
8904
- "sync",
8905
- "queue.js"
9362
+ "support",
9363
+ "logs.js"
8906
9364
  ]
8907
9365
  },
8908
- "sync:resume": {
9366
+ "terminal:title": {
8909
9367
  "aliases": [],
8910
- "args": {},
8911
- "description": "Resume the merge queue",
9368
+ "args": {
9369
+ "title": {
9370
+ "description": "Title to set for the terminal tab/window",
9371
+ "name": "title",
9372
+ "required": false
9373
+ }
9374
+ },
9375
+ "description": "Set the terminal tab/window title",
8912
9376
  "examples": [
8913
- "<%= config.bin %> <%= command.id %>"
9377
+ "<%= config.bin %> <%= command.id %> \"My Custom Name\"",
9378
+ "<%= config.bin %> <%= command.id %> # Interactive prompt",
9379
+ "<%= config.bin %> <%= command.id %> --reset",
9380
+ "<%= config.bin %> <%= command.id %> --machine # JSON mode for agents"
8914
9381
  ],
8915
9382
  "flags": {
9383
+ "reset": {
9384
+ "char": "r",
9385
+ "description": "Reset terminal title to default",
9386
+ "name": "reset",
9387
+ "allowNo": false,
9388
+ "type": "boolean"
9389
+ },
8916
9390
  "json": {
8917
9391
  "description": "Output as JSON for AI agents/scripts",
8918
9392
  "name": "json",
@@ -8929,7 +9403,7 @@
8929
9403
  },
8930
9404
  "hasDynamicHelp": false,
8931
9405
  "hiddenAliases": [],
8932
- "id": "sync:resume",
9406
+ "id": "terminal:title",
8933
9407
  "pluginAlias": "@proletariat/cli",
8934
9408
  "pluginName": "@proletariat/cli",
8935
9409
  "pluginType": "core",
@@ -8938,17 +9412,16 @@
8938
9412
  "relativePath": [
8939
9413
  "dist",
8940
9414
  "commands",
8941
- "sync",
8942
- "resume.js"
9415
+ "terminal",
9416
+ "title.js"
8943
9417
  ]
8944
9418
  },
8945
- "sync:start": {
9419
+ "telemetry:disable": {
8946
9420
  "aliases": [],
8947
9421
  "args": {},
8948
- "description": "Start the board sync daemon",
9422
+ "description": "Disable anonymous telemetry",
8949
9423
  "examples": [
8950
- "<%= config.bin %> <%= command.id %>",
8951
- "<%= config.bin %> <%= command.id %> --interval 30"
9424
+ "<%= config.bin %> <%= command.id %>"
8952
9425
  ],
8953
9426
  "flags": {
8954
9427
  "json": {
@@ -8963,36 +9436,28 @@
8963
9436
  "name": "machine",
8964
9437
  "allowNo": false,
8965
9438
  "type": "boolean"
8966
- },
8967
- "interval": {
8968
- "char": "i",
8969
- "description": "Poll interval in seconds",
8970
- "name": "interval",
8971
- "default": 60,
8972
- "hasDynamicHelp": false,
8973
- "multiple": false,
8974
- "type": "option"
8975
9439
  }
8976
9440
  },
8977
9441
  "hasDynamicHelp": false,
8978
9442
  "hiddenAliases": [],
8979
- "id": "sync:start",
9443
+ "id": "telemetry:disable",
8980
9444
  "pluginAlias": "@proletariat/cli",
8981
9445
  "pluginName": "@proletariat/cli",
8982
9446
  "pluginType": "core",
8983
9447
  "strict": true,
9448
+ "enableJsonFlag": false,
8984
9449
  "isESM": true,
8985
9450
  "relativePath": [
8986
9451
  "dist",
8987
9452
  "commands",
8988
- "sync",
8989
- "start.js"
9453
+ "telemetry",
9454
+ "disable.js"
8990
9455
  ]
8991
9456
  },
8992
- "sync:status": {
9457
+ "telemetry:enable": {
8993
9458
  "aliases": [],
8994
9459
  "args": {},
8995
- "description": "Check the board sync daemon status",
9460
+ "description": "Enable anonymous telemetry",
8996
9461
  "examples": [
8997
9462
  "<%= config.bin %> <%= command.id %>"
8998
9463
  ],
@@ -9013,25 +9478,27 @@
9013
9478
  },
9014
9479
  "hasDynamicHelp": false,
9015
9480
  "hiddenAliases": [],
9016
- "id": "sync:status",
9481
+ "id": "telemetry:enable",
9017
9482
  "pluginAlias": "@proletariat/cli",
9018
9483
  "pluginName": "@proletariat/cli",
9019
9484
  "pluginType": "core",
9020
9485
  "strict": true,
9486
+ "enableJsonFlag": false,
9021
9487
  "isESM": true,
9022
9488
  "relativePath": [
9023
9489
  "dist",
9024
9490
  "commands",
9025
- "sync",
9026
- "status.js"
9491
+ "telemetry",
9492
+ "enable.js"
9027
9493
  ]
9028
9494
  },
9029
- "sync:stop": {
9495
+ "telemetry": {
9030
9496
  "aliases": [],
9031
9497
  "args": {},
9032
- "description": "Stop the board sync daemon",
9498
+ "description": "Show telemetry status",
9033
9499
  "examples": [
9034
- "<%= config.bin %> <%= command.id %>"
9500
+ "<%= config.bin %> <%= command.id %>",
9501
+ "<%= config.bin %> <%= command.id %> --json"
9035
9502
  ],
9036
9503
  "flags": {
9037
9504
  "json": {
@@ -9050,43 +9517,28 @@
9050
9517
  },
9051
9518
  "hasDynamicHelp": false,
9052
9519
  "hiddenAliases": [],
9053
- "id": "sync:stop",
9520
+ "id": "telemetry",
9054
9521
  "pluginAlias": "@proletariat/cli",
9055
9522
  "pluginName": "@proletariat/cli",
9056
9523
  "pluginType": "core",
9057
9524
  "strict": true,
9525
+ "enableJsonFlag": false,
9058
9526
  "isESM": true,
9059
9527
  "relativePath": [
9060
9528
  "dist",
9061
9529
  "commands",
9062
- "sync",
9063
- "stop.js"
9530
+ "telemetry",
9531
+ "index.js"
9064
9532
  ]
9065
9533
  },
9066
- "terminal:title": {
9534
+ "telemetry:status": {
9067
9535
  "aliases": [],
9068
- "args": {
9069
- "title": {
9070
- "description": "Title to set for the terminal tab/window",
9071
- "name": "title",
9072
- "required": false
9073
- }
9074
- },
9075
- "description": "Set the terminal tab/window title",
9536
+ "args": {},
9537
+ "description": "Show telemetry status",
9076
9538
  "examples": [
9077
- "<%= config.bin %> <%= command.id %> \"My Custom Name\"",
9078
- "<%= config.bin %> <%= command.id %> # Interactive prompt",
9079
- "<%= config.bin %> <%= command.id %> --reset",
9080
- "<%= config.bin %> <%= command.id %> --machine # JSON mode for agents"
9539
+ "<%= config.bin %> telemetry status"
9081
9540
  ],
9082
9541
  "flags": {
9083
- "reset": {
9084
- "char": "r",
9085
- "description": "Reset terminal title to default",
9086
- "name": "reset",
9087
- "allowNo": false,
9088
- "type": "boolean"
9089
- },
9090
9542
  "json": {
9091
9543
  "description": "Output as JSON for AI agents/scripts",
9092
9544
  "name": "json",
@@ -9103,17 +9555,18 @@
9103
9555
  },
9104
9556
  "hasDynamicHelp": false,
9105
9557
  "hiddenAliases": [],
9106
- "id": "terminal:title",
9558
+ "id": "telemetry:status",
9107
9559
  "pluginAlias": "@proletariat/cli",
9108
9560
  "pluginName": "@proletariat/cli",
9109
9561
  "pluginType": "core",
9110
9562
  "strict": true,
9563
+ "enableJsonFlag": false,
9111
9564
  "isESM": true,
9112
9565
  "relativePath": [
9113
9566
  "dist",
9114
9567
  "commands",
9115
- "terminal",
9116
- "title.js"
9568
+ "telemetry",
9569
+ "status.js"
9117
9570
  ]
9118
9571
  },
9119
9572
  "theme:add-names": {
@@ -14665,5 +15118,5 @@
14665
15118
  ]
14666
15119
  }
14667
15120
  },
14668
- "version": "0.3.110"
15121
+ "version": "0.3.112"
14669
15122
  }