@proletariat/cli 0.3.113 → 0.3.114

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.
@@ -2046,66 +2046,6 @@
2046
2046
  "sync.js"
2047
2047
  ]
2048
2048
  },
2049
- "autocomplete:setup": {
2050
- "aliases": [],
2051
- "args": {},
2052
- "description": "Auto-detect shell and set up autocomplete",
2053
- "examples": [
2054
- "<%= config.bin %> <%= command.id %>",
2055
- "<%= config.bin %> <%= command.id %> --install",
2056
- "<%= config.bin %> <%= command.id %> --shell zsh",
2057
- "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
2058
- ],
2059
- "flags": {
2060
- "json": {
2061
- "description": "Output as JSON for AI agents/scripts",
2062
- "name": "json",
2063
- "allowNo": false,
2064
- "type": "boolean"
2065
- },
2066
- "machine": {
2067
- "char": "m",
2068
- "description": "Output as JSON for AI agents/scripts",
2069
- "name": "machine",
2070
- "allowNo": false,
2071
- "type": "boolean"
2072
- },
2073
- "install": {
2074
- "char": "i",
2075
- "description": "Automatically install to shell config file",
2076
- "name": "install",
2077
- "allowNo": false,
2078
- "type": "boolean"
2079
- },
2080
- "shell": {
2081
- "char": "s",
2082
- "description": "Override shell detection (zsh, bash, powershell)",
2083
- "name": "shell",
2084
- "hasDynamicHelp": false,
2085
- "multiple": false,
2086
- "options": [
2087
- "zsh",
2088
- "bash",
2089
- "powershell"
2090
- ],
2091
- "type": "option"
2092
- }
2093
- },
2094
- "hasDynamicHelp": false,
2095
- "hiddenAliases": [],
2096
- "id": "autocomplete:setup",
2097
- "pluginAlias": "@proletariat/cli",
2098
- "pluginName": "@proletariat/cli",
2099
- "pluginType": "core",
2100
- "strict": true,
2101
- "isESM": true,
2102
- "relativePath": [
2103
- "dist",
2104
- "commands",
2105
- "autocomplete",
2106
- "setup.js"
2107
- ]
2108
- },
2109
2049
  "branch:create": {
2110
2050
  "aliases": [],
2111
2051
  "args": {
@@ -2462,6 +2402,66 @@
2462
2402
  "where.js"
2463
2403
  ]
2464
2404
  },
2405
+ "autocomplete:setup": {
2406
+ "aliases": [],
2407
+ "args": {},
2408
+ "description": "Auto-detect shell and set up autocomplete",
2409
+ "examples": [
2410
+ "<%= config.bin %> <%= command.id %>",
2411
+ "<%= config.bin %> <%= command.id %> --install",
2412
+ "<%= config.bin %> <%= command.id %> --shell zsh",
2413
+ "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
2414
+ ],
2415
+ "flags": {
2416
+ "json": {
2417
+ "description": "Output as JSON for AI agents/scripts",
2418
+ "name": "json",
2419
+ "allowNo": false,
2420
+ "type": "boolean"
2421
+ },
2422
+ "machine": {
2423
+ "char": "m",
2424
+ "description": "Output as JSON for AI agents/scripts",
2425
+ "name": "machine",
2426
+ "allowNo": false,
2427
+ "type": "boolean"
2428
+ },
2429
+ "install": {
2430
+ "char": "i",
2431
+ "description": "Automatically install to shell config file",
2432
+ "name": "install",
2433
+ "allowNo": false,
2434
+ "type": "boolean"
2435
+ },
2436
+ "shell": {
2437
+ "char": "s",
2438
+ "description": "Override shell detection (zsh, bash, powershell)",
2439
+ "name": "shell",
2440
+ "hasDynamicHelp": false,
2441
+ "multiple": false,
2442
+ "options": [
2443
+ "zsh",
2444
+ "bash",
2445
+ "powershell"
2446
+ ],
2447
+ "type": "option"
2448
+ }
2449
+ },
2450
+ "hasDynamicHelp": false,
2451
+ "hiddenAliases": [],
2452
+ "id": "autocomplete:setup",
2453
+ "pluginAlias": "@proletariat/cli",
2454
+ "pluginName": "@proletariat/cli",
2455
+ "pluginType": "core",
2456
+ "strict": true,
2457
+ "isESM": true,
2458
+ "relativePath": [
2459
+ "dist",
2460
+ "commands",
2461
+ "autocomplete",
2462
+ "setup.js"
2463
+ ]
2464
+ },
2465
2465
  "caffeinate": {
2466
2466
  "aliases": [],
2467
2467
  "args": {},
@@ -6538,65 +6538,6 @@
6538
6538
  "stop.js"
6539
6539
  ]
6540
6540
  },
6541
- "project:configure": {
6542
- "aliases": [],
6543
- "args": {},
6544
- "description": "Configure workflow column mapping for a project",
6545
- "examples": [
6546
- "<%= config.bin %> <%= command.id %> --workflow",
6547
- "<%= config.bin %> <%= command.id %> --workflow --show"
6548
- ],
6549
- "flags": {
6550
- "project": {
6551
- "char": "P",
6552
- "description": "Project ID (uses first project if only one exists)",
6553
- "name": "project",
6554
- "hasDynamicHelp": false,
6555
- "multiple": false,
6556
- "type": "option"
6557
- },
6558
- "json": {
6559
- "description": "Output as JSON for AI agents/scripts",
6560
- "name": "json",
6561
- "allowNo": false,
6562
- "type": "boolean"
6563
- },
6564
- "machine": {
6565
- "char": "m",
6566
- "description": "Output as JSON for AI agents/scripts",
6567
- "name": "machine",
6568
- "allowNo": false,
6569
- "type": "boolean"
6570
- },
6571
- "workflow": {
6572
- "char": "w",
6573
- "description": "Configure workflow column mapping",
6574
- "name": "workflow",
6575
- "allowNo": false,
6576
- "type": "boolean"
6577
- },
6578
- "show": {
6579
- "description": "Show current workflow mapping without prompting",
6580
- "name": "show",
6581
- "allowNo": false,
6582
- "type": "boolean"
6583
- }
6584
- },
6585
- "hasDynamicHelp": false,
6586
- "hiddenAliases": [],
6587
- "id": "project:configure",
6588
- "pluginAlias": "@proletariat/cli",
6589
- "pluginName": "@proletariat/cli",
6590
- "pluginType": "core",
6591
- "strict": true,
6592
- "isESM": true,
6593
- "relativePath": [
6594
- "dist",
6595
- "commands",
6596
- "project",
6597
- "configure.js"
6598
- ]
6599
- },
6600
6541
  "pr:checks": {
6601
6542
  "aliases": [],
6602
6543
  "args": {
@@ -7169,6 +7110,65 @@
7169
7110
  "status.js"
7170
7111
  ]
7171
7112
  },
7113
+ "project:configure": {
7114
+ "aliases": [],
7115
+ "args": {},
7116
+ "description": "Configure workflow column mapping for a project",
7117
+ "examples": [
7118
+ "<%= config.bin %> <%= command.id %> --workflow",
7119
+ "<%= config.bin %> <%= command.id %> --workflow --show"
7120
+ ],
7121
+ "flags": {
7122
+ "project": {
7123
+ "char": "P",
7124
+ "description": "Project ID (uses first project if only one exists)",
7125
+ "name": "project",
7126
+ "hasDynamicHelp": false,
7127
+ "multiple": false,
7128
+ "type": "option"
7129
+ },
7130
+ "json": {
7131
+ "description": "Output as JSON for AI agents/scripts",
7132
+ "name": "json",
7133
+ "allowNo": false,
7134
+ "type": "boolean"
7135
+ },
7136
+ "machine": {
7137
+ "char": "m",
7138
+ "description": "Output as JSON for AI agents/scripts",
7139
+ "name": "machine",
7140
+ "allowNo": false,
7141
+ "type": "boolean"
7142
+ },
7143
+ "workflow": {
7144
+ "char": "w",
7145
+ "description": "Configure workflow column mapping",
7146
+ "name": "workflow",
7147
+ "allowNo": false,
7148
+ "type": "boolean"
7149
+ },
7150
+ "show": {
7151
+ "description": "Show current workflow mapping without prompting",
7152
+ "name": "show",
7153
+ "allowNo": false,
7154
+ "type": "boolean"
7155
+ }
7156
+ },
7157
+ "hasDynamicHelp": false,
7158
+ "hiddenAliases": [],
7159
+ "id": "project:configure",
7160
+ "pluginAlias": "@proletariat/cli",
7161
+ "pluginName": "@proletariat/cli",
7162
+ "pluginType": "core",
7163
+ "strict": true,
7164
+ "isESM": true,
7165
+ "relativePath": [
7166
+ "dist",
7167
+ "commands",
7168
+ "project",
7169
+ "configure.js"
7170
+ ]
7171
+ },
7172
7172
  "qa": {
7173
7173
  "aliases": [
7174
7174
  "explore"
@@ -7270,23 +7270,116 @@
7270
7270
  "index.js"
7271
7271
  ]
7272
7272
  },
7273
- "repo:add": {
7273
+ "run": {
7274
7274
  "aliases": [],
7275
7275
  "args": {
7276
- "path": {
7277
- "description": "Repository path or Git URL",
7278
- "name": "path",
7279
- "required": false
7276
+ "task": {
7277
+ "description": "Task description for the agent",
7278
+ "name": "task",
7279
+ "required": true
7280
7280
  }
7281
7281
  },
7282
- "description": "Add a repository to the HQ",
7282
+ "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
7283
7283
  "examples": [
7284
- "<%= config.bin %> <%= command.id %> /path/to/repo",
7285
- "<%= config.bin %> <%= command.id %> git@github.com:user/repo.git",
7286
- "<%= config.bin %> <%= command.id %>",
7287
- "<%= config.bin %> <%= command.id %> --bulk"
7288
- ],
7289
- "flags": {
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,
7323
+ "type": "option"
7324
+ },
7325
+ "permission-mode": {
7326
+ "char": "p",
7327
+ "description": "Permission mode (danger: skip prompts, safe: require approval)",
7328
+ "name": "permission-mode",
7329
+ "hasDynamicHelp": false,
7330
+ "multiple": false,
7331
+ "options": [
7332
+ "danger",
7333
+ "safe"
7334
+ ],
7335
+ "type": "option"
7336
+ },
7337
+ "environment": {
7338
+ "char": "e",
7339
+ "description": "Environment to run in",
7340
+ "name": "environment",
7341
+ "hasDynamicHelp": false,
7342
+ "multiple": false,
7343
+ "options": [
7344
+ "host",
7345
+ "docker",
7346
+ "podman"
7347
+ ],
7348
+ "type": "option"
7349
+ }
7350
+ },
7351
+ "hasDynamicHelp": false,
7352
+ "hiddenAliases": [],
7353
+ "id": "run",
7354
+ "pluginAlias": "@proletariat/cli",
7355
+ "pluginName": "@proletariat/cli",
7356
+ "pluginType": "core",
7357
+ "strict": true,
7358
+ "isESM": true,
7359
+ "relativePath": [
7360
+ "dist",
7361
+ "commands",
7362
+ "run",
7363
+ "index.js"
7364
+ ]
7365
+ },
7366
+ "repo:add": {
7367
+ "aliases": [],
7368
+ "args": {
7369
+ "path": {
7370
+ "description": "Repository path or Git URL",
7371
+ "name": "path",
7372
+ "required": false
7373
+ }
7374
+ },
7375
+ "description": "Add a repository to the HQ",
7376
+ "examples": [
7377
+ "<%= config.bin %> <%= command.id %> /path/to/repo",
7378
+ "<%= config.bin %> <%= command.id %> git@github.com:user/repo.git",
7379
+ "<%= config.bin %> <%= command.id %>",
7380
+ "<%= config.bin %> <%= command.id %> --bulk"
7381
+ ],
7382
+ "flags": {
7290
7383
  "json": {
7291
7384
  "description": "Output as JSON for AI agents/scripts",
7292
7385
  "name": "json",
@@ -7675,99 +7768,6 @@
7675
7768
  "view.js"
7676
7769
  ]
7677
7770
  },
7678
- "run": {
7679
- "aliases": [],
7680
- "args": {
7681
- "task": {
7682
- "description": "Task description for the agent",
7683
- "name": "task",
7684
- "required": true
7685
- }
7686
- },
7687
- "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
7688
- "examples": [
7689
- "<%= config.bin %> run \"fix the login bug\"",
7690
- "<%= config.bin %> run --runner claude-code \"add dark mode\"",
7691
- "<%= config.bin %> run -d \"fix the bug\"",
7692
- "<%= config.bin %> run --runner codex \"add tests\""
7693
- ],
7694
- "flags": {
7695
- "json": {
7696
- "description": "Output as JSON for AI agents/scripts",
7697
- "name": "json",
7698
- "allowNo": false,
7699
- "type": "boolean"
7700
- },
7701
- "machine": {
7702
- "char": "m",
7703
- "description": "Output as JSON for AI agents/scripts",
7704
- "name": "machine",
7705
- "allowNo": false,
7706
- "type": "boolean"
7707
- },
7708
- "runner": {
7709
- "char": "r",
7710
- "description": "Runner to use (claude-code, codex, pi)",
7711
- "name": "runner",
7712
- "hasDynamicHelp": false,
7713
- "multiple": false,
7714
- "type": "option"
7715
- },
7716
- "detached": {
7717
- "char": "d",
7718
- "description": "Run in background (detached)",
7719
- "name": "detached",
7720
- "allowNo": false,
7721
- "type": "boolean"
7722
- },
7723
- "directory": {
7724
- "description": "Working directory (default: cwd)",
7725
- "name": "directory",
7726
- "hasDynamicHelp": false,
7727
- "multiple": false,
7728
- "type": "option"
7729
- },
7730
- "permission-mode": {
7731
- "char": "p",
7732
- "description": "Permission mode (danger: skip prompts, safe: require approval)",
7733
- "name": "permission-mode",
7734
- "hasDynamicHelp": false,
7735
- "multiple": false,
7736
- "options": [
7737
- "danger",
7738
- "safe"
7739
- ],
7740
- "type": "option"
7741
- },
7742
- "environment": {
7743
- "char": "e",
7744
- "description": "Environment to run in",
7745
- "name": "environment",
7746
- "hasDynamicHelp": false,
7747
- "multiple": false,
7748
- "options": [
7749
- "host",
7750
- "docker",
7751
- "podman"
7752
- ],
7753
- "type": "option"
7754
- }
7755
- },
7756
- "hasDynamicHelp": false,
7757
- "hiddenAliases": [],
7758
- "id": "run",
7759
- "pluginAlias": "@proletariat/cli",
7760
- "pluginName": "@proletariat/cli",
7761
- "pluginType": "core",
7762
- "strict": true,
7763
- "isESM": true,
7764
- "relativePath": [
7765
- "dist",
7766
- "commands",
7767
- "run",
7768
- "index.js"
7769
- ]
7770
- },
7771
7771
  "shortcut:connect": {
7772
7772
  "aliases": [],
7773
7773
  "args": {},
@@ -9079,23 +9079,14 @@
9079
9079
  "logs.js"
9080
9080
  ]
9081
9081
  },
9082
- "sync": {
9082
+ "telemetry:disable": {
9083
9083
  "aliases": [],
9084
9084
  "args": {},
9085
- "description": "Reconcile ticket state with GitHub PR status",
9085
+ "description": "Disable anonymous telemetry",
9086
9086
  "examples": [
9087
- "<%= config.bin %> <%= command.id %>",
9088
- "<%= config.bin %> <%= command.id %> --dry-run"
9087
+ "<%= config.bin %> <%= command.id %>"
9089
9088
  ],
9090
9089
  "flags": {
9091
- "project": {
9092
- "char": "P",
9093
- "description": "Project ID (uses first project if only one exists)",
9094
- "name": "project",
9095
- "hasDynamicHelp": false,
9096
- "multiple": false,
9097
- "type": "option"
9098
- },
9099
9090
  "json": {
9100
9091
  "description": "Output as JSON for AI agents/scripts",
9101
9092
  "name": "json",
@@ -9108,33 +9099,28 @@
9108
9099
  "name": "machine",
9109
9100
  "allowNo": false,
9110
9101
  "type": "boolean"
9111
- },
9112
- "dry-run": {
9113
- "description": "Show what would change without applying",
9114
- "name": "dry-run",
9115
- "allowNo": false,
9116
- "type": "boolean"
9117
9102
  }
9118
9103
  },
9119
9104
  "hasDynamicHelp": false,
9120
9105
  "hiddenAliases": [],
9121
- "id": "sync",
9106
+ "id": "telemetry:disable",
9122
9107
  "pluginAlias": "@proletariat/cli",
9123
9108
  "pluginName": "@proletariat/cli",
9124
9109
  "pluginType": "core",
9125
9110
  "strict": true,
9111
+ "enableJsonFlag": false,
9126
9112
  "isESM": true,
9127
9113
  "relativePath": [
9128
9114
  "dist",
9129
9115
  "commands",
9130
- "sync",
9131
- "index.js"
9116
+ "telemetry",
9117
+ "disable.js"
9132
9118
  ]
9133
9119
  },
9134
- "sync:pause": {
9120
+ "telemetry:enable": {
9135
9121
  "aliases": [],
9136
9122
  "args": {},
9137
- "description": "Pause the merge queue (keep monitoring but stop merging)",
9123
+ "description": "Enable anonymous telemetry",
9138
9124
  "examples": [
9139
9125
  "<%= config.bin %> <%= command.id %>"
9140
9126
  ],
@@ -9155,25 +9141,27 @@
9155
9141
  },
9156
9142
  "hasDynamicHelp": false,
9157
9143
  "hiddenAliases": [],
9158
- "id": "sync:pause",
9144
+ "id": "telemetry:enable",
9159
9145
  "pluginAlias": "@proletariat/cli",
9160
9146
  "pluginName": "@proletariat/cli",
9161
9147
  "pluginType": "core",
9162
9148
  "strict": true,
9149
+ "enableJsonFlag": false,
9163
9150
  "isESM": true,
9164
9151
  "relativePath": [
9165
9152
  "dist",
9166
9153
  "commands",
9167
- "sync",
9168
- "pause.js"
9154
+ "telemetry",
9155
+ "enable.js"
9169
9156
  ]
9170
9157
  },
9171
- "sync:queue": {
9158
+ "telemetry": {
9172
9159
  "aliases": [],
9173
9160
  "args": {},
9174
- "description": "Show the merge queue state",
9161
+ "description": "Show telemetry status",
9175
9162
  "examples": [
9176
- "<%= config.bin %> <%= command.id %>"
9163
+ "<%= config.bin %> <%= command.id %>",
9164
+ "<%= config.bin %> <%= command.id %> --json"
9177
9165
  ],
9178
9166
  "flags": {
9179
9167
  "json": {
@@ -9192,25 +9180,26 @@
9192
9180
  },
9193
9181
  "hasDynamicHelp": false,
9194
9182
  "hiddenAliases": [],
9195
- "id": "sync:queue",
9183
+ "id": "telemetry",
9196
9184
  "pluginAlias": "@proletariat/cli",
9197
9185
  "pluginName": "@proletariat/cli",
9198
9186
  "pluginType": "core",
9199
9187
  "strict": true,
9188
+ "enableJsonFlag": false,
9200
9189
  "isESM": true,
9201
9190
  "relativePath": [
9202
9191
  "dist",
9203
9192
  "commands",
9204
- "sync",
9205
- "queue.js"
9193
+ "telemetry",
9194
+ "index.js"
9206
9195
  ]
9207
9196
  },
9208
- "sync:resume": {
9197
+ "telemetry:status": {
9209
9198
  "aliases": [],
9210
9199
  "args": {},
9211
- "description": "Resume the merge queue",
9200
+ "description": "Show telemetry status",
9212
9201
  "examples": [
9213
- "<%= config.bin %> <%= command.id %>"
9202
+ "<%= config.bin %> telemetry status"
9214
9203
  ],
9215
9204
  "flags": {
9216
9205
  "json": {
@@ -9229,28 +9218,37 @@
9229
9218
  },
9230
9219
  "hasDynamicHelp": false,
9231
9220
  "hiddenAliases": [],
9232
- "id": "sync:resume",
9221
+ "id": "telemetry:status",
9233
9222
  "pluginAlias": "@proletariat/cli",
9234
9223
  "pluginName": "@proletariat/cli",
9235
9224
  "pluginType": "core",
9236
9225
  "strict": true,
9226
+ "enableJsonFlag": false,
9237
9227
  "isESM": true,
9238
9228
  "relativePath": [
9239
9229
  "dist",
9240
9230
  "commands",
9241
- "sync",
9242
- "resume.js"
9231
+ "telemetry",
9232
+ "status.js"
9243
9233
  ]
9244
9234
  },
9245
- "sync:start": {
9235
+ "sync": {
9246
9236
  "aliases": [],
9247
9237
  "args": {},
9248
- "description": "Start the board sync daemon",
9238
+ "description": "Reconcile ticket state with GitHub PR status",
9249
9239
  "examples": [
9250
9240
  "<%= config.bin %> <%= command.id %>",
9251
- "<%= config.bin %> <%= command.id %> --interval 30"
9241
+ "<%= config.bin %> <%= command.id %> --dry-run"
9252
9242
  ],
9253
9243
  "flags": {
9244
+ "project": {
9245
+ "char": "P",
9246
+ "description": "Project ID (uses first project if only one exists)",
9247
+ "name": "project",
9248
+ "hasDynamicHelp": false,
9249
+ "multiple": false,
9250
+ "type": "option"
9251
+ },
9254
9252
  "json": {
9255
9253
  "description": "Output as JSON for AI agents/scripts",
9256
9254
  "name": "json",
@@ -9264,19 +9262,16 @@
9264
9262
  "allowNo": false,
9265
9263
  "type": "boolean"
9266
9264
  },
9267
- "interval": {
9268
- "char": "i",
9269
- "description": "Poll interval in seconds",
9270
- "name": "interval",
9271
- "default": 60,
9272
- "hasDynamicHelp": false,
9273
- "multiple": false,
9274
- "type": "option"
9265
+ "dry-run": {
9266
+ "description": "Show what would change without applying",
9267
+ "name": "dry-run",
9268
+ "allowNo": false,
9269
+ "type": "boolean"
9275
9270
  }
9276
9271
  },
9277
9272
  "hasDynamicHelp": false,
9278
9273
  "hiddenAliases": [],
9279
- "id": "sync:start",
9274
+ "id": "sync",
9280
9275
  "pluginAlias": "@proletariat/cli",
9281
9276
  "pluginName": "@proletariat/cli",
9282
9277
  "pluginType": "core",
@@ -9286,13 +9281,13 @@
9286
9281
  "dist",
9287
9282
  "commands",
9288
9283
  "sync",
9289
- "start.js"
9284
+ "index.js"
9290
9285
  ]
9291
9286
  },
9292
- "sync:status": {
9287
+ "sync:pause": {
9293
9288
  "aliases": [],
9294
9289
  "args": {},
9295
- "description": "Check the board sync daemon status",
9290
+ "description": "Pause the merge queue (keep monitoring but stop merging)",
9296
9291
  "examples": [
9297
9292
  "<%= config.bin %> <%= command.id %>"
9298
9293
  ],
@@ -9313,7 +9308,7 @@
9313
9308
  },
9314
9309
  "hasDynamicHelp": false,
9315
9310
  "hiddenAliases": [],
9316
- "id": "sync:status",
9311
+ "id": "sync:pause",
9317
9312
  "pluginAlias": "@proletariat/cli",
9318
9313
  "pluginName": "@proletariat/cli",
9319
9314
  "pluginType": "core",
@@ -9323,13 +9318,13 @@
9323
9318
  "dist",
9324
9319
  "commands",
9325
9320
  "sync",
9326
- "status.js"
9321
+ "pause.js"
9327
9322
  ]
9328
9323
  },
9329
- "sync:stop": {
9324
+ "sync:queue": {
9330
9325
  "aliases": [],
9331
9326
  "args": {},
9332
- "description": "Stop the board sync daemon",
9327
+ "description": "Show the merge queue state",
9333
9328
  "examples": [
9334
9329
  "<%= config.bin %> <%= command.id %>"
9335
9330
  ],
@@ -9350,7 +9345,7 @@
9350
9345
  },
9351
9346
  "hasDynamicHelp": false,
9352
9347
  "hiddenAliases": [],
9353
- "id": "sync:stop",
9348
+ "id": "sync:queue",
9354
9349
  "pluginAlias": "@proletariat/cli",
9355
9350
  "pluginName": "@proletariat/cli",
9356
9351
  "pluginType": "core",
@@ -9360,33 +9355,17 @@
9360
9355
  "dist",
9361
9356
  "commands",
9362
9357
  "sync",
9363
- "stop.js"
9358
+ "queue.js"
9364
9359
  ]
9365
9360
  },
9366
- "terminal:title": {
9361
+ "sync:resume": {
9367
9362
  "aliases": [],
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",
9363
+ "args": {},
9364
+ "description": "Resume the merge queue",
9376
9365
  "examples": [
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"
9366
+ "<%= config.bin %> <%= command.id %>"
9381
9367
  ],
9382
9368
  "flags": {
9383
- "reset": {
9384
- "char": "r",
9385
- "description": "Reset terminal title to default",
9386
- "name": "reset",
9387
- "allowNo": false,
9388
- "type": "boolean"
9389
- },
9390
9369
  "json": {
9391
9370
  "description": "Output as JSON for AI agents/scripts",
9392
9371
  "name": "json",
@@ -9403,7 +9382,7 @@
9403
9382
  },
9404
9383
  "hasDynamicHelp": false,
9405
9384
  "hiddenAliases": [],
9406
- "id": "terminal:title",
9385
+ "id": "sync:resume",
9407
9386
  "pluginAlias": "@proletariat/cli",
9408
9387
  "pluginName": "@proletariat/cli",
9409
9388
  "pluginType": "core",
@@ -9412,16 +9391,17 @@
9412
9391
  "relativePath": [
9413
9392
  "dist",
9414
9393
  "commands",
9415
- "terminal",
9416
- "title.js"
9394
+ "sync",
9395
+ "resume.js"
9417
9396
  ]
9418
9397
  },
9419
- "telemetry:disable": {
9398
+ "sync:start": {
9420
9399
  "aliases": [],
9421
9400
  "args": {},
9422
- "description": "Disable anonymous telemetry",
9401
+ "description": "Start the board sync daemon",
9423
9402
  "examples": [
9424
- "<%= config.bin %> <%= command.id %>"
9403
+ "<%= config.bin %> <%= command.id %>",
9404
+ "<%= config.bin %> <%= command.id %> --interval 30"
9425
9405
  ],
9426
9406
  "flags": {
9427
9407
  "json": {
@@ -9436,28 +9416,36 @@
9436
9416
  "name": "machine",
9437
9417
  "allowNo": false,
9438
9418
  "type": "boolean"
9419
+ },
9420
+ "interval": {
9421
+ "char": "i",
9422
+ "description": "Poll interval in seconds",
9423
+ "name": "interval",
9424
+ "default": 60,
9425
+ "hasDynamicHelp": false,
9426
+ "multiple": false,
9427
+ "type": "option"
9439
9428
  }
9440
9429
  },
9441
9430
  "hasDynamicHelp": false,
9442
9431
  "hiddenAliases": [],
9443
- "id": "telemetry:disable",
9432
+ "id": "sync:start",
9444
9433
  "pluginAlias": "@proletariat/cli",
9445
9434
  "pluginName": "@proletariat/cli",
9446
9435
  "pluginType": "core",
9447
9436
  "strict": true,
9448
- "enableJsonFlag": false,
9449
9437
  "isESM": true,
9450
9438
  "relativePath": [
9451
9439
  "dist",
9452
9440
  "commands",
9453
- "telemetry",
9454
- "disable.js"
9441
+ "sync",
9442
+ "start.js"
9455
9443
  ]
9456
9444
  },
9457
- "telemetry:enable": {
9445
+ "sync:status": {
9458
9446
  "aliases": [],
9459
9447
  "args": {},
9460
- "description": "Enable anonymous telemetry",
9448
+ "description": "Check the board sync daemon status",
9461
9449
  "examples": [
9462
9450
  "<%= config.bin %> <%= command.id %>"
9463
9451
  ],
@@ -9478,27 +9466,25 @@
9478
9466
  },
9479
9467
  "hasDynamicHelp": false,
9480
9468
  "hiddenAliases": [],
9481
- "id": "telemetry:enable",
9469
+ "id": "sync:status",
9482
9470
  "pluginAlias": "@proletariat/cli",
9483
9471
  "pluginName": "@proletariat/cli",
9484
9472
  "pluginType": "core",
9485
9473
  "strict": true,
9486
- "enableJsonFlag": false,
9487
9474
  "isESM": true,
9488
9475
  "relativePath": [
9489
9476
  "dist",
9490
9477
  "commands",
9491
- "telemetry",
9492
- "enable.js"
9478
+ "sync",
9479
+ "status.js"
9493
9480
  ]
9494
9481
  },
9495
- "telemetry": {
9482
+ "sync:stop": {
9496
9483
  "aliases": [],
9497
9484
  "args": {},
9498
- "description": "Show telemetry status",
9485
+ "description": "Stop the board sync daemon",
9499
9486
  "examples": [
9500
- "<%= config.bin %> <%= command.id %>",
9501
- "<%= config.bin %> <%= command.id %> --json"
9487
+ "<%= config.bin %> <%= command.id %>"
9502
9488
  ],
9503
9489
  "flags": {
9504
9490
  "json": {
@@ -9517,28 +9503,43 @@
9517
9503
  },
9518
9504
  "hasDynamicHelp": false,
9519
9505
  "hiddenAliases": [],
9520
- "id": "telemetry",
9506
+ "id": "sync:stop",
9521
9507
  "pluginAlias": "@proletariat/cli",
9522
9508
  "pluginName": "@proletariat/cli",
9523
9509
  "pluginType": "core",
9524
9510
  "strict": true,
9525
- "enableJsonFlag": false,
9526
9511
  "isESM": true,
9527
9512
  "relativePath": [
9528
9513
  "dist",
9529
9514
  "commands",
9530
- "telemetry",
9531
- "index.js"
9515
+ "sync",
9516
+ "stop.js"
9532
9517
  ]
9533
9518
  },
9534
- "telemetry:status": {
9519
+ "terminal:title": {
9535
9520
  "aliases": [],
9536
- "args": {},
9537
- "description": "Show telemetry status",
9521
+ "args": {
9522
+ "title": {
9523
+ "description": "Title to set for the terminal tab/window",
9524
+ "name": "title",
9525
+ "required": false
9526
+ }
9527
+ },
9528
+ "description": "Set the terminal tab/window title",
9538
9529
  "examples": [
9539
- "<%= config.bin %> telemetry status"
9530
+ "<%= config.bin %> <%= command.id %> \"My Custom Name\"",
9531
+ "<%= config.bin %> <%= command.id %> # Interactive prompt",
9532
+ "<%= config.bin %> <%= command.id %> --reset",
9533
+ "<%= config.bin %> <%= command.id %> --machine # JSON mode for agents"
9540
9534
  ],
9541
9535
  "flags": {
9536
+ "reset": {
9537
+ "char": "r",
9538
+ "description": "Reset terminal title to default",
9539
+ "name": "reset",
9540
+ "allowNo": false,
9541
+ "type": "boolean"
9542
+ },
9542
9543
  "json": {
9543
9544
  "description": "Output as JSON for AI agents/scripts",
9544
9545
  "name": "json",
@@ -9555,18 +9556,17 @@
9555
9556
  },
9556
9557
  "hasDynamicHelp": false,
9557
9558
  "hiddenAliases": [],
9558
- "id": "telemetry:status",
9559
+ "id": "terminal:title",
9559
9560
  "pluginAlias": "@proletariat/cli",
9560
9561
  "pluginName": "@proletariat/cli",
9561
9562
  "pluginType": "core",
9562
9563
  "strict": true,
9563
- "enableJsonFlag": false,
9564
9564
  "isESM": true,
9565
9565
  "relativePath": [
9566
9566
  "dist",
9567
9567
  "commands",
9568
- "telemetry",
9569
- "status.js"
9568
+ "terminal",
9569
+ "title.js"
9570
9570
  ]
9571
9571
  },
9572
9572
  "theme:add-names": {
@@ -9802,32 +9802,30 @@
9802
9802
  "set.js"
9803
9803
  ]
9804
9804
  },
9805
- "ticket:create": {
9805
+ "tools:add": {
9806
9806
  "aliases": [],
9807
- "args": {},
9808
- "description": "Create a new ticket (routes to Linear when configured, or local PMO)",
9807
+ "args": {
9808
+ "type": {
9809
+ "description": "Tool type (mcp or cli)",
9810
+ "name": "type",
9811
+ "options": [
9812
+ "mcp",
9813
+ "cli"
9814
+ ],
9815
+ "required": true
9816
+ },
9817
+ "name": {
9818
+ "description": "Tool name (unique identifier)",
9819
+ "name": "name",
9820
+ "required": true
9821
+ }
9822
+ },
9823
+ "description": "Register an MCP server or CLI tool",
9809
9824
  "examples": [
9810
- "<%= config.bin %> <%= command.id %>",
9811
- "<%= config.bin %> <%= command.id %> --title \"Fix login bug\" --column Backlog",
9812
- "<%= config.bin %> <%= command.id %> -t \"Add feature\" -c \"In Progress\" -p P1",
9813
- "<%= config.bin %> <%= command.id %> --project mobile-app -t \"New feature\"",
9814
- "<%= config.bin %> <%= command.id %> --epic EPIC-001 -t \"Implement auth flow\"",
9815
- "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file ./ticket-desc.md",
9816
- "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file - # Read from stdin",
9817
- "<%= config.bin %> <%= command.id %> --json # Output column choices as JSON",
9818
- "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating",
9819
- "<%= config.bin %> <%= command.id %> --source linear -t \"Fix bug\" --team ENG",
9820
- "<%= config.bin %> <%= command.id %> --source pmo -t \"Local task\" -c Backlog"
9825
+ "<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description \"Arcade integrations\"",
9826
+ "<%= config.bin %> tools add cli gh --command gh --detect \"which gh\" --install \"brew install gh\" --description \"GitHub CLI\""
9821
9827
  ],
9822
9828
  "flags": {
9823
- "project": {
9824
- "char": "P",
9825
- "description": "Project ID (uses first project if only one exists)",
9826
- "name": "project",
9827
- "hasDynamicHelp": false,
9828
- "multiple": false,
9829
- "type": "option"
9830
- },
9831
9829
  "json": {
9832
9830
  "description": "Output as JSON for AI agents/scripts",
9833
9831
  "name": "json",
@@ -9841,119 +9839,46 @@
9841
9839
  "allowNo": false,
9842
9840
  "type": "boolean"
9843
9841
  },
9844
- "title": {
9845
- "char": "t",
9846
- "description": "Ticket title [required for non-interactive]",
9847
- "name": "title",
9848
- "hasDynamicHelp": false,
9849
- "multiple": false,
9850
- "type": "option"
9851
- },
9852
- "column": {
9853
- "char": "c",
9854
- "description": "Column to place the ticket in",
9855
- "name": "column",
9842
+ "url": {
9843
+ "description": "MCP server URL (for remote servers)",
9844
+ "name": "url",
9856
9845
  "hasDynamicHelp": false,
9857
9846
  "multiple": false,
9858
9847
  "type": "option"
9859
9848
  },
9860
- "priority": {
9861
- "char": "p",
9862
- "description": "Ticket priority (uses workspace priority scale)",
9863
- "name": "priority",
9849
+ "command": {
9850
+ "description": "Command to run (MCP server command or CLI tool binary)",
9851
+ "name": "command",
9864
9852
  "hasDynamicHelp": false,
9865
9853
  "multiple": false,
9866
9854
  "type": "option"
9867
9855
  },
9868
- "category": {
9869
- "description": "Ticket category (e.g., bug, feature, refactor)",
9870
- "name": "category",
9856
+ "auth": {
9857
+ "description": "Environment variable for authentication (e.g., ARCADE_API_KEY)",
9858
+ "name": "auth",
9871
9859
  "hasDynamicHelp": false,
9872
9860
  "multiple": false,
9873
9861
  "type": "option"
9874
9862
  },
9875
- "description": {
9876
- "char": "d",
9877
- "description": "Ticket description",
9878
- "name": "description",
9863
+ "detect": {
9864
+ "description": "Shell command to detect if CLI tool is installed",
9865
+ "name": "detect",
9879
9866
  "hasDynamicHelp": false,
9880
9867
  "multiple": false,
9881
9868
  "type": "option"
9882
9869
  },
9883
- "description-file": {
9884
- "char": "D",
9885
- "description": "Path to a markdown file for the ticket description (use - for stdin)",
9886
- "exclusive": [
9887
- "description"
9888
- ],
9889
- "name": "description-file",
9870
+ "install": {
9871
+ "description": "Shell command to install the CLI tool",
9872
+ "name": "install",
9890
9873
  "hasDynamicHelp": false,
9891
9874
  "multiple": false,
9892
9875
  "type": "option"
9893
9876
  },
9894
- "id": {
9895
- "description": "Custom ticket ID (auto-generated if not provided)",
9896
- "name": "id",
9897
- "hasDynamicHelp": false,
9898
- "multiple": false,
9899
- "type": "option"
9900
- },
9901
- "interactive": {
9902
- "char": "i",
9903
- "description": "Interactive mode",
9904
- "name": "interactive",
9905
- "allowNo": false,
9906
- "type": "boolean"
9907
- },
9908
- "epic": {
9909
- "char": "e",
9910
- "description": "Link ticket to an epic (e.g., EPIC-001)",
9911
- "name": "epic",
9912
- "hasDynamicHelp": false,
9913
- "multiple": false,
9914
- "type": "option"
9915
- },
9916
- "template": {
9917
- "char": "T",
9918
- "description": "Create from a template (e.g., bug-report, feature-request)",
9919
- "name": "template",
9920
- "hasDynamicHelp": false,
9921
- "multiple": false,
9922
- "type": "option"
9923
- },
9924
- "labels": {
9925
- "aliases": [
9926
- "label"
9927
- ],
9928
- "char": "l",
9929
- "description": "Labels (comma-separated)",
9930
- "name": "labels",
9931
- "hasDynamicHelp": false,
9932
- "multiple": false,
9933
- "type": "option"
9934
- },
9935
- "dry-run": {
9936
- "description": "Validate inputs without creating ticket (use with --json for structured output)",
9937
- "name": "dry-run",
9938
- "allowNo": false,
9939
- "type": "boolean"
9940
- },
9941
- "source": {
9942
- "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
9943
- "name": "source",
9944
- "default": "auto",
9945
- "hasDynamicHelp": false,
9946
- "multiple": false,
9947
- "options": [
9948
- "auto",
9949
- "pmo",
9950
- "linear"
9951
- ],
9952
- "type": "option"
9953
- },
9954
- "team": {
9955
- "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
9956
- "name": "team",
9877
+ "description": {
9878
+ "char": "d",
9879
+ "description": "Human-readable description",
9880
+ "name": "description",
9881
+ "required": true,
9957
9882
  "hasDynamicHelp": false,
9958
9883
  "multiple": false,
9959
9884
  "type": "option"
@@ -9961,7 +9886,7 @@
9961
9886
  },
9962
9887
  "hasDynamicHelp": false,
9963
9888
  "hiddenAliases": [],
9964
- "id": "ticket:create",
9889
+ "id": "tools:add",
9965
9890
  "pluginAlias": "@proletariat/cli",
9966
9891
  "pluginName": "@proletariat/cli",
9967
9892
  "pluginType": "core",
@@ -9970,36 +9895,19 @@
9970
9895
  "relativePath": [
9971
9896
  "dist",
9972
9897
  "commands",
9973
- "ticket",
9974
- "create.js"
9898
+ "tools",
9899
+ "add.js"
9975
9900
  ]
9976
9901
  },
9977
- "ticket:delete": {
9902
+ "tools:check": {
9978
9903
  "aliases": [],
9979
- "args": {
9980
- "ticketId": {
9981
- "description": "Ticket ID to delete - prompts with dropdown if not provided",
9982
- "name": "ticketId",
9983
- "required": false
9984
- }
9985
- },
9986
- "description": "Delete ticket(s) permanently",
9904
+ "args": {},
9905
+ "description": "Verify all registered tools are available and healthy",
9987
9906
  "examples": [
9988
- "<%= config.bin %> <%= command.id %> TICK-001",
9989
- "<%= config.bin %> <%= command.id %> TICK-001 --force",
9990
- "<%= config.bin %> <%= command.id %> # Interactive mode",
9991
- "<%= config.bin %> <%= command.id %> --bulk",
9992
- "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
9907
+ "<%= config.bin %> tools check",
9908
+ "<%= config.bin %> tools check --json"
9993
9909
  ],
9994
9910
  "flags": {
9995
- "project": {
9996
- "char": "P",
9997
- "description": "Project ID (uses first project if only one exists)",
9998
- "name": "project",
9999
- "hasDynamicHelp": false,
10000
- "multiple": false,
10001
- "type": "option"
10002
- },
10003
9911
  "json": {
10004
9912
  "description": "Output as JSON for AI agents/scripts",
10005
9913
  "name": "json",
@@ -10012,64 +9920,34 @@
10012
9920
  "name": "machine",
10013
9921
  "allowNo": false,
10014
9922
  "type": "boolean"
10015
- },
10016
- "force": {
10017
- "char": "f",
10018
- "description": "Skip confirmation prompt",
10019
- "name": "force",
10020
- "allowNo": false,
10021
- "type": "boolean"
10022
- },
10023
- "bulk": {
10024
- "char": "b",
10025
- "description": "Enable bulk mode to delete multiple tickets",
10026
- "name": "bulk",
10027
- "allowNo": false,
10028
- "type": "boolean"
10029
9923
  }
10030
9924
  },
10031
9925
  "hasDynamicHelp": false,
10032
9926
  "hiddenAliases": [],
10033
- "id": "ticket:delete",
9927
+ "id": "tools:check",
10034
9928
  "pluginAlias": "@proletariat/cli",
10035
9929
  "pluginName": "@proletariat/cli",
10036
9930
  "pluginType": "core",
10037
9931
  "strict": true,
9932
+ "enableJsonFlag": false,
10038
9933
  "isESM": true,
10039
9934
  "relativePath": [
10040
9935
  "dist",
10041
9936
  "commands",
10042
- "ticket",
10043
- "delete.js"
9937
+ "tools",
9938
+ "check.js"
10044
9939
  ]
10045
9940
  },
10046
- "ticket:edit": {
9941
+ "tools:detect": {
10047
9942
  "aliases": [],
10048
- "args": {
10049
- "ticketId": {
10050
- "description": "Ticket ID to edit - prompts with dropdown if not provided",
10051
- "name": "ticketId",
10052
- "required": false
10053
- }
10054
- },
10055
- "description": "Edit an existing ticket",
9943
+ "args": {},
9944
+ "description": "Auto-detect common CLI tools on the system and register them",
10056
9945
  "examples": [
10057
- "<%= config.bin %> <%= command.id %> TICK-001",
10058
- "<%= config.bin %> <%= command.id %> TICK-001 --title \"New title\"",
10059
- "<%= config.bin %> <%= command.id %> TICK-001 --priority P1 --category bug",
10060
- "<%= config.bin %> <%= command.id %> TICK-001 --add-subtask \"Implement feature\" --add-subtask \"Write tests\"",
10061
- "<%= config.bin %> <%= command.id %> TICK-001 --owner \"john\" --assignee \"agent-1\"",
10062
- "<%= config.bin %> <%= command.id %> # Interactive mode"
9946
+ "<%= config.bin %> tools detect",
9947
+ "<%= config.bin %> tools detect --auto",
9948
+ "<%= config.bin %> tools detect --json"
10063
9949
  ],
10064
9950
  "flags": {
10065
- "project": {
10066
- "char": "P",
10067
- "description": "Project ID (uses first project if only one exists)",
10068
- "name": "project",
10069
- "hasDynamicHelp": false,
10070
- "multiple": false,
10071
- "type": "option"
10072
- },
10073
9951
  "json": {
10074
9952
  "description": "Output as JSON for AI agents/scripts",
10075
9953
  "name": "json",
@@ -10083,122 +9961,83 @@
10083
9961
  "allowNo": false,
10084
9962
  "type": "boolean"
10085
9963
  },
10086
- "title": {
10087
- "char": "t",
10088
- "description": "New ticket title",
10089
- "name": "title",
10090
- "hasDynamicHelp": false,
10091
- "multiple": false,
10092
- "type": "option"
10093
- },
10094
- "description": {
10095
- "char": "d",
10096
- "description": "New ticket description",
10097
- "name": "description",
10098
- "hasDynamicHelp": false,
10099
- "multiple": false,
10100
- "type": "option"
10101
- },
10102
- "priority": {
10103
- "char": "p",
10104
- "description": "New ticket priority (uses workspace priority scale, \"none\" to clear)",
10105
- "name": "priority",
10106
- "hasDynamicHelp": false,
10107
- "multiple": false,
10108
- "type": "option"
10109
- },
10110
- "category": {
10111
- "description": "New ticket category",
10112
- "name": "category",
10113
- "hasDynamicHelp": false,
10114
- "multiple": false,
10115
- "type": "option"
10116
- },
10117
- "owner": {
10118
- "char": "o",
10119
- "description": "Ticket owner (human responsible)",
10120
- "name": "owner",
10121
- "hasDynamicHelp": false,
10122
- "multiple": false,
10123
- "type": "option"
10124
- },
10125
- "assignee": {
10126
- "char": "a",
10127
- "description": "Ticket assignee (who executes)",
10128
- "name": "assignee",
10129
- "hasDynamicHelp": false,
10130
- "multiple": false,
10131
- "type": "option"
10132
- },
10133
- "add-subtask": {
10134
- "description": "Add a subtask (can be used multiple times)",
10135
- "name": "add-subtask",
10136
- "hasDynamicHelp": false,
10137
- "multiple": true,
10138
- "type": "option"
10139
- },
10140
- "clear-subtasks": {
10141
- "description": "Clear all existing subtasks before adding new ones",
10142
- "name": "clear-subtasks",
9964
+ "auto": {
9965
+ "description": "Automatically register all detected tools without prompting",
9966
+ "name": "auto",
10143
9967
  "allowNo": false,
10144
9968
  "type": "boolean"
10145
- },
10146
- "add-label": {
10147
- "description": "Add a label (can be used multiple times)",
10148
- "name": "add-label",
10149
- "hasDynamicHelp": false,
10150
- "multiple": true,
10151
- "type": "option"
10152
- },
10153
- "remove-label": {
10154
- "description": "Remove a label",
10155
- "name": "remove-label",
10156
- "hasDynamicHelp": false,
10157
- "multiple": true,
10158
- "type": "option"
10159
- },
10160
- "add-ac": {
10161
- "description": "Add an acceptance criterion (can be used multiple times)",
10162
- "name": "add-ac",
10163
- "hasDynamicHelp": false,
10164
- "multiple": true,
10165
- "type": "option"
10166
- },
10167
- "clear-ac": {
10168
- "description": "Clear all existing acceptance criteria before adding new ones",
10169
- "name": "clear-ac",
9969
+ }
9970
+ },
9971
+ "hasDynamicHelp": false,
9972
+ "hiddenAliases": [],
9973
+ "id": "tools:detect",
9974
+ "pluginAlias": "@proletariat/cli",
9975
+ "pluginName": "@proletariat/cli",
9976
+ "pluginType": "core",
9977
+ "strict": true,
9978
+ "enableJsonFlag": false,
9979
+ "isESM": true,
9980
+ "relativePath": [
9981
+ "dist",
9982
+ "commands",
9983
+ "tools",
9984
+ "detect.js"
9985
+ ]
9986
+ },
9987
+ "tools": {
9988
+ "aliases": [
9989
+ "tools:list"
9990
+ ],
9991
+ "args": {},
9992
+ "description": "Show all registered MCP servers and CLI tools",
9993
+ "examples": [
9994
+ "<%= config.bin %> tools",
9995
+ "<%= config.bin %> tools --json"
9996
+ ],
9997
+ "flags": {
9998
+ "json": {
9999
+ "description": "Output as JSON for AI agents/scripts",
10000
+ "name": "json",
10170
10001
  "allowNo": false,
10171
10002
  "type": "boolean"
10172
10003
  },
10173
- "interactive": {
10174
- "char": "i",
10175
- "description": "Interactive mode - prompts for all fields",
10176
- "name": "interactive",
10004
+ "machine": {
10005
+ "char": "m",
10006
+ "description": "Output as JSON for AI agents/scripts",
10007
+ "name": "machine",
10177
10008
  "allowNo": false,
10178
10009
  "type": "boolean"
10179
10010
  }
10180
10011
  },
10181
10012
  "hasDynamicHelp": false,
10182
10013
  "hiddenAliases": [],
10183
- "id": "ticket:edit",
10014
+ "id": "tools",
10184
10015
  "pluginAlias": "@proletariat/cli",
10185
10016
  "pluginName": "@proletariat/cli",
10186
10017
  "pluginType": "core",
10187
10018
  "strict": true,
10019
+ "enableJsonFlag": false,
10188
10020
  "isESM": true,
10189
10021
  "relativePath": [
10190
10022
  "dist",
10191
10023
  "commands",
10192
- "ticket",
10193
- "edit.js"
10024
+ "tools",
10025
+ "index.js"
10194
10026
  ]
10195
10027
  },
10196
- "ticket": {
10028
+ "tools:remove": {
10197
10029
  "aliases": [],
10198
- "args": {},
10199
- "description": "Interactive menu for ticket operations",
10030
+ "args": {
10031
+ "name": {
10032
+ "description": "Tool name to remove",
10033
+ "name": "name",
10034
+ "required": true
10035
+ }
10036
+ },
10037
+ "description": "Remove a tool from the registry",
10200
10038
  "examples": [
10201
- "<%= config.bin %> <%= command.id %>"
10039
+ "<%= config.bin %> tools remove arcade",
10040
+ "<%= config.bin %> tools remove ffmpeg"
10202
10041
  ],
10203
10042
  "flags": {
10204
10043
  "json": {
@@ -10217,35 +10056,36 @@
10217
10056
  },
10218
10057
  "hasDynamicHelp": false,
10219
10058
  "hiddenAliases": [],
10220
- "id": "ticket",
10059
+ "id": "tools:remove",
10221
10060
  "pluginAlias": "@proletariat/cli",
10222
10061
  "pluginName": "@proletariat/cli",
10223
10062
  "pluginType": "core",
10224
10063
  "strict": true,
10064
+ "enableJsonFlag": false,
10225
10065
  "isESM": true,
10226
10066
  "relativePath": [
10227
10067
  "dist",
10228
10068
  "commands",
10229
- "ticket",
10230
- "index.js"
10069
+ "tools",
10070
+ "remove.js"
10231
10071
  ]
10232
10072
  },
10233
- "ticket:list": {
10073
+ "ticket:create": {
10234
10074
  "aliases": [],
10235
10075
  "args": {},
10236
- "description": "List tickets from the PMO board",
10076
+ "description": "Create a new ticket (routes to Linear when configured, or local PMO)",
10237
10077
  "examples": [
10238
10078
  "<%= config.bin %> <%= command.id %>",
10239
- "<%= config.bin %> <%= command.id %> --column Backlog",
10240
- "<%= config.bin %> <%= command.id %> --priority P0",
10241
- "<%= config.bin %> <%= command.id %> --category bug",
10242
- "<%= config.bin %> <%= command.id %> --search \"login\"",
10243
- "<%= config.bin %> <%= command.id %> --project mobile-app",
10244
- "<%= config.bin %> <%= command.id %> --all",
10245
- "<%= config.bin %> <%= command.id %> --all --group-by priority",
10246
- "<%= config.bin %> <%= command.id %> -g priority",
10247
- "<%= config.bin %> <%= command.id %> --limit 10",
10248
- "<%= config.bin %> <%= command.id %> --limit 10 --offset 20"
10079
+ "<%= config.bin %> <%= command.id %> --title \"Fix login bug\" --column Backlog",
10080
+ "<%= config.bin %> <%= command.id %> -t \"Add feature\" -c \"In Progress\" -p P1",
10081
+ "<%= config.bin %> <%= command.id %> --project mobile-app -t \"New feature\"",
10082
+ "<%= config.bin %> <%= command.id %> --epic EPIC-001 -t \"Implement auth flow\"",
10083
+ "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file ./ticket-desc.md",
10084
+ "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file - # Read from stdin",
10085
+ "<%= config.bin %> <%= command.id %> --json # Output column choices as JSON",
10086
+ "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating",
10087
+ "<%= config.bin %> <%= command.id %> --source linear -t \"Fix bug\" --team ENG",
10088
+ "<%= config.bin %> <%= command.id %> --source pmo -t \"Local task\" -c Backlog"
10249
10089
  ],
10250
10090
  "flags": {
10251
10091
  "project": {
@@ -10269,9 +10109,17 @@
10269
10109
  "allowNo": false,
10270
10110
  "type": "boolean"
10271
10111
  },
10112
+ "title": {
10113
+ "char": "t",
10114
+ "description": "Ticket title [required for non-interactive]",
10115
+ "name": "title",
10116
+ "hasDynamicHelp": false,
10117
+ "multiple": false,
10118
+ "type": "option"
10119
+ },
10272
10120
  "column": {
10273
10121
  "char": "c",
10274
- "description": "Filter by column",
10122
+ "description": "Column to place the ticket in",
10275
10123
  "name": "column",
10276
10124
  "hasDynamicHelp": false,
10277
10125
  "multiple": false,
@@ -10279,82 +10127,84 @@
10279
10127
  },
10280
10128
  "priority": {
10281
10129
  "char": "p",
10282
- "description": "Filter by priority (uses workspace priority scale)",
10130
+ "description": "Ticket priority (uses workspace priority scale)",
10283
10131
  "name": "priority",
10284
10132
  "hasDynamicHelp": false,
10285
10133
  "multiple": false,
10286
10134
  "type": "option"
10287
10135
  },
10288
10136
  "category": {
10289
- "description": "Filter by category",
10137
+ "description": "Ticket category (e.g., bug, feature, refactor)",
10290
10138
  "name": "category",
10291
10139
  "hasDynamicHelp": false,
10292
10140
  "multiple": false,
10293
10141
  "type": "option"
10294
10142
  },
10295
- "search": {
10296
- "char": "s",
10297
- "description": "Search in title and description",
10298
- "name": "search",
10143
+ "description": {
10144
+ "char": "d",
10145
+ "description": "Ticket description",
10146
+ "name": "description",
10147
+ "hasDynamicHelp": false,
10148
+ "multiple": false,
10149
+ "type": "option"
10150
+ },
10151
+ "description-file": {
10152
+ "char": "D",
10153
+ "description": "Path to a markdown file for the ticket description (use - for stdin)",
10154
+ "exclusive": [
10155
+ "description"
10156
+ ],
10157
+ "name": "description-file",
10299
10158
  "hasDynamicHelp": false,
10300
10159
  "multiple": false,
10301
10160
  "type": "option"
10302
10161
  },
10303
- "format": {
10304
- "char": "f",
10305
- "description": "Output format",
10306
- "name": "format",
10307
- "default": "table",
10162
+ "id": {
10163
+ "description": "Custom ticket ID (auto-generated if not provided)",
10164
+ "name": "id",
10308
10165
  "hasDynamicHelp": false,
10309
10166
  "multiple": false,
10310
- "options": [
10311
- "table",
10312
- "compact",
10313
- "json"
10314
- ],
10315
10167
  "type": "option"
10316
10168
  },
10317
- "all": {
10318
- "char": "a",
10319
- "description": "Show tickets across all projects",
10320
- "name": "all",
10169
+ "interactive": {
10170
+ "char": "i",
10171
+ "description": "Interactive mode",
10172
+ "name": "interactive",
10321
10173
  "allowNo": false,
10322
10174
  "type": "boolean"
10323
10175
  },
10324
- "label": {
10325
- "description": "Filter by label name",
10326
- "name": "label",
10176
+ "epic": {
10177
+ "char": "e",
10178
+ "description": "Link ticket to an epic (e.g., EPIC-001)",
10179
+ "name": "epic",
10327
10180
  "hasDynamicHelp": false,
10328
10181
  "multiple": false,
10329
10182
  "type": "option"
10330
10183
  },
10331
- "group-by": {
10332
- "char": "g",
10333
- "description": "Group tickets by field",
10334
- "name": "group-by",
10335
- "default": "status",
10184
+ "template": {
10185
+ "char": "T",
10186
+ "description": "Create from a template (e.g., bug-report, feature-request)",
10187
+ "name": "template",
10336
10188
  "hasDynamicHelp": false,
10337
10189
  "multiple": false,
10338
- "options": [
10339
- "status",
10340
- "priority"
10341
- ],
10342
10190
  "type": "option"
10343
10191
  },
10344
- "limit": {
10192
+ "labels": {
10193
+ "aliases": [
10194
+ "label"
10195
+ ],
10345
10196
  "char": "l",
10346
- "description": "Maximum number of tickets to display",
10347
- "name": "limit",
10197
+ "description": "Labels (comma-separated)",
10198
+ "name": "labels",
10348
10199
  "hasDynamicHelp": false,
10349
10200
  "multiple": false,
10350
10201
  "type": "option"
10351
10202
  },
10352
- "offset": {
10353
- "description": "Skip first N tickets (for pagination)",
10354
- "name": "offset",
10355
- "hasDynamicHelp": false,
10356
- "multiple": false,
10357
- "type": "option"
10203
+ "dry-run": {
10204
+ "description": "Validate inputs without creating ticket (use with --json for structured output)",
10205
+ "name": "dry-run",
10206
+ "allowNo": false,
10207
+ "type": "boolean"
10358
10208
  },
10359
10209
  "source": {
10360
10210
  "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
@@ -10379,42 +10229,105 @@
10379
10229
  },
10380
10230
  "hasDynamicHelp": false,
10381
10231
  "hiddenAliases": [],
10382
- "id": "ticket:list",
10232
+ "id": "ticket:create",
10383
10233
  "pluginAlias": "@proletariat/cli",
10384
10234
  "pluginName": "@proletariat/cli",
10385
10235
  "pluginType": "core",
10386
10236
  "strict": true,
10387
- "enableJsonFlag": false,
10388
10237
  "isESM": true,
10389
10238
  "relativePath": [
10390
10239
  "dist",
10391
10240
  "commands",
10392
10241
  "ticket",
10393
- "list.js"
10242
+ "create.js"
10394
10243
  ]
10395
10244
  },
10396
- "ticket:move": {
10245
+ "ticket:delete": {
10397
10246
  "aliases": [],
10398
10247
  "args": {
10399
10248
  "ticketId": {
10400
- "description": "Ticket ID - prompts with dropdown if not provided",
10249
+ "description": "Ticket ID to delete - prompts with dropdown if not provided",
10401
10250
  "name": "ticketId",
10402
10251
  "required": false
10252
+ }
10253
+ },
10254
+ "description": "Delete ticket(s) permanently",
10255
+ "examples": [
10256
+ "<%= config.bin %> <%= command.id %> TICK-001",
10257
+ "<%= config.bin %> <%= command.id %> TICK-001 --force",
10258
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
10259
+ "<%= config.bin %> <%= command.id %> --bulk",
10260
+ "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
10261
+ ],
10262
+ "flags": {
10263
+ "project": {
10264
+ "char": "P",
10265
+ "description": "Project ID (uses first project if only one exists)",
10266
+ "name": "project",
10267
+ "hasDynamicHelp": false,
10268
+ "multiple": false,
10269
+ "type": "option"
10403
10270
  },
10404
- "column": {
10405
- "description": "Target column - prompts with dropdown if not provided",
10406
- "name": "column",
10271
+ "json": {
10272
+ "description": "Output as JSON for AI agents/scripts",
10273
+ "name": "json",
10274
+ "allowNo": false,
10275
+ "type": "boolean"
10276
+ },
10277
+ "machine": {
10278
+ "char": "m",
10279
+ "description": "Output as JSON for AI agents/scripts",
10280
+ "name": "machine",
10281
+ "allowNo": false,
10282
+ "type": "boolean"
10283
+ },
10284
+ "force": {
10285
+ "char": "f",
10286
+ "description": "Skip confirmation prompt",
10287
+ "name": "force",
10288
+ "allowNo": false,
10289
+ "type": "boolean"
10290
+ },
10291
+ "bulk": {
10292
+ "char": "b",
10293
+ "description": "Enable bulk mode to delete multiple tickets",
10294
+ "name": "bulk",
10295
+ "allowNo": false,
10296
+ "type": "boolean"
10297
+ }
10298
+ },
10299
+ "hasDynamicHelp": false,
10300
+ "hiddenAliases": [],
10301
+ "id": "ticket:delete",
10302
+ "pluginAlias": "@proletariat/cli",
10303
+ "pluginName": "@proletariat/cli",
10304
+ "pluginType": "core",
10305
+ "strict": true,
10306
+ "isESM": true,
10307
+ "relativePath": [
10308
+ "dist",
10309
+ "commands",
10310
+ "ticket",
10311
+ "delete.js"
10312
+ ]
10313
+ },
10314
+ "ticket:edit": {
10315
+ "aliases": [],
10316
+ "args": {
10317
+ "ticketId": {
10318
+ "description": "Ticket ID to edit - prompts with dropdown if not provided",
10319
+ "name": "ticketId",
10407
10320
  "required": false
10408
10321
  }
10409
10322
  },
10410
- "description": "Move ticket(s) to a different column",
10323
+ "description": "Edit an existing ticket",
10411
10324
  "examples": [
10412
- "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
10413
- "<%= config.bin %> <%= command.id %> implement-auth Done",
10414
- "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
10415
- "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
10416
- "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
10417
- "<%= config.bin %> <%= command.id %> --bulk"
10325
+ "<%= config.bin %> <%= command.id %> TICK-001",
10326
+ "<%= config.bin %> <%= command.id %> TICK-001 --title \"New title\"",
10327
+ "<%= config.bin %> <%= command.id %> TICK-001 --priority P1 --category bug",
10328
+ "<%= config.bin %> <%= command.id %> TICK-001 --add-subtask \"Implement feature\" --add-subtask \"Write tests\"",
10329
+ "<%= config.bin %> <%= command.id %> TICK-001 --owner \"john\" --assignee \"agent-1\"",
10330
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
10418
10331
  ],
10419
10332
  "flags": {
10420
10333
  "project": {
@@ -10438,52 +10351,104 @@
10438
10351
  "allowNo": false,
10439
10352
  "type": "boolean"
10440
10353
  },
10441
- "status": {
10442
- "char": "s",
10443
- "description": "Target status/column (alternative to positional column argument)",
10444
- "name": "status",
10354
+ "title": {
10355
+ "char": "t",
10356
+ "description": "New ticket title",
10357
+ "name": "title",
10445
10358
  "hasDynamicHelp": false,
10446
10359
  "multiple": false,
10447
10360
  "type": "option"
10448
10361
  },
10449
- "position": {
10450
- "description": "Position within the column (0 = top)",
10451
- "name": "position",
10362
+ "description": {
10363
+ "char": "d",
10364
+ "description": "New ticket description",
10365
+ "name": "description",
10452
10366
  "hasDynamicHelp": false,
10453
10367
  "multiple": false,
10454
10368
  "type": "option"
10455
10369
  },
10456
- "to-project": {
10457
- "description": "Move ticket to a different project (uses Backlog/default column)",
10458
- "name": "to-project",
10370
+ "priority": {
10371
+ "char": "p",
10372
+ "description": "New ticket priority (uses workspace priority scale, \"none\" to clear)",
10373
+ "name": "priority",
10459
10374
  "hasDynamicHelp": false,
10460
10375
  "multiple": false,
10461
10376
  "type": "option"
10462
10377
  },
10463
- "bulk": {
10464
- "char": "b",
10465
- "description": "Enable bulk mode to move multiple tickets",
10466
- "name": "bulk",
10378
+ "category": {
10379
+ "description": "New ticket category",
10380
+ "name": "category",
10381
+ "hasDynamicHelp": false,
10382
+ "multiple": false,
10383
+ "type": "option"
10384
+ },
10385
+ "owner": {
10386
+ "char": "o",
10387
+ "description": "Ticket owner (human responsible)",
10388
+ "name": "owner",
10389
+ "hasDynamicHelp": false,
10390
+ "multiple": false,
10391
+ "type": "option"
10392
+ },
10393
+ "assignee": {
10394
+ "char": "a",
10395
+ "description": "Ticket assignee (who executes)",
10396
+ "name": "assignee",
10397
+ "hasDynamicHelp": false,
10398
+ "multiple": false,
10399
+ "type": "option"
10400
+ },
10401
+ "add-subtask": {
10402
+ "description": "Add a subtask (can be used multiple times)",
10403
+ "name": "add-subtask",
10404
+ "hasDynamicHelp": false,
10405
+ "multiple": true,
10406
+ "type": "option"
10407
+ },
10408
+ "clear-subtasks": {
10409
+ "description": "Clear all existing subtasks before adding new ones",
10410
+ "name": "clear-subtasks",
10467
10411
  "allowNo": false,
10468
10412
  "type": "boolean"
10469
10413
  },
10470
- "force": {
10471
- "char": "f",
10472
- "description": "Skip confirmation prompt (bulk mode only)",
10473
- "name": "force",
10414
+ "add-label": {
10415
+ "description": "Add a label (can be used multiple times)",
10416
+ "name": "add-label",
10417
+ "hasDynamicHelp": false,
10418
+ "multiple": true,
10419
+ "type": "option"
10420
+ },
10421
+ "remove-label": {
10422
+ "description": "Remove a label",
10423
+ "name": "remove-label",
10424
+ "hasDynamicHelp": false,
10425
+ "multiple": true,
10426
+ "type": "option"
10427
+ },
10428
+ "add-ac": {
10429
+ "description": "Add an acceptance criterion (can be used multiple times)",
10430
+ "name": "add-ac",
10431
+ "hasDynamicHelp": false,
10432
+ "multiple": true,
10433
+ "type": "option"
10434
+ },
10435
+ "clear-ac": {
10436
+ "description": "Clear all existing acceptance criteria before adding new ones",
10437
+ "name": "clear-ac",
10474
10438
  "allowNo": false,
10475
10439
  "type": "boolean"
10476
10440
  },
10477
- "no-cleanup": {
10478
- "description": "Skip automatic worktree cleanup when moving to Done",
10479
- "name": "no-cleanup",
10441
+ "interactive": {
10442
+ "char": "i",
10443
+ "description": "Interactive mode - prompts for all fields",
10444
+ "name": "interactive",
10480
10445
  "allowNo": false,
10481
10446
  "type": "boolean"
10482
10447
  }
10483
10448
  },
10484
10449
  "hasDynamicHelp": false,
10485
10450
  "hiddenAliases": [],
10486
- "id": "ticket:move",
10451
+ "id": "ticket:edit",
10487
10452
  "pluginAlias": "@proletariat/cli",
10488
10453
  "pluginName": "@proletariat/cli",
10489
10454
  "pluginType": "core",
@@ -10493,32 +10458,17 @@
10493
10458
  "dist",
10494
10459
  "commands",
10495
10460
  "ticket",
10496
- "move.js"
10461
+ "edit.js"
10497
10462
  ]
10498
10463
  },
10499
- "ticket:show": {
10464
+ "ticket": {
10500
10465
  "aliases": [],
10501
- "args": {
10502
- "ticketId": {
10503
- "description": "Ticket ID to view - prompts with dropdown if not provided",
10504
- "name": "ticketId",
10505
- "required": false
10506
- }
10507
- },
10508
- "description": "View detailed ticket information",
10466
+ "args": {},
10467
+ "description": "Interactive menu for ticket operations",
10509
10468
  "examples": [
10510
- "<%= config.bin %> <%= command.id %> TICK-001",
10511
- "<%= config.bin %> <%= command.id %> # Interactive mode"
10469
+ "<%= config.bin %> <%= command.id %>"
10512
10470
  ],
10513
10471
  "flags": {
10514
- "project": {
10515
- "char": "P",
10516
- "description": "Project ID (uses first project if only one exists)",
10517
- "name": "project",
10518
- "hasDynamicHelp": false,
10519
- "multiple": false,
10520
- "type": "option"
10521
- },
10522
10472
  "json": {
10523
10473
  "description": "Output as JSON for AI agents/scripts",
10524
10474
  "name": "json",
@@ -10535,7 +10485,7 @@
10535
10485
  },
10536
10486
  "hasDynamicHelp": false,
10537
10487
  "hiddenAliases": [],
10538
- "id": "ticket:show",
10488
+ "id": "ticket",
10539
10489
  "pluginAlias": "@proletariat/cli",
10540
10490
  "pluginName": "@proletariat/cli",
10541
10491
  "pluginType": "core",
@@ -10545,29 +10495,25 @@
10545
10495
  "dist",
10546
10496
  "commands",
10547
10497
  "ticket",
10548
- "show.js"
10498
+ "index.js"
10549
10499
  ]
10550
10500
  },
10551
- "ticket:update": {
10501
+ "ticket:list": {
10552
10502
  "aliases": [],
10553
- "args": {
10554
- "ticketId": {
10555
- "description": "Ticket ID - prompts with dropdown if not provided",
10556
- "name": "ticketId",
10557
- "required": false
10558
- }
10559
- },
10560
- "description": "Update ticket fields (title, description, priority, category, labels, status)",
10503
+ "args": {},
10504
+ "description": "List tickets from the PMO board",
10561
10505
  "examples": [
10562
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
10563
- "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
10564
- "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
10565
- "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
10566
- "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
10567
- "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
10568
- "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
10569
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
10570
- "<%= config.bin %> <%= command.id %> --bulk --priority P1"
10506
+ "<%= config.bin %> <%= command.id %>",
10507
+ "<%= config.bin %> <%= command.id %> --column Backlog",
10508
+ "<%= config.bin %> <%= command.id %> --priority P0",
10509
+ "<%= config.bin %> <%= command.id %> --category bug",
10510
+ "<%= config.bin %> <%= command.id %> --search \"login\"",
10511
+ "<%= config.bin %> <%= command.id %> --project mobile-app",
10512
+ "<%= config.bin %> <%= command.id %> --all",
10513
+ "<%= config.bin %> <%= command.id %> --all --group-by priority",
10514
+ "<%= config.bin %> <%= command.id %> -g priority",
10515
+ "<%= config.bin %> <%= command.id %> --limit 10",
10516
+ "<%= config.bin %> <%= command.id %> --limit 10 --offset 20"
10571
10517
  ],
10572
10518
  "flags": {
10573
10519
  "project": {
@@ -10591,214 +10537,117 @@
10591
10537
  "allowNo": false,
10592
10538
  "type": "boolean"
10593
10539
  },
10594
- "title": {
10595
- "char": "t",
10596
- "description": "Set ticket title",
10597
- "name": "title",
10598
- "hasDynamicHelp": false,
10599
- "multiple": false,
10600
- "type": "option"
10601
- },
10602
- "description": {
10603
- "char": "d",
10604
- "description": "Set ticket description",
10605
- "name": "description",
10606
- "hasDynamicHelp": false,
10607
- "multiple": false,
10608
- "type": "option"
10609
- },
10610
- "description-file": {
10611
- "description": "Read ticket description from a file",
10612
- "name": "description-file",
10540
+ "column": {
10541
+ "char": "c",
10542
+ "description": "Filter by column",
10543
+ "name": "column",
10613
10544
  "hasDynamicHelp": false,
10614
10545
  "multiple": false,
10615
10546
  "type": "option"
10616
10547
  },
10617
10548
  "priority": {
10618
10549
  "char": "p",
10619
- "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
10550
+ "description": "Filter by priority (uses workspace priority scale)",
10620
10551
  "name": "priority",
10621
10552
  "hasDynamicHelp": false,
10622
10553
  "multiple": false,
10623
10554
  "type": "option"
10624
10555
  },
10625
10556
  "category": {
10626
- "char": "c",
10627
- "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
10557
+ "description": "Filter by category",
10628
10558
  "name": "category",
10629
10559
  "hasDynamicHelp": false,
10630
10560
  "multiple": false,
10631
10561
  "type": "option"
10632
10562
  },
10633
- "labels": {
10634
- "char": "l",
10635
- "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
10636
- "name": "labels",
10637
- "hasDynamicHelp": false,
10638
- "multiple": false,
10639
- "type": "option"
10640
- },
10641
- "status": {
10563
+ "search": {
10642
10564
  "char": "s",
10643
- "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
10644
- "name": "status",
10565
+ "description": "Search in title and description",
10566
+ "name": "search",
10645
10567
  "hasDynamicHelp": false,
10646
10568
  "multiple": false,
10647
10569
  "type": "option"
10648
10570
  },
10649
- "bulk": {
10650
- "char": "b",
10651
- "description": "Enable bulk mode to update multiple tickets",
10652
- "name": "bulk",
10653
- "allowNo": false,
10654
- "type": "boolean"
10655
- },
10656
- "force": {
10571
+ "format": {
10657
10572
  "char": "f",
10658
- "description": "Skip confirmation prompt",
10659
- "name": "force",
10660
- "allowNo": false,
10661
- "type": "boolean"
10662
- }
10663
- },
10664
- "hasDynamicHelp": false,
10665
- "hiddenAliases": [],
10666
- "id": "ticket:update",
10667
- "pluginAlias": "@proletariat/cli",
10668
- "pluginName": "@proletariat/cli",
10669
- "pluginType": "core",
10670
- "strict": true,
10671
- "isESM": true,
10672
- "relativePath": [
10673
- "dist",
10674
- "commands",
10675
- "ticket",
10676
- "update.js"
10677
- ]
10678
- },
10679
- "tools:add": {
10680
- "aliases": [],
10681
- "args": {
10682
- "type": {
10683
- "description": "Tool type (mcp or cli)",
10684
- "name": "type",
10573
+ "description": "Output format",
10574
+ "name": "format",
10575
+ "default": "table",
10576
+ "hasDynamicHelp": false,
10577
+ "multiple": false,
10685
10578
  "options": [
10686
- "mcp",
10687
- "cli"
10579
+ "table",
10580
+ "compact",
10581
+ "json"
10688
10582
  ],
10689
- "required": true
10690
- },
10691
- "name": {
10692
- "description": "Tool name (unique identifier)",
10693
- "name": "name",
10694
- "required": true
10695
- }
10696
- },
10697
- "description": "Register an MCP server or CLI tool",
10698
- "examples": [
10699
- "<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description \"Arcade integrations\"",
10700
- "<%= config.bin %> tools add cli gh --command gh --detect \"which gh\" --install \"brew install gh\" --description \"GitHub CLI\""
10701
- ],
10702
- "flags": {
10703
- "json": {
10704
- "description": "Output as JSON for AI agents/scripts",
10705
- "name": "json",
10706
- "allowNo": false,
10707
- "type": "boolean"
10583
+ "type": "option"
10708
10584
  },
10709
- "machine": {
10710
- "char": "m",
10711
- "description": "Output as JSON for AI agents/scripts",
10712
- "name": "machine",
10585
+ "all": {
10586
+ "char": "a",
10587
+ "description": "Show tickets across all projects",
10588
+ "name": "all",
10713
10589
  "allowNo": false,
10714
10590
  "type": "boolean"
10715
10591
  },
10716
- "url": {
10717
- "description": "MCP server URL (for remote servers)",
10718
- "name": "url",
10719
- "hasDynamicHelp": false,
10720
- "multiple": false,
10721
- "type": "option"
10722
- },
10723
- "command": {
10724
- "description": "Command to run (MCP server command or CLI tool binary)",
10725
- "name": "command",
10726
- "hasDynamicHelp": false,
10727
- "multiple": false,
10728
- "type": "option"
10729
- },
10730
- "auth": {
10731
- "description": "Environment variable for authentication (e.g., ARCADE_API_KEY)",
10732
- "name": "auth",
10592
+ "label": {
10593
+ "description": "Filter by label name",
10594
+ "name": "label",
10733
10595
  "hasDynamicHelp": false,
10734
10596
  "multiple": false,
10735
10597
  "type": "option"
10736
10598
  },
10737
- "detect": {
10738
- "description": "Shell command to detect if CLI tool is installed",
10739
- "name": "detect",
10599
+ "group-by": {
10600
+ "char": "g",
10601
+ "description": "Group tickets by field",
10602
+ "name": "group-by",
10603
+ "default": "status",
10740
10604
  "hasDynamicHelp": false,
10741
10605
  "multiple": false,
10606
+ "options": [
10607
+ "status",
10608
+ "priority"
10609
+ ],
10742
10610
  "type": "option"
10743
10611
  },
10744
- "install": {
10745
- "description": "Shell command to install the CLI tool",
10746
- "name": "install",
10612
+ "limit": {
10613
+ "char": "l",
10614
+ "description": "Maximum number of tickets to display",
10615
+ "name": "limit",
10747
10616
  "hasDynamicHelp": false,
10748
10617
  "multiple": false,
10749
10618
  "type": "option"
10750
10619
  },
10751
- "description": {
10752
- "char": "d",
10753
- "description": "Human-readable description",
10754
- "name": "description",
10755
- "required": true,
10620
+ "offset": {
10621
+ "description": "Skip first N tickets (for pagination)",
10622
+ "name": "offset",
10756
10623
  "hasDynamicHelp": false,
10757
10624
  "multiple": false,
10758
10625
  "type": "option"
10759
- }
10760
- },
10761
- "hasDynamicHelp": false,
10762
- "hiddenAliases": [],
10763
- "id": "tools:add",
10764
- "pluginAlias": "@proletariat/cli",
10765
- "pluginName": "@proletariat/cli",
10766
- "pluginType": "core",
10767
- "strict": true,
10768
- "isESM": true,
10769
- "relativePath": [
10770
- "dist",
10771
- "commands",
10772
- "tools",
10773
- "add.js"
10774
- ]
10775
- },
10776
- "tools:check": {
10777
- "aliases": [],
10778
- "args": {},
10779
- "description": "Verify all registered tools are available and healthy",
10780
- "examples": [
10781
- "<%= config.bin %> tools check",
10782
- "<%= config.bin %> tools check --json"
10783
- ],
10784
- "flags": {
10785
- "json": {
10786
- "description": "Output as JSON for AI agents/scripts",
10787
- "name": "json",
10788
- "allowNo": false,
10789
- "type": "boolean"
10790
10626
  },
10791
- "machine": {
10792
- "char": "m",
10793
- "description": "Output as JSON for AI agents/scripts",
10794
- "name": "machine",
10795
- "allowNo": false,
10796
- "type": "boolean"
10627
+ "source": {
10628
+ "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
10629
+ "name": "source",
10630
+ "default": "auto",
10631
+ "hasDynamicHelp": false,
10632
+ "multiple": false,
10633
+ "options": [
10634
+ "auto",
10635
+ "pmo",
10636
+ "linear"
10637
+ ],
10638
+ "type": "option"
10639
+ },
10640
+ "team": {
10641
+ "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
10642
+ "name": "team",
10643
+ "hasDynamicHelp": false,
10644
+ "multiple": false,
10645
+ "type": "option"
10797
10646
  }
10798
10647
  },
10799
10648
  "hasDynamicHelp": false,
10800
10649
  "hiddenAliases": [],
10801
- "id": "tools:check",
10650
+ "id": "ticket:list",
10802
10651
  "pluginAlias": "@proletariat/cli",
10803
10652
  "pluginName": "@proletariat/cli",
10804
10653
  "pluginType": "core",
@@ -10808,20 +10657,42 @@
10808
10657
  "relativePath": [
10809
10658
  "dist",
10810
10659
  "commands",
10811
- "tools",
10812
- "check.js"
10660
+ "ticket",
10661
+ "list.js"
10813
10662
  ]
10814
10663
  },
10815
- "tools:detect": {
10664
+ "ticket:move": {
10816
10665
  "aliases": [],
10817
- "args": {},
10818
- "description": "Auto-detect common CLI tools on the system and register them",
10666
+ "args": {
10667
+ "ticketId": {
10668
+ "description": "Ticket ID - prompts with dropdown if not provided",
10669
+ "name": "ticketId",
10670
+ "required": false
10671
+ },
10672
+ "column": {
10673
+ "description": "Target column - prompts with dropdown if not provided",
10674
+ "name": "column",
10675
+ "required": false
10676
+ }
10677
+ },
10678
+ "description": "Move ticket(s) to a different column",
10819
10679
  "examples": [
10820
- "<%= config.bin %> tools detect",
10821
- "<%= config.bin %> tools detect --auto",
10822
- "<%= config.bin %> tools detect --json"
10680
+ "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
10681
+ "<%= config.bin %> <%= command.id %> implement-auth Done",
10682
+ "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
10683
+ "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
10684
+ "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
10685
+ "<%= config.bin %> <%= command.id %> --bulk"
10823
10686
  ],
10824
10687
  "flags": {
10688
+ "project": {
10689
+ "char": "P",
10690
+ "description": "Project ID (uses first project if only one exists)",
10691
+ "name": "project",
10692
+ "hasDynamicHelp": false,
10693
+ "multiple": false,
10694
+ "type": "option"
10695
+ },
10825
10696
  "json": {
10826
10697
  "description": "Output as JSON for AI agents/scripts",
10827
10698
  "name": "json",
@@ -10835,40 +10706,87 @@
10835
10706
  "allowNo": false,
10836
10707
  "type": "boolean"
10837
10708
  },
10838
- "auto": {
10839
- "description": "Automatically register all detected tools without prompting",
10840
- "name": "auto",
10709
+ "status": {
10710
+ "char": "s",
10711
+ "description": "Target status/column (alternative to positional column argument)",
10712
+ "name": "status",
10713
+ "hasDynamicHelp": false,
10714
+ "multiple": false,
10715
+ "type": "option"
10716
+ },
10717
+ "position": {
10718
+ "description": "Position within the column (0 = top)",
10719
+ "name": "position",
10720
+ "hasDynamicHelp": false,
10721
+ "multiple": false,
10722
+ "type": "option"
10723
+ },
10724
+ "to-project": {
10725
+ "description": "Move ticket to a different project (uses Backlog/default column)",
10726
+ "name": "to-project",
10727
+ "hasDynamicHelp": false,
10728
+ "multiple": false,
10729
+ "type": "option"
10730
+ },
10731
+ "bulk": {
10732
+ "char": "b",
10733
+ "description": "Enable bulk mode to move multiple tickets",
10734
+ "name": "bulk",
10735
+ "allowNo": false,
10736
+ "type": "boolean"
10737
+ },
10738
+ "force": {
10739
+ "char": "f",
10740
+ "description": "Skip confirmation prompt (bulk mode only)",
10741
+ "name": "force",
10742
+ "allowNo": false,
10743
+ "type": "boolean"
10744
+ },
10745
+ "no-cleanup": {
10746
+ "description": "Skip automatic worktree cleanup when moving to Done",
10747
+ "name": "no-cleanup",
10841
10748
  "allowNo": false,
10842
10749
  "type": "boolean"
10843
10750
  }
10844
10751
  },
10845
10752
  "hasDynamicHelp": false,
10846
10753
  "hiddenAliases": [],
10847
- "id": "tools:detect",
10754
+ "id": "ticket:move",
10848
10755
  "pluginAlias": "@proletariat/cli",
10849
10756
  "pluginName": "@proletariat/cli",
10850
10757
  "pluginType": "core",
10851
10758
  "strict": true,
10852
- "enableJsonFlag": false,
10853
10759
  "isESM": true,
10854
10760
  "relativePath": [
10855
10761
  "dist",
10856
10762
  "commands",
10857
- "tools",
10858
- "detect.js"
10763
+ "ticket",
10764
+ "move.js"
10859
10765
  ]
10860
10766
  },
10861
- "tools": {
10862
- "aliases": [
10863
- "tools:list"
10864
- ],
10865
- "args": {},
10866
- "description": "Show all registered MCP servers and CLI tools",
10767
+ "ticket:show": {
10768
+ "aliases": [],
10769
+ "args": {
10770
+ "ticketId": {
10771
+ "description": "Ticket ID to view - prompts with dropdown if not provided",
10772
+ "name": "ticketId",
10773
+ "required": false
10774
+ }
10775
+ },
10776
+ "description": "View detailed ticket information",
10867
10777
  "examples": [
10868
- "<%= config.bin %> tools",
10869
- "<%= config.bin %> tools --json"
10778
+ "<%= config.bin %> <%= command.id %> TICK-001",
10779
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
10870
10780
  ],
10871
10781
  "flags": {
10782
+ "project": {
10783
+ "char": "P",
10784
+ "description": "Project ID (uses first project if only one exists)",
10785
+ "name": "project",
10786
+ "hasDynamicHelp": false,
10787
+ "multiple": false,
10788
+ "type": "option"
10789
+ },
10872
10790
  "json": {
10873
10791
  "description": "Output as JSON for AI agents/scripts",
10874
10792
  "name": "json",
@@ -10885,35 +10803,49 @@
10885
10803
  },
10886
10804
  "hasDynamicHelp": false,
10887
10805
  "hiddenAliases": [],
10888
- "id": "tools",
10806
+ "id": "ticket:show",
10889
10807
  "pluginAlias": "@proletariat/cli",
10890
10808
  "pluginName": "@proletariat/cli",
10891
10809
  "pluginType": "core",
10892
10810
  "strict": true,
10893
- "enableJsonFlag": false,
10894
10811
  "isESM": true,
10895
10812
  "relativePath": [
10896
10813
  "dist",
10897
10814
  "commands",
10898
- "tools",
10899
- "index.js"
10815
+ "ticket",
10816
+ "show.js"
10900
10817
  ]
10901
10818
  },
10902
- "tools:remove": {
10819
+ "ticket:update": {
10903
10820
  "aliases": [],
10904
10821
  "args": {
10905
- "name": {
10906
- "description": "Tool name to remove",
10907
- "name": "name",
10908
- "required": true
10822
+ "ticketId": {
10823
+ "description": "Ticket ID - prompts with dropdown if not provided",
10824
+ "name": "ticketId",
10825
+ "required": false
10909
10826
  }
10910
10827
  },
10911
- "description": "Remove a tool from the registry",
10828
+ "description": "Update ticket fields (title, description, priority, category, labels, status)",
10912
10829
  "examples": [
10913
- "<%= config.bin %> tools remove arcade",
10914
- "<%= config.bin %> tools remove ffmpeg"
10830
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
10831
+ "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
10832
+ "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
10833
+ "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
10834
+ "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
10835
+ "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
10836
+ "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
10837
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
10838
+ "<%= config.bin %> <%= command.id %> --bulk --priority P1"
10915
10839
  ],
10916
10840
  "flags": {
10841
+ "project": {
10842
+ "char": "P",
10843
+ "description": "Project ID (uses first project if only one exists)",
10844
+ "name": "project",
10845
+ "hasDynamicHelp": false,
10846
+ "multiple": false,
10847
+ "type": "option"
10848
+ },
10917
10849
  "json": {
10918
10850
  "description": "Output as JSON for AI agents/scripts",
10919
10851
  "name": "json",
@@ -10926,22 +10858,90 @@
10926
10858
  "name": "machine",
10927
10859
  "allowNo": false,
10928
10860
  "type": "boolean"
10861
+ },
10862
+ "title": {
10863
+ "char": "t",
10864
+ "description": "Set ticket title",
10865
+ "name": "title",
10866
+ "hasDynamicHelp": false,
10867
+ "multiple": false,
10868
+ "type": "option"
10869
+ },
10870
+ "description": {
10871
+ "char": "d",
10872
+ "description": "Set ticket description",
10873
+ "name": "description",
10874
+ "hasDynamicHelp": false,
10875
+ "multiple": false,
10876
+ "type": "option"
10877
+ },
10878
+ "description-file": {
10879
+ "description": "Read ticket description from a file",
10880
+ "name": "description-file",
10881
+ "hasDynamicHelp": false,
10882
+ "multiple": false,
10883
+ "type": "option"
10884
+ },
10885
+ "priority": {
10886
+ "char": "p",
10887
+ "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
10888
+ "name": "priority",
10889
+ "hasDynamicHelp": false,
10890
+ "multiple": false,
10891
+ "type": "option"
10892
+ },
10893
+ "category": {
10894
+ "char": "c",
10895
+ "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
10896
+ "name": "category",
10897
+ "hasDynamicHelp": false,
10898
+ "multiple": false,
10899
+ "type": "option"
10900
+ },
10901
+ "labels": {
10902
+ "char": "l",
10903
+ "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
10904
+ "name": "labels",
10905
+ "hasDynamicHelp": false,
10906
+ "multiple": false,
10907
+ "type": "option"
10908
+ },
10909
+ "status": {
10910
+ "char": "s",
10911
+ "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
10912
+ "name": "status",
10913
+ "hasDynamicHelp": false,
10914
+ "multiple": false,
10915
+ "type": "option"
10916
+ },
10917
+ "bulk": {
10918
+ "char": "b",
10919
+ "description": "Enable bulk mode to update multiple tickets",
10920
+ "name": "bulk",
10921
+ "allowNo": false,
10922
+ "type": "boolean"
10923
+ },
10924
+ "force": {
10925
+ "char": "f",
10926
+ "description": "Skip confirmation prompt",
10927
+ "name": "force",
10928
+ "allowNo": false,
10929
+ "type": "boolean"
10929
10930
  }
10930
10931
  },
10931
10932
  "hasDynamicHelp": false,
10932
10933
  "hiddenAliases": [],
10933
- "id": "tools:remove",
10934
+ "id": "ticket:update",
10934
10935
  "pluginAlias": "@proletariat/cli",
10935
10936
  "pluginName": "@proletariat/cli",
10936
10937
  "pluginType": "core",
10937
10938
  "strict": true,
10938
- "enableJsonFlag": false,
10939
10939
  "isESM": true,
10940
10940
  "relativePath": [
10941
10941
  "dist",
10942
10942
  "commands",
10943
- "tools",
10944
- "remove.js"
10943
+ "ticket",
10944
+ "update.js"
10945
10945
  ]
10946
10946
  },
10947
10947
  "trello:configure": {
@@ -15118,5 +15118,5 @@
15118
15118
  ]
15119
15119
  }
15120
15120
  },
15121
- "version": "0.3.113"
15121
+ "version": "0.3.114"
15122
15122
  }