@proletariat/cli 0.3.99 → 0.3.100

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.
@@ -1757,6 +1757,66 @@
1757
1757
  "visit.js"
1758
1758
  ]
1759
1759
  },
1760
+ "autocomplete:setup": {
1761
+ "aliases": [],
1762
+ "args": {},
1763
+ "description": "Auto-detect shell and set up autocomplete",
1764
+ "examples": [
1765
+ "<%= config.bin %> <%= command.id %>",
1766
+ "<%= config.bin %> <%= command.id %> --install",
1767
+ "<%= config.bin %> <%= command.id %> --shell zsh",
1768
+ "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
1769
+ ],
1770
+ "flags": {
1771
+ "json": {
1772
+ "description": "Output as JSON for AI agents/scripts",
1773
+ "name": "json",
1774
+ "allowNo": false,
1775
+ "type": "boolean"
1776
+ },
1777
+ "machine": {
1778
+ "char": "m",
1779
+ "description": "Output as JSON for AI agents/scripts",
1780
+ "name": "machine",
1781
+ "allowNo": false,
1782
+ "type": "boolean"
1783
+ },
1784
+ "install": {
1785
+ "char": "i",
1786
+ "description": "Automatically install to shell config file",
1787
+ "name": "install",
1788
+ "allowNo": false,
1789
+ "type": "boolean"
1790
+ },
1791
+ "shell": {
1792
+ "char": "s",
1793
+ "description": "Override shell detection (zsh, bash, powershell)",
1794
+ "name": "shell",
1795
+ "hasDynamicHelp": false,
1796
+ "multiple": false,
1797
+ "options": [
1798
+ "zsh",
1799
+ "bash",
1800
+ "powershell"
1801
+ ],
1802
+ "type": "option"
1803
+ }
1804
+ },
1805
+ "hasDynamicHelp": false,
1806
+ "hiddenAliases": [],
1807
+ "id": "autocomplete:setup",
1808
+ "pluginAlias": "@proletariat/cli",
1809
+ "pluginName": "@proletariat/cli",
1810
+ "pluginType": "core",
1811
+ "strict": true,
1812
+ "isESM": true,
1813
+ "relativePath": [
1814
+ "dist",
1815
+ "commands",
1816
+ "autocomplete",
1817
+ "setup.js"
1818
+ ]
1819
+ },
1760
1820
  "asana:connect": {
1761
1821
  "aliases": [],
1762
1822
  "args": {},
@@ -2516,66 +2576,6 @@
2516
2576
  "stop.js"
2517
2577
  ]
2518
2578
  },
2519
- "autocomplete:setup": {
2520
- "aliases": [],
2521
- "args": {},
2522
- "description": "Auto-detect shell and set up autocomplete",
2523
- "examples": [
2524
- "<%= config.bin %> <%= command.id %>",
2525
- "<%= config.bin %> <%= command.id %> --install",
2526
- "<%= config.bin %> <%= command.id %> --shell zsh",
2527
- "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
2528
- ],
2529
- "flags": {
2530
- "json": {
2531
- "description": "Output as JSON for AI agents/scripts",
2532
- "name": "json",
2533
- "allowNo": false,
2534
- "type": "boolean"
2535
- },
2536
- "machine": {
2537
- "char": "m",
2538
- "description": "Output as JSON for AI agents/scripts",
2539
- "name": "machine",
2540
- "allowNo": false,
2541
- "type": "boolean"
2542
- },
2543
- "install": {
2544
- "char": "i",
2545
- "description": "Automatically install to shell config file",
2546
- "name": "install",
2547
- "allowNo": false,
2548
- "type": "boolean"
2549
- },
2550
- "shell": {
2551
- "char": "s",
2552
- "description": "Override shell detection (zsh, bash, powershell)",
2553
- "name": "shell",
2554
- "hasDynamicHelp": false,
2555
- "multiple": false,
2556
- "options": [
2557
- "zsh",
2558
- "bash",
2559
- "powershell"
2560
- ],
2561
- "type": "option"
2562
- }
2563
- },
2564
- "hasDynamicHelp": false,
2565
- "hiddenAliases": [],
2566
- "id": "autocomplete:setup",
2567
- "pluginAlias": "@proletariat/cli",
2568
- "pluginName": "@proletariat/cli",
2569
- "pluginType": "core",
2570
- "strict": true,
2571
- "isESM": true,
2572
- "relativePath": [
2573
- "dist",
2574
- "commands",
2575
- "autocomplete",
2576
- "setup.js"
2577
- ]
2578
- },
2579
2579
  "claude": {
2580
2580
  "aliases": [],
2581
2581
  "args": {},
@@ -3009,41 +3009,20 @@
3009
3009
  "repair.js"
3010
3010
  ]
3011
3011
  },
3012
- "docker:clean": {
3012
+ "execution:config": {
3013
3013
  "aliases": [],
3014
3014
  "args": {},
3015
- "description": "Remove orphaned containers (containers without running agents)",
3015
+ "description": "View and update execution preferences",
3016
3016
  "examples": [
3017
- "<%= config.bin %> <%= command.id %>",
3018
- "<%= config.bin %> <%= command.id %> --force",
3019
- "<%= config.bin %> <%= command.id %> --dry-run"
3017
+ "<%= config.bin %> execution config # Interactive menu",
3018
+ "<%= config.bin %> execution config --json # Output current config as JSON",
3019
+ "<%= config.bin %> execution config --list # Show all settings",
3020
+ "<%= config.bin %> execution config --set defaultEnvironment host",
3021
+ "<%= config.bin %> execution config --set outputMode interactive",
3022
+ "<%= config.bin %> execution config --set permissionMode safe",
3023
+ "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
3020
3024
  ],
3021
3025
  "flags": {
3022
- "force": {
3023
- "aliases": [
3024
- "yes",
3025
- "y"
3026
- ],
3027
- "char": "f",
3028
- "description": "Skip confirmation prompt",
3029
- "name": "force",
3030
- "allowNo": false,
3031
- "type": "boolean"
3032
- },
3033
- "dry-run": {
3034
- "char": "d",
3035
- "description": "Show what would be removed without removing",
3036
- "name": "dry-run",
3037
- "allowNo": false,
3038
- "type": "boolean"
3039
- },
3040
- "all": {
3041
- "char": "a",
3042
- "description": "Remove all stopped devcontainers (not just orphaned)",
3043
- "name": "all",
3044
- "allowNo": false,
3045
- "type": "boolean"
3046
- },
3047
3026
  "json": {
3048
3027
  "description": "Output as JSON for AI agents/scripts",
3049
3028
  "name": "json",
@@ -3056,41 +3035,54 @@
3056
3035
  "name": "machine",
3057
3036
  "allowNo": false,
3058
3037
  "type": "boolean"
3038
+ },
3039
+ "set": {
3040
+ "char": "s",
3041
+ "description": "Set a config value (format: key value)",
3042
+ "name": "set",
3043
+ "hasDynamicHelp": false,
3044
+ "multiple": true,
3045
+ "type": "option"
3046
+ },
3047
+ "list": {
3048
+ "char": "l",
3049
+ "description": "List all configuration values",
3050
+ "name": "list",
3051
+ "allowNo": false,
3052
+ "type": "boolean"
3053
+ },
3054
+ "setting": {
3055
+ "description": "Navigate to a specific setting prompt (for agent navigation)",
3056
+ "name": "setting",
3057
+ "hasDynamicHelp": false,
3058
+ "multiple": false,
3059
+ "type": "option"
3059
3060
  }
3060
3061
  },
3061
3062
  "hasDynamicHelp": false,
3062
3063
  "hiddenAliases": [],
3063
- "id": "docker:clean",
3064
+ "id": "execution:config",
3064
3065
  "pluginAlias": "@proletariat/cli",
3065
3066
  "pluginName": "@proletariat/cli",
3066
3067
  "pluginType": "core",
3067
3068
  "strict": true,
3068
- "enableJsonFlag": false,
3069
3069
  "isESM": true,
3070
3070
  "relativePath": [
3071
3071
  "dist",
3072
3072
  "commands",
3073
- "docker",
3074
- "clean.js"
3073
+ "execution",
3074
+ "config.js"
3075
3075
  ]
3076
3076
  },
3077
- "docker": {
3077
+ "execution": {
3078
3078
  "aliases": [],
3079
3079
  "args": {},
3080
- "description": "Manage Docker containers used by agents",
3080
+ "description": "Single execution operations (view, logs, stop)",
3081
3081
  "examples": [
3082
3082
  "<%= config.bin %> <%= command.id %>",
3083
- "<%= config.bin %> docker status",
3084
- "<%= config.bin %> docker list",
3085
- "<%= config.bin %> docker logs WORK-001",
3086
- "<%= config.bin %> docker start WORK-001",
3087
- "<%= config.bin %> docker stop kalanick",
3088
- "<%= config.bin %> docker shell WORK-001",
3089
- "<%= config.bin %> docker restart abc123",
3090
- "<%= config.bin %> docker sync",
3091
- "<%= config.bin %> docker rebuild-cache",
3092
- "<%= config.bin %> docker clean",
3093
- "<%= config.bin %> docker prune"
3083
+ "<%= config.bin %> <%= command.id %> view WORK-001",
3084
+ "<%= config.bin %> <%= command.id %> logs WORK-001",
3085
+ "<%= config.bin %> <%= command.id %> stop WORK-001"
3094
3086
  ],
3095
3087
  "flags": {
3096
3088
  "json": {
@@ -3109,7 +3101,7 @@
3109
3101
  },
3110
3102
  "hasDynamicHelp": false,
3111
3103
  "hiddenAliases": [],
3112
- "id": "docker",
3104
+ "id": "execution",
3113
3105
  "pluginAlias": "@proletariat/cli",
3114
3106
  "pluginName": "@proletariat/cli",
3115
3107
  "pluginType": "core",
@@ -3118,18 +3110,19 @@
3118
3110
  "relativePath": [
3119
3111
  "dist",
3120
3112
  "commands",
3121
- "docker",
3113
+ "execution",
3122
3114
  "index.js"
3123
3115
  ]
3124
3116
  },
3125
- "docker:list": {
3117
+ "execution:list": {
3126
3118
  "aliases": [],
3127
3119
  "args": {},
3128
- "description": "Show Docker containers from agent_work table with status",
3120
+ "description": "List running and recent executions",
3129
3121
  "examples": [
3130
3122
  "<%= config.bin %> <%= command.id %>",
3131
- "<%= config.bin %> <%= command.id %> --all",
3132
- "<%= config.bin %> <%= command.id %> --running"
3123
+ "<%= config.bin %> <%= command.id %> --status running",
3124
+ "<%= config.bin %> <%= command.id %> --agent alice",
3125
+ "<%= config.bin %> <%= command.id %> --limit 50"
3133
3126
  ],
3134
3127
  "flags": {
3135
3128
  "json": {
@@ -3145,52 +3138,69 @@
3145
3138
  "allowNo": false,
3146
3139
  "type": "boolean"
3147
3140
  },
3148
- "all": {
3141
+ "status": {
3142
+ "char": "s",
3143
+ "description": "Filter by status",
3144
+ "name": "status",
3145
+ "hasDynamicHelp": false,
3146
+ "multiple": false,
3147
+ "options": [
3148
+ "starting",
3149
+ "running",
3150
+ "completed",
3151
+ "failed",
3152
+ "stopped"
3153
+ ],
3154
+ "type": "option"
3155
+ },
3156
+ "agent": {
3149
3157
  "char": "a",
3150
- "description": "Show all containers (including non-devcontainer)",
3151
- "name": "all",
3152
- "allowNo": false,
3153
- "type": "boolean"
3158
+ "description": "Filter by agent name",
3159
+ "name": "agent",
3160
+ "hasDynamicHelp": false,
3161
+ "multiple": false,
3162
+ "type": "option"
3154
3163
  },
3155
- "running": {
3156
- "char": "r",
3157
- "description": "Only show running containers",
3158
- "name": "running",
3159
- "allowNo": false,
3160
- "type": "boolean"
3161
- }
3162
- },
3163
- "hasDynamicHelp": false,
3164
- "hiddenAliases": [],
3165
- "id": "docker:list",
3164
+ "limit": {
3165
+ "char": "l",
3166
+ "description": "Number of results",
3167
+ "name": "limit",
3168
+ "default": 20,
3169
+ "hasDynamicHelp": false,
3170
+ "multiple": false,
3171
+ "type": "option"
3172
+ }
3173
+ },
3174
+ "hasDynamicHelp": false,
3175
+ "hiddenAliases": [],
3176
+ "id": "execution:list",
3166
3177
  "pluginAlias": "@proletariat/cli",
3167
3178
  "pluginName": "@proletariat/cli",
3168
3179
  "pluginType": "core",
3169
3180
  "strict": true,
3170
- "enableJsonFlag": false,
3171
3181
  "isESM": true,
3172
3182
  "relativePath": [
3173
3183
  "dist",
3174
3184
  "commands",
3175
- "docker",
3185
+ "execution",
3176
3186
  "list.js"
3177
3187
  ]
3178
3188
  },
3179
- "docker:logs": {
3189
+ "execution:logs": {
3180
3190
  "aliases": [],
3181
3191
  "args": {
3182
- "target": {
3183
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3184
- "name": "target",
3185
- "required": true
3192
+ "id": {
3193
+ "description": "Execution ID - prompts if not provided",
3194
+ "name": "id",
3195
+ "required": false
3186
3196
  }
3187
3197
  },
3188
- "description": "View logs from a container (by execution ID, agent name, or container ID)",
3198
+ "description": "View execution logs",
3189
3199
  "examples": [
3190
3200
  "<%= config.bin %> <%= command.id %> WORK-001",
3191
- "<%= config.bin %> <%= command.id %> kalanick",
3192
- "<%= config.bin %> <%= command.id %> abc123 --follow",
3193
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3201
+ "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3202
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3203
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
3194
3204
  ],
3195
3205
  "flags": {
3196
3206
  "json": {
@@ -3208,86 +3218,54 @@
3208
3218
  },
3209
3219
  "follow": {
3210
3220
  "char": "f",
3211
- "description": "Follow log output",
3221
+ "description": "Stream logs in real-time",
3212
3222
  "name": "follow",
3213
3223
  "allowNo": false,
3214
3224
  "type": "boolean"
3215
3225
  },
3216
3226
  "tail": {
3217
3227
  "char": "n",
3218
- "description": "Number of lines to show from the end",
3228
+ "description": "Show last n lines",
3219
3229
  "name": "tail",
3220
- "default": 100,
3221
3230
  "hasDynamicHelp": false,
3222
3231
  "multiple": false,
3223
3232
  "type": "option"
3224
- },
3225
- "timestamps": {
3226
- "char": "t",
3227
- "description": "Show timestamps",
3228
- "name": "timestamps",
3229
- "allowNo": false,
3230
- "type": "boolean"
3231
3233
  }
3232
3234
  },
3233
3235
  "hasDynamicHelp": false,
3234
3236
  "hiddenAliases": [],
3235
- "id": "docker:logs",
3237
+ "id": "execution:logs",
3236
3238
  "pluginAlias": "@proletariat/cli",
3237
3239
  "pluginName": "@proletariat/cli",
3238
3240
  "pluginType": "core",
3239
3241
  "strict": true,
3240
- "enableJsonFlag": false,
3241
3242
  "isESM": true,
3242
3243
  "relativePath": [
3243
3244
  "dist",
3244
3245
  "commands",
3245
- "docker",
3246
+ "execution",
3246
3247
  "logs.js"
3247
3248
  ]
3248
3249
  },
3249
- "docker:prune": {
3250
+ "execution:stop": {
3250
3251
  "aliases": [],
3251
- "args": {},
3252
- "description": "Remove unused Docker resources (containers, images, volumes, networks)",
3252
+ "args": {
3253
+ "id": {
3254
+ "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3255
+ "name": "id",
3256
+ "required": false
3257
+ }
3258
+ },
3259
+ "description": "Stop running execution(s)",
3253
3260
  "examples": [
3254
- "<%= config.bin %> <%= command.id %>",
3261
+ "<%= config.bin %> <%= command.id %> WORK-001",
3262
+ "<%= config.bin %> <%= command.id %> WORK-001 --force",
3263
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
3255
3264
  "<%= config.bin %> <%= command.id %> --all",
3256
- "<%= config.bin %> <%= command.id %> --volumes",
3257
- "<%= config.bin %> <%= command.id %> --dry-run"
3265
+ "<%= config.bin %> <%= command.id %> --all --force",
3266
+ "<%= config.bin %> <%= command.id %> --agent altman"
3258
3267
  ],
3259
3268
  "flags": {
3260
- "force": {
3261
- "aliases": [
3262
- "yes",
3263
- "y"
3264
- ],
3265
- "char": "f",
3266
- "description": "Skip confirmation prompt",
3267
- "name": "force",
3268
- "allowNo": false,
3269
- "type": "boolean"
3270
- },
3271
- "dry-run": {
3272
- "char": "d",
3273
- "description": "Show what would be removed without removing",
3274
- "name": "dry-run",
3275
- "allowNo": false,
3276
- "type": "boolean"
3277
- },
3278
- "all": {
3279
- "char": "a",
3280
- "description": "Remove all unused images, not just dangling ones",
3281
- "name": "all",
3282
- "allowNo": false,
3283
- "type": "boolean"
3284
- },
3285
- "volumes": {
3286
- "description": "Also prune volumes (dangerous - data loss possible)",
3287
- "name": "volumes",
3288
- "allowNo": false,
3289
- "type": "boolean"
3290
- },
3291
3269
  "json": {
3292
3270
  "description": "Output as JSON for AI agents/scripts",
3293
3271
  "name": "json",
@@ -3300,46 +3278,59 @@
3300
3278
  "name": "machine",
3301
3279
  "allowNo": false,
3302
3280
  "type": "boolean"
3281
+ },
3282
+ "force": {
3283
+ "char": "f",
3284
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
3285
+ "name": "force",
3286
+ "allowNo": false,
3287
+ "type": "boolean"
3288
+ },
3289
+ "all": {
3290
+ "description": "Stop all running executions",
3291
+ "name": "all",
3292
+ "allowNo": false,
3293
+ "type": "boolean"
3294
+ },
3295
+ "agent": {
3296
+ "char": "a",
3297
+ "description": "Stop all executions for a specific agent",
3298
+ "name": "agent",
3299
+ "hasDynamicHelp": false,
3300
+ "multiple": false,
3301
+ "type": "option"
3303
3302
  }
3304
3303
  },
3305
3304
  "hasDynamicHelp": false,
3306
3305
  "hiddenAliases": [],
3307
- "id": "docker:prune",
3306
+ "id": "execution:stop",
3308
3307
  "pluginAlias": "@proletariat/cli",
3309
3308
  "pluginName": "@proletariat/cli",
3310
3309
  "pluginType": "core",
3311
3310
  "strict": true,
3312
- "enableJsonFlag": false,
3313
3311
  "isESM": true,
3314
3312
  "relativePath": [
3315
3313
  "dist",
3316
3314
  "commands",
3317
- "docker",
3318
- "prune.js"
3315
+ "execution",
3316
+ "stop.js"
3319
3317
  ]
3320
3318
  },
3321
- "docker:rebuild-cache": {
3319
+ "execution:view": {
3322
3320
  "aliases": [],
3323
- "args": {},
3324
- "description": "Rebuild the shared pnpm store cache volume for fast agent installs",
3321
+ "args": {
3322
+ "id": {
3323
+ "description": "Execution ID - prompts if not provided",
3324
+ "name": "id",
3325
+ "required": false
3326
+ }
3327
+ },
3328
+ "description": "View details of a specific execution",
3325
3329
  "examples": [
3326
- "<%= config.bin %> <%= command.id %>",
3327
- "<%= config.bin %> <%= command.id %> --force"
3330
+ "<%= config.bin %> <%= command.id %> WORK-001",
3331
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
3328
3332
  ],
3329
3333
  "flags": {
3330
- "force": {
3331
- "char": "f",
3332
- "description": "Delete and rebuild the cache even if it already exists",
3333
- "name": "force",
3334
- "allowNo": false,
3335
- "type": "boolean"
3336
- },
3337
- "delete-only": {
3338
- "description": "Only delete the cache volume (next agent spawn rebuilds it)",
3339
- "name": "delete-only",
3340
- "allowNo": false,
3341
- "type": "boolean"
3342
- },
3343
3334
  "json": {
3344
3335
  "description": "Output as JSON for AI agents/scripts",
3345
3336
  "name": "json",
@@ -3356,56 +3347,28 @@
3356
3347
  },
3357
3348
  "hasDynamicHelp": false,
3358
3349
  "hiddenAliases": [],
3359
- "id": "docker:rebuild-cache",
3350
+ "id": "execution:view",
3360
3351
  "pluginAlias": "@proletariat/cli",
3361
3352
  "pluginName": "@proletariat/cli",
3362
3353
  "pluginType": "core",
3363
3354
  "strict": true,
3364
- "enableJsonFlag": false,
3365
3355
  "isESM": true,
3366
3356
  "relativePath": [
3367
3357
  "dist",
3368
3358
  "commands",
3369
- "docker",
3370
- "rebuild-cache.js"
3359
+ "execution",
3360
+ "view.js"
3371
3361
  ]
3372
3362
  },
3373
- "docker:restart": {
3363
+ "feedback": {
3374
3364
  "aliases": [],
3375
- "args": {
3376
- "target": {
3377
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3378
- "name": "target",
3379
- "required": true
3380
- }
3381
- },
3382
- "description": "Restart a container (by execution ID, agent name, or container ID)",
3365
+ "args": {},
3366
+ "description": "Interactive menu for feedback and issue operations",
3383
3367
  "examples": [
3384
- "<%= config.bin %> <%= command.id %> WORK-001",
3385
- "<%= config.bin %> <%= command.id %> kalanick",
3386
- "<%= config.bin %> <%= command.id %> abc123 --force"
3368
+ "<%= config.bin %> <%= command.id %>",
3369
+ "<%= config.bin %> <%= command.id %> --action submit"
3387
3370
  ],
3388
3371
  "flags": {
3389
- "force": {
3390
- "aliases": [
3391
- "yes",
3392
- "y"
3393
- ],
3394
- "char": "f",
3395
- "description": "Skip confirmation prompt",
3396
- "name": "force",
3397
- "allowNo": false,
3398
- "type": "boolean"
3399
- },
3400
- "time": {
3401
- "char": "t",
3402
- "description": "Seconds to wait before killing the container during stop",
3403
- "name": "time",
3404
- "default": 10,
3405
- "hasDynamicHelp": false,
3406
- "multiple": false,
3407
- "type": "option"
3408
- },
3409
3372
  "json": {
3410
3373
  "description": "Output as JSON for AI agents/scripts",
3411
3374
  "name": "json",
@@ -3418,11 +3381,24 @@
3418
3381
  "name": "machine",
3419
3382
  "allowNo": false,
3420
3383
  "type": "boolean"
3384
+ },
3385
+ "action": {
3386
+ "char": "a",
3387
+ "description": "Action to perform (submit, list, view)",
3388
+ "name": "action",
3389
+ "hasDynamicHelp": false,
3390
+ "multiple": false,
3391
+ "options": [
3392
+ "submit",
3393
+ "list",
3394
+ "view"
3395
+ ],
3396
+ "type": "option"
3421
3397
  }
3422
3398
  },
3423
3399
  "hasDynamicHelp": false,
3424
3400
  "hiddenAliases": [],
3425
- "id": "docker:restart",
3401
+ "id": "feedback",
3426
3402
  "pluginAlias": "@proletariat/cli",
3427
3403
  "pluginName": "@proletariat/cli",
3428
3404
  "pluginType": "core",
@@ -3432,24 +3408,19 @@
3432
3408
  "relativePath": [
3433
3409
  "dist",
3434
3410
  "commands",
3435
- "docker",
3436
- "restart.js"
3411
+ "feedback",
3412
+ "index.js"
3437
3413
  ]
3438
3414
  },
3439
- "docker:shell": {
3415
+ "feedback:list": {
3440
3416
  "aliases": [],
3441
- "args": {
3442
- "target": {
3443
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3444
- "name": "target",
3445
- "required": true
3446
- }
3447
- },
3448
- "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
3417
+ "args": {},
3418
+ "description": "List recent feedback issues from the repository",
3449
3419
  "examples": [
3450
- "<%= config.bin %> <%= command.id %> WORK-001",
3451
- "<%= config.bin %> <%= command.id %> kalanick",
3452
- "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
3420
+ "<%= config.bin %> <%= command.id %>",
3421
+ "<%= config.bin %> <%= command.id %> --category bug",
3422
+ "<%= config.bin %> <%= command.id %> --state closed --limit 10",
3423
+ "<%= config.bin %> <%= command.id %> --json"
3453
3424
  ],
3454
3425
  "flags": {
3455
3426
  "json": {
@@ -3465,27 +3436,38 @@
3465
3436
  "allowNo": false,
3466
3437
  "type": "boolean"
3467
3438
  },
3468
- "shell": {
3469
- "char": "s",
3470
- "description": "Shell to use",
3471
- "name": "shell",
3472
- "default": "/bin/sh",
3439
+ "category": {
3440
+ "char": "c",
3441
+ "description": "Filter by category (bug, feature, general)",
3442
+ "name": "category",
3473
3443
  "hasDynamicHelp": false,
3474
3444
  "multiple": false,
3445
+ "options": [
3446
+ "bug",
3447
+ "feature",
3448
+ "general"
3449
+ ],
3475
3450
  "type": "option"
3476
3451
  },
3477
- "user": {
3478
- "char": "u",
3479
- "description": "User to run as",
3480
- "name": "user",
3452
+ "state": {
3453
+ "char": "s",
3454
+ "description": "Filter by state",
3455
+ "name": "state",
3456
+ "default": "open",
3481
3457
  "hasDynamicHelp": false,
3482
3458
  "multiple": false,
3459
+ "options": [
3460
+ "open",
3461
+ "closed",
3462
+ "all"
3463
+ ],
3483
3464
  "type": "option"
3484
3465
  },
3485
- "workdir": {
3486
- "char": "w",
3487
- "description": "Working directory inside the container",
3488
- "name": "workdir",
3466
+ "limit": {
3467
+ "char": "l",
3468
+ "description": "Maximum number of issues to show",
3469
+ "name": "limit",
3470
+ "default": 20,
3489
3471
  "hasDynamicHelp": false,
3490
3472
  "multiple": false,
3491
3473
  "type": "option"
@@ -3493,7 +3475,7 @@
3493
3475
  },
3494
3476
  "hasDynamicHelp": false,
3495
3477
  "hiddenAliases": [],
3496
- "id": "docker:shell",
3478
+ "id": "feedback:list",
3497
3479
  "pluginAlias": "@proletariat/cli",
3498
3480
  "pluginName": "@proletariat/cli",
3499
3481
  "pluginType": "core",
@@ -3503,24 +3485,18 @@
3503
3485
  "relativePath": [
3504
3486
  "dist",
3505
3487
  "commands",
3506
- "docker",
3507
- "shell.js"
3488
+ "feedback",
3489
+ "list.js"
3508
3490
  ]
3509
3491
  },
3510
- "docker:start": {
3492
+ "feedback:submit": {
3511
3493
  "aliases": [],
3512
- "args": {
3513
- "target": {
3514
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3515
- "name": "target",
3516
- "required": true
3517
- }
3518
- },
3519
- "description": "Start a stopped container (by execution ID, agent name, or container ID)",
3494
+ "args": {},
3495
+ "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
3520
3496
  "examples": [
3521
- "<%= config.bin %> <%= command.id %> WORK-001",
3522
- "<%= config.bin %> <%= command.id %> kalanick",
3523
- "<%= config.bin %> <%= command.id %> abc123"
3497
+ "<%= config.bin %> <%= command.id %>",
3498
+ "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
3499
+ "<%= config.bin %> <%= command.id %> --json"
3524
3500
  ],
3525
3501
  "flags": {
3526
3502
  "json": {
@@ -3536,36 +3512,64 @@
3536
3512
  "allowNo": false,
3537
3513
  "type": "boolean"
3538
3514
  },
3539
- "attach": {
3540
- "char": "a",
3541
- "description": "Attach to container after starting",
3542
- "name": "attach",
3543
- "allowNo": false,
3544
- "type": "boolean"
3515
+ "title": {
3516
+ "char": "t",
3517
+ "description": "Issue title (one-liner) [required for non-interactive]",
3518
+ "name": "title",
3519
+ "hasDynamicHelp": false,
3520
+ "multiple": false,
3521
+ "type": "option"
3522
+ },
3523
+ "body": {
3524
+ "char": "b",
3525
+ "description": "Issue description [required for non-interactive]",
3526
+ "name": "body",
3527
+ "hasDynamicHelp": false,
3528
+ "multiple": false,
3529
+ "type": "option"
3530
+ },
3531
+ "category": {
3532
+ "char": "c",
3533
+ "description": "Feedback category",
3534
+ "name": "category",
3535
+ "hasDynamicHelp": false,
3536
+ "multiple": false,
3537
+ "options": [
3538
+ "bug",
3539
+ "feature",
3540
+ "general"
3541
+ ],
3542
+ "type": "option"
3545
3543
  }
3546
3544
  },
3547
3545
  "hasDynamicHelp": false,
3548
3546
  "hiddenAliases": [],
3549
- "id": "docker:start",
3547
+ "id": "feedback:submit",
3550
3548
  "pluginAlias": "@proletariat/cli",
3551
3549
  "pluginName": "@proletariat/cli",
3552
3550
  "pluginType": "core",
3553
3551
  "strict": true,
3554
- "enableJsonFlag": false,
3555
3552
  "isESM": true,
3556
3553
  "relativePath": [
3557
3554
  "dist",
3558
3555
  "commands",
3559
- "docker",
3560
- "start.js"
3556
+ "feedback",
3557
+ "submit.js"
3561
3558
  ]
3562
3559
  },
3563
- "docker:status": {
3560
+ "feedback:view": {
3564
3561
  "aliases": [],
3565
- "args": {},
3566
- "description": "Check if Docker daemon is running",
3562
+ "args": {
3563
+ "number": {
3564
+ "description": "Issue number to view",
3565
+ "name": "number",
3566
+ "required": true
3567
+ }
3568
+ },
3569
+ "description": "View details of a specific feedback issue",
3567
3570
  "examples": [
3568
- "<%= config.bin %> <%= command.id %>"
3571
+ "<%= config.bin %> <%= command.id %> 123",
3572
+ "<%= config.bin %> <%= command.id %> 123 --json"
3569
3573
  ],
3570
3574
  "flags": {
3571
3575
  "json": {
@@ -3584,7 +3588,7 @@
3584
3588
  },
3585
3589
  "hasDynamicHelp": false,
3586
3590
  "hiddenAliases": [],
3587
- "id": "docker:status",
3591
+ "id": "feedback:view",
3588
3592
  "pluginAlias": "@proletariat/cli",
3589
3593
  "pluginName": "@proletariat/cli",
3590
3594
  "pluginType": "core",
@@ -3594,24 +3598,18 @@
3594
3598
  "relativePath": [
3595
3599
  "dist",
3596
3600
  "commands",
3597
- "docker",
3598
- "status.js"
3601
+ "feedback",
3602
+ "view.js"
3599
3603
  ]
3600
3604
  },
3601
- "docker:stop": {
3605
+ "docker:clean": {
3602
3606
  "aliases": [],
3603
- "args": {
3604
- "target": {
3605
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3606
- "name": "target",
3607
- "required": true
3608
- }
3609
- },
3610
- "description": "Stop a running container (by execution ID, agent name, or container ID)",
3607
+ "args": {},
3608
+ "description": "Remove orphaned containers (containers without running agents)",
3611
3609
  "examples": [
3612
- "<%= config.bin %> <%= command.id %> WORK-001",
3613
- "<%= config.bin %> <%= command.id %> kalanick",
3614
- "<%= config.bin %> <%= command.id %> abc123 --force"
3610
+ "<%= config.bin %> <%= command.id %>",
3611
+ "<%= config.bin %> <%= command.id %> --force",
3612
+ "<%= config.bin %> <%= command.id %> --dry-run"
3615
3613
  ],
3616
3614
  "flags": {
3617
3615
  "force": {
@@ -3625,14 +3623,19 @@
3625
3623
  "allowNo": false,
3626
3624
  "type": "boolean"
3627
3625
  },
3628
- "time": {
3629
- "char": "t",
3630
- "description": "Seconds to wait before killing the container",
3631
- "name": "time",
3632
- "default": 10,
3633
- "hasDynamicHelp": false,
3634
- "multiple": false,
3635
- "type": "option"
3626
+ "dry-run": {
3627
+ "char": "d",
3628
+ "description": "Show what would be removed without removing",
3629
+ "name": "dry-run",
3630
+ "allowNo": false,
3631
+ "type": "boolean"
3632
+ },
3633
+ "all": {
3634
+ "char": "a",
3635
+ "description": "Remove all stopped devcontainers (not just orphaned)",
3636
+ "name": "all",
3637
+ "allowNo": false,
3638
+ "type": "boolean"
3636
3639
  },
3637
3640
  "json": {
3638
3641
  "description": "Output as JSON for AI agents/scripts",
@@ -3650,7 +3653,7 @@
3650
3653
  },
3651
3654
  "hasDynamicHelp": false,
3652
3655
  "hiddenAliases": [],
3653
- "id": "docker:stop",
3656
+ "id": "docker:clean",
3654
3657
  "pluginAlias": "@proletariat/cli",
3655
3658
  "pluginName": "@proletariat/cli",
3656
3659
  "pluginType": "core",
@@ -3661,15 +3664,26 @@
3661
3664
  "dist",
3662
3665
  "commands",
3663
3666
  "docker",
3664
- "stop.js"
3667
+ "clean.js"
3665
3668
  ]
3666
3669
  },
3667
- "docker:sync": {
3670
+ "docker": {
3668
3671
  "aliases": [],
3669
3672
  "args": {},
3670
- "description": "Sync container status from Docker into the database",
3673
+ "description": "Manage Docker containers used by agents",
3671
3674
  "examples": [
3672
- "<%= config.bin %> <%= command.id %>"
3675
+ "<%= config.bin %> <%= command.id %>",
3676
+ "<%= config.bin %> docker status",
3677
+ "<%= config.bin %> docker list",
3678
+ "<%= config.bin %> docker logs WORK-001",
3679
+ "<%= config.bin %> docker start WORK-001",
3680
+ "<%= config.bin %> docker stop kalanick",
3681
+ "<%= config.bin %> docker shell WORK-001",
3682
+ "<%= config.bin %> docker restart abc123",
3683
+ "<%= config.bin %> docker sync",
3684
+ "<%= config.bin %> docker rebuild-cache",
3685
+ "<%= config.bin %> docker clean",
3686
+ "<%= config.bin %> docker prune"
3673
3687
  ],
3674
3688
  "flags": {
3675
3689
  "json": {
@@ -3688,27 +3702,27 @@
3688
3702
  },
3689
3703
  "hasDynamicHelp": false,
3690
3704
  "hiddenAliases": [],
3691
- "id": "docker:sync",
3705
+ "id": "docker",
3692
3706
  "pluginAlias": "@proletariat/cli",
3693
3707
  "pluginName": "@proletariat/cli",
3694
3708
  "pluginType": "core",
3695
3709
  "strict": true,
3696
- "enableJsonFlag": false,
3697
3710
  "isESM": true,
3698
3711
  "relativePath": [
3699
3712
  "dist",
3700
3713
  "commands",
3701
3714
  "docker",
3702
- "sync.js"
3715
+ "index.js"
3703
3716
  ]
3704
3717
  },
3705
- "feedback": {
3718
+ "docker:list": {
3706
3719
  "aliases": [],
3707
3720
  "args": {},
3708
- "description": "Interactive menu for feedback and issue operations",
3721
+ "description": "Show Docker containers from agent_work table with status",
3709
3722
  "examples": [
3710
3723
  "<%= config.bin %> <%= command.id %>",
3711
- "<%= config.bin %> <%= command.id %> --action submit"
3724
+ "<%= config.bin %> <%= command.id %> --all",
3725
+ "<%= config.bin %> <%= command.id %> --running"
3712
3726
  ],
3713
3727
  "flags": {
3714
3728
  "json": {
@@ -3724,23 +3738,24 @@
3724
3738
  "allowNo": false,
3725
3739
  "type": "boolean"
3726
3740
  },
3727
- "action": {
3741
+ "all": {
3728
3742
  "char": "a",
3729
- "description": "Action to perform (submit, list, view)",
3730
- "name": "action",
3731
- "hasDynamicHelp": false,
3732
- "multiple": false,
3733
- "options": [
3734
- "submit",
3735
- "list",
3736
- "view"
3737
- ],
3738
- "type": "option"
3743
+ "description": "Show all containers (including non-devcontainer)",
3744
+ "name": "all",
3745
+ "allowNo": false,
3746
+ "type": "boolean"
3747
+ },
3748
+ "running": {
3749
+ "char": "r",
3750
+ "description": "Only show running containers",
3751
+ "name": "running",
3752
+ "allowNo": false,
3753
+ "type": "boolean"
3739
3754
  }
3740
3755
  },
3741
3756
  "hasDynamicHelp": false,
3742
3757
  "hiddenAliases": [],
3743
- "id": "feedback",
3758
+ "id": "docker:list",
3744
3759
  "pluginAlias": "@proletariat/cli",
3745
3760
  "pluginName": "@proletariat/cli",
3746
3761
  "pluginType": "core",
@@ -3750,19 +3765,25 @@
3750
3765
  "relativePath": [
3751
3766
  "dist",
3752
3767
  "commands",
3753
- "feedback",
3754
- "index.js"
3768
+ "docker",
3769
+ "list.js"
3755
3770
  ]
3756
3771
  },
3757
- "feedback:list": {
3772
+ "docker:logs": {
3758
3773
  "aliases": [],
3759
- "args": {},
3760
- "description": "List recent feedback issues from the repository",
3774
+ "args": {
3775
+ "target": {
3776
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3777
+ "name": "target",
3778
+ "required": true
3779
+ }
3780
+ },
3781
+ "description": "View logs from a container (by execution ID, agent name, or container ID)",
3761
3782
  "examples": [
3762
- "<%= config.bin %> <%= command.id %>",
3763
- "<%= config.bin %> <%= command.id %> --category bug",
3764
- "<%= config.bin %> <%= command.id %> --state closed --limit 10",
3765
- "<%= config.bin %> <%= command.id %> --json"
3783
+ "<%= config.bin %> <%= command.id %> WORK-001",
3784
+ "<%= config.bin %> <%= command.id %> kalanick",
3785
+ "<%= config.bin %> <%= command.id %> abc123 --follow",
3786
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3766
3787
  ],
3767
3788
  "flags": {
3768
3789
  "json": {
@@ -3778,46 +3799,33 @@
3778
3799
  "allowNo": false,
3779
3800
  "type": "boolean"
3780
3801
  },
3781
- "category": {
3782
- "char": "c",
3783
- "description": "Filter by category (bug, feature, general)",
3784
- "name": "category",
3802
+ "follow": {
3803
+ "char": "f",
3804
+ "description": "Follow log output",
3805
+ "name": "follow",
3806
+ "allowNo": false,
3807
+ "type": "boolean"
3808
+ },
3809
+ "tail": {
3810
+ "char": "n",
3811
+ "description": "Number of lines to show from the end",
3812
+ "name": "tail",
3813
+ "default": 100,
3785
3814
  "hasDynamicHelp": false,
3786
3815
  "multiple": false,
3787
- "options": [
3788
- "bug",
3789
- "feature",
3790
- "general"
3791
- ],
3792
3816
  "type": "option"
3793
3817
  },
3794
- "state": {
3795
- "char": "s",
3796
- "description": "Filter by state",
3797
- "name": "state",
3798
- "default": "open",
3799
- "hasDynamicHelp": false,
3800
- "multiple": false,
3801
- "options": [
3802
- "open",
3803
- "closed",
3804
- "all"
3805
- ],
3806
- "type": "option"
3807
- },
3808
- "limit": {
3809
- "char": "l",
3810
- "description": "Maximum number of issues to show",
3811
- "name": "limit",
3812
- "default": 20,
3813
- "hasDynamicHelp": false,
3814
- "multiple": false,
3815
- "type": "option"
3818
+ "timestamps": {
3819
+ "char": "t",
3820
+ "description": "Show timestamps",
3821
+ "name": "timestamps",
3822
+ "allowNo": false,
3823
+ "type": "boolean"
3816
3824
  }
3817
3825
  },
3818
3826
  "hasDynamicHelp": false,
3819
3827
  "hiddenAliases": [],
3820
- "id": "feedback:list",
3828
+ "id": "docker:logs",
3821
3829
  "pluginAlias": "@proletariat/cli",
3822
3830
  "pluginName": "@proletariat/cli",
3823
3831
  "pluginType": "core",
@@ -3827,93 +3835,52 @@
3827
3835
  "relativePath": [
3828
3836
  "dist",
3829
3837
  "commands",
3830
- "feedback",
3831
- "list.js"
3838
+ "docker",
3839
+ "logs.js"
3832
3840
  ]
3833
3841
  },
3834
- "feedback:submit": {
3842
+ "docker:prune": {
3835
3843
  "aliases": [],
3836
3844
  "args": {},
3837
- "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
3845
+ "description": "Remove unused Docker resources (containers, images, volumes, networks)",
3838
3846
  "examples": [
3839
3847
  "<%= config.bin %> <%= command.id %>",
3840
- "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
3841
- "<%= config.bin %> <%= command.id %> --json"
3848
+ "<%= config.bin %> <%= command.id %> --all",
3849
+ "<%= config.bin %> <%= command.id %> --volumes",
3850
+ "<%= config.bin %> <%= command.id %> --dry-run"
3842
3851
  ],
3843
3852
  "flags": {
3844
- "json": {
3845
- "description": "Output as JSON for AI agents/scripts",
3846
- "name": "json",
3853
+ "force": {
3854
+ "aliases": [
3855
+ "yes",
3856
+ "y"
3857
+ ],
3858
+ "char": "f",
3859
+ "description": "Skip confirmation prompt",
3860
+ "name": "force",
3847
3861
  "allowNo": false,
3848
3862
  "type": "boolean"
3849
3863
  },
3850
- "machine": {
3851
- "char": "m",
3852
- "description": "Output as JSON for AI agents/scripts",
3853
- "name": "machine",
3864
+ "dry-run": {
3865
+ "char": "d",
3866
+ "description": "Show what would be removed without removing",
3867
+ "name": "dry-run",
3854
3868
  "allowNo": false,
3855
3869
  "type": "boolean"
3856
3870
  },
3857
- "title": {
3858
- "char": "t",
3859
- "description": "Issue title (one-liner) [required for non-interactive]",
3860
- "name": "title",
3861
- "hasDynamicHelp": false,
3862
- "multiple": false,
3863
- "type": "option"
3871
+ "all": {
3872
+ "char": "a",
3873
+ "description": "Remove all unused images, not just dangling ones",
3874
+ "name": "all",
3875
+ "allowNo": false,
3876
+ "type": "boolean"
3864
3877
  },
3865
- "body": {
3866
- "char": "b",
3867
- "description": "Issue description [required for non-interactive]",
3868
- "name": "body",
3869
- "hasDynamicHelp": false,
3870
- "multiple": false,
3871
- "type": "option"
3878
+ "volumes": {
3879
+ "description": "Also prune volumes (dangerous - data loss possible)",
3880
+ "name": "volumes",
3881
+ "allowNo": false,
3882
+ "type": "boolean"
3872
3883
  },
3873
- "category": {
3874
- "char": "c",
3875
- "description": "Feedback category",
3876
- "name": "category",
3877
- "hasDynamicHelp": false,
3878
- "multiple": false,
3879
- "options": [
3880
- "bug",
3881
- "feature",
3882
- "general"
3883
- ],
3884
- "type": "option"
3885
- }
3886
- },
3887
- "hasDynamicHelp": false,
3888
- "hiddenAliases": [],
3889
- "id": "feedback:submit",
3890
- "pluginAlias": "@proletariat/cli",
3891
- "pluginName": "@proletariat/cli",
3892
- "pluginType": "core",
3893
- "strict": true,
3894
- "isESM": true,
3895
- "relativePath": [
3896
- "dist",
3897
- "commands",
3898
- "feedback",
3899
- "submit.js"
3900
- ]
3901
- },
3902
- "feedback:view": {
3903
- "aliases": [],
3904
- "args": {
3905
- "number": {
3906
- "description": "Issue number to view",
3907
- "name": "number",
3908
- "required": true
3909
- }
3910
- },
3911
- "description": "View details of a specific feedback issue",
3912
- "examples": [
3913
- "<%= config.bin %> <%= command.id %> 123",
3914
- "<%= config.bin %> <%= command.id %> 123 --json"
3915
- ],
3916
- "flags": {
3917
3884
  "json": {
3918
3885
  "description": "Output as JSON for AI agents/scripts",
3919
3886
  "name": "json",
@@ -3930,7 +3897,7 @@
3930
3897
  },
3931
3898
  "hasDynamicHelp": false,
3932
3899
  "hiddenAliases": [],
3933
- "id": "feedback:view",
3900
+ "id": "docker:prune",
3934
3901
  "pluginAlias": "@proletariat/cli",
3935
3902
  "pluginName": "@proletariat/cli",
3936
3903
  "pluginType": "core",
@@ -3940,24 +3907,32 @@
3940
3907
  "relativePath": [
3941
3908
  "dist",
3942
3909
  "commands",
3943
- "feedback",
3944
- "view.js"
3910
+ "docker",
3911
+ "prune.js"
3945
3912
  ]
3946
3913
  },
3947
- "execution:config": {
3914
+ "docker:rebuild-cache": {
3948
3915
  "aliases": [],
3949
3916
  "args": {},
3950
- "description": "View and update execution preferences",
3917
+ "description": "Rebuild the shared pnpm store cache volume for fast agent installs",
3951
3918
  "examples": [
3952
- "<%= config.bin %> execution config # Interactive menu",
3953
- "<%= config.bin %> execution config --json # Output current config as JSON",
3954
- "<%= config.bin %> execution config --list # Show all settings",
3955
- "<%= config.bin %> execution config --set defaultEnvironment host",
3956
- "<%= config.bin %> execution config --set outputMode interactive",
3957
- "<%= config.bin %> execution config --set permissionMode safe",
3958
- "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
3919
+ "<%= config.bin %> <%= command.id %>",
3920
+ "<%= config.bin %> <%= command.id %> --force"
3959
3921
  ],
3960
3922
  "flags": {
3923
+ "force": {
3924
+ "char": "f",
3925
+ "description": "Delete and rebuild the cache even if it already exists",
3926
+ "name": "force",
3927
+ "allowNo": false,
3928
+ "type": "boolean"
3929
+ },
3930
+ "delete-only": {
3931
+ "description": "Only delete the cache volume (next agent spawn rebuilds it)",
3932
+ "name": "delete-only",
3933
+ "allowNo": false,
3934
+ "type": "boolean"
3935
+ },
3961
3936
  "json": {
3962
3937
  "description": "Output as JSON for AI agents/scripts",
3963
3938
  "name": "json",
@@ -3970,56 +3945,60 @@
3970
3945
  "name": "machine",
3971
3946
  "allowNo": false,
3972
3947
  "type": "boolean"
3973
- },
3974
- "set": {
3975
- "char": "s",
3976
- "description": "Set a config value (format: key value)",
3977
- "name": "set",
3978
- "hasDynamicHelp": false,
3979
- "multiple": true,
3980
- "type": "option"
3981
- },
3982
- "list": {
3983
- "char": "l",
3984
- "description": "List all configuration values",
3985
- "name": "list",
3986
- "allowNo": false,
3987
- "type": "boolean"
3988
- },
3989
- "setting": {
3990
- "description": "Navigate to a specific setting prompt (for agent navigation)",
3991
- "name": "setting",
3992
- "hasDynamicHelp": false,
3993
- "multiple": false,
3994
- "type": "option"
3995
3948
  }
3996
3949
  },
3997
3950
  "hasDynamicHelp": false,
3998
3951
  "hiddenAliases": [],
3999
- "id": "execution:config",
3952
+ "id": "docker:rebuild-cache",
4000
3953
  "pluginAlias": "@proletariat/cli",
4001
3954
  "pluginName": "@proletariat/cli",
4002
3955
  "pluginType": "core",
4003
3956
  "strict": true,
3957
+ "enableJsonFlag": false,
4004
3958
  "isESM": true,
4005
3959
  "relativePath": [
4006
3960
  "dist",
4007
3961
  "commands",
4008
- "execution",
4009
- "config.js"
3962
+ "docker",
3963
+ "rebuild-cache.js"
4010
3964
  ]
4011
3965
  },
4012
- "execution": {
3966
+ "docker:restart": {
4013
3967
  "aliases": [],
4014
- "args": {},
4015
- "description": "Single execution operations (view, logs, stop)",
3968
+ "args": {
3969
+ "target": {
3970
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3971
+ "name": "target",
3972
+ "required": true
3973
+ }
3974
+ },
3975
+ "description": "Restart a container (by execution ID, agent name, or container ID)",
4016
3976
  "examples": [
4017
- "<%= config.bin %> <%= command.id %>",
4018
- "<%= config.bin %> <%= command.id %> view WORK-001",
4019
- "<%= config.bin %> <%= command.id %> logs WORK-001",
4020
- "<%= config.bin %> <%= command.id %> stop WORK-001"
3977
+ "<%= config.bin %> <%= command.id %> WORK-001",
3978
+ "<%= config.bin %> <%= command.id %> kalanick",
3979
+ "<%= config.bin %> <%= command.id %> abc123 --force"
4021
3980
  ],
4022
3981
  "flags": {
3982
+ "force": {
3983
+ "aliases": [
3984
+ "yes",
3985
+ "y"
3986
+ ],
3987
+ "char": "f",
3988
+ "description": "Skip confirmation prompt",
3989
+ "name": "force",
3990
+ "allowNo": false,
3991
+ "type": "boolean"
3992
+ },
3993
+ "time": {
3994
+ "char": "t",
3995
+ "description": "Seconds to wait before killing the container during stop",
3996
+ "name": "time",
3997
+ "default": 10,
3998
+ "hasDynamicHelp": false,
3999
+ "multiple": false,
4000
+ "type": "option"
4001
+ },
4023
4002
  "json": {
4024
4003
  "description": "Output as JSON for AI agents/scripts",
4025
4004
  "name": "json",
@@ -4036,28 +4015,34 @@
4036
4015
  },
4037
4016
  "hasDynamicHelp": false,
4038
4017
  "hiddenAliases": [],
4039
- "id": "execution",
4018
+ "id": "docker:restart",
4040
4019
  "pluginAlias": "@proletariat/cli",
4041
4020
  "pluginName": "@proletariat/cli",
4042
4021
  "pluginType": "core",
4043
4022
  "strict": true,
4023
+ "enableJsonFlag": false,
4044
4024
  "isESM": true,
4045
4025
  "relativePath": [
4046
4026
  "dist",
4047
4027
  "commands",
4048
- "execution",
4049
- "index.js"
4028
+ "docker",
4029
+ "restart.js"
4050
4030
  ]
4051
4031
  },
4052
- "execution:list": {
4032
+ "docker:shell": {
4053
4033
  "aliases": [],
4054
- "args": {},
4055
- "description": "List running and recent executions",
4034
+ "args": {
4035
+ "target": {
4036
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4037
+ "name": "target",
4038
+ "required": true
4039
+ }
4040
+ },
4041
+ "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
4056
4042
  "examples": [
4057
- "<%= config.bin %> <%= command.id %>",
4058
- "<%= config.bin %> <%= command.id %> --status running",
4059
- "<%= config.bin %> <%= command.id %> --agent alice",
4060
- "<%= config.bin %> <%= command.id %> --limit 50"
4043
+ "<%= config.bin %> <%= command.id %> WORK-001",
4044
+ "<%= config.bin %> <%= command.id %> kalanick",
4045
+ "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
4061
4046
  ],
4062
4047
  "flags": {
4063
4048
  "json": {
@@ -4073,34 +4058,27 @@
4073
4058
  "allowNo": false,
4074
4059
  "type": "boolean"
4075
4060
  },
4076
- "status": {
4061
+ "shell": {
4077
4062
  "char": "s",
4078
- "description": "Filter by status",
4079
- "name": "status",
4080
- "hasDynamicHelp": false,
4063
+ "description": "Shell to use",
4064
+ "name": "shell",
4065
+ "default": "/bin/sh",
4066
+ "hasDynamicHelp": false,
4081
4067
  "multiple": false,
4082
- "options": [
4083
- "starting",
4084
- "running",
4085
- "completed",
4086
- "failed",
4087
- "stopped"
4088
- ],
4089
4068
  "type": "option"
4090
4069
  },
4091
- "agent": {
4092
- "char": "a",
4093
- "description": "Filter by agent name",
4094
- "name": "agent",
4070
+ "user": {
4071
+ "char": "u",
4072
+ "description": "User to run as",
4073
+ "name": "user",
4095
4074
  "hasDynamicHelp": false,
4096
4075
  "multiple": false,
4097
4076
  "type": "option"
4098
4077
  },
4099
- "limit": {
4100
- "char": "l",
4101
- "description": "Number of results",
4102
- "name": "limit",
4103
- "default": 20,
4078
+ "workdir": {
4079
+ "char": "w",
4080
+ "description": "Working directory inside the container",
4081
+ "name": "workdir",
4104
4082
  "hasDynamicHelp": false,
4105
4083
  "multiple": false,
4106
4084
  "type": "option"
@@ -4108,34 +4086,34 @@
4108
4086
  },
4109
4087
  "hasDynamicHelp": false,
4110
4088
  "hiddenAliases": [],
4111
- "id": "execution:list",
4089
+ "id": "docker:shell",
4112
4090
  "pluginAlias": "@proletariat/cli",
4113
4091
  "pluginName": "@proletariat/cli",
4114
4092
  "pluginType": "core",
4115
4093
  "strict": true,
4094
+ "enableJsonFlag": false,
4116
4095
  "isESM": true,
4117
4096
  "relativePath": [
4118
4097
  "dist",
4119
4098
  "commands",
4120
- "execution",
4121
- "list.js"
4099
+ "docker",
4100
+ "shell.js"
4122
4101
  ]
4123
4102
  },
4124
- "execution:logs": {
4103
+ "docker:start": {
4125
4104
  "aliases": [],
4126
4105
  "args": {
4127
- "id": {
4128
- "description": "Execution ID - prompts if not provided",
4129
- "name": "id",
4130
- "required": false
4106
+ "target": {
4107
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4108
+ "name": "target",
4109
+ "required": true
4131
4110
  }
4132
4111
  },
4133
- "description": "View execution logs",
4112
+ "description": "Start a stopped container (by execution ID, agent name, or container ID)",
4134
4113
  "examples": [
4135
4114
  "<%= config.bin %> <%= command.id %> WORK-001",
4136
- "<%= config.bin %> <%= command.id %> WORK-001 --follow",
4137
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
4138
- "<%= config.bin %> <%= command.id %> # Interactive mode"
4115
+ "<%= config.bin %> <%= command.id %> kalanick",
4116
+ "<%= config.bin %> <%= command.id %> abc123"
4139
4117
  ],
4140
4118
  "flags": {
4141
4119
  "json": {
@@ -4151,54 +4129,36 @@
4151
4129
  "allowNo": false,
4152
4130
  "type": "boolean"
4153
4131
  },
4154
- "follow": {
4155
- "char": "f",
4156
- "description": "Stream logs in real-time",
4157
- "name": "follow",
4132
+ "attach": {
4133
+ "char": "a",
4134
+ "description": "Attach to container after starting",
4135
+ "name": "attach",
4158
4136
  "allowNo": false,
4159
4137
  "type": "boolean"
4160
- },
4161
- "tail": {
4162
- "char": "n",
4163
- "description": "Show last n lines",
4164
- "name": "tail",
4165
- "hasDynamicHelp": false,
4166
- "multiple": false,
4167
- "type": "option"
4168
4138
  }
4169
4139
  },
4170
4140
  "hasDynamicHelp": false,
4171
4141
  "hiddenAliases": [],
4172
- "id": "execution:logs",
4142
+ "id": "docker:start",
4173
4143
  "pluginAlias": "@proletariat/cli",
4174
4144
  "pluginName": "@proletariat/cli",
4175
4145
  "pluginType": "core",
4176
4146
  "strict": true,
4147
+ "enableJsonFlag": false,
4177
4148
  "isESM": true,
4178
4149
  "relativePath": [
4179
4150
  "dist",
4180
4151
  "commands",
4181
- "execution",
4182
- "logs.js"
4152
+ "docker",
4153
+ "start.js"
4183
4154
  ]
4184
4155
  },
4185
- "execution:stop": {
4156
+ "docker:status": {
4186
4157
  "aliases": [],
4187
- "args": {
4188
- "id": {
4189
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
4190
- "name": "id",
4191
- "required": false
4192
- }
4193
- },
4194
- "description": "Stop running execution(s)",
4158
+ "args": {},
4159
+ "description": "Check if Docker daemon is running",
4195
4160
  "examples": [
4196
- "<%= config.bin %> <%= command.id %> WORK-001",
4197
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
4198
- "<%= config.bin %> <%= command.id %> # Interactive mode",
4199
- "<%= config.bin %> <%= command.id %> --all",
4200
- "<%= config.bin %> <%= command.id %> --all --force",
4201
- "<%= config.bin %> <%= command.id %> --agent altman"
4161
+ "<%= config.bin %> <%= command.id %>"
4202
4162
  ],
4203
4163
  "flags": {
4204
4164
  "json": {
@@ -4213,57 +4173,96 @@
4213
4173
  "name": "machine",
4214
4174
  "allowNo": false,
4215
4175
  "type": "boolean"
4216
- },
4176
+ }
4177
+ },
4178
+ "hasDynamicHelp": false,
4179
+ "hiddenAliases": [],
4180
+ "id": "docker:status",
4181
+ "pluginAlias": "@proletariat/cli",
4182
+ "pluginName": "@proletariat/cli",
4183
+ "pluginType": "core",
4184
+ "strict": true,
4185
+ "enableJsonFlag": false,
4186
+ "isESM": true,
4187
+ "relativePath": [
4188
+ "dist",
4189
+ "commands",
4190
+ "docker",
4191
+ "status.js"
4192
+ ]
4193
+ },
4194
+ "docker:stop": {
4195
+ "aliases": [],
4196
+ "args": {
4197
+ "target": {
4198
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4199
+ "name": "target",
4200
+ "required": true
4201
+ }
4202
+ },
4203
+ "description": "Stop a running container (by execution ID, agent name, or container ID)",
4204
+ "examples": [
4205
+ "<%= config.bin %> <%= command.id %> WORK-001",
4206
+ "<%= config.bin %> <%= command.id %> kalanick",
4207
+ "<%= config.bin %> <%= command.id %> abc123 --force"
4208
+ ],
4209
+ "flags": {
4217
4210
  "force": {
4211
+ "aliases": [
4212
+ "yes",
4213
+ "y"
4214
+ ],
4218
4215
  "char": "f",
4219
- "description": "Force kill (SIGKILL instead of SIGTERM)",
4216
+ "description": "Skip confirmation prompt",
4220
4217
  "name": "force",
4221
4218
  "allowNo": false,
4222
4219
  "type": "boolean"
4223
4220
  },
4224
- "all": {
4225
- "description": "Stop all running executions",
4226
- "name": "all",
4227
- "allowNo": false,
4228
- "type": "boolean"
4229
- },
4230
- "agent": {
4231
- "char": "a",
4232
- "description": "Stop all executions for a specific agent",
4233
- "name": "agent",
4221
+ "time": {
4222
+ "char": "t",
4223
+ "description": "Seconds to wait before killing the container",
4224
+ "name": "time",
4225
+ "default": 10,
4234
4226
  "hasDynamicHelp": false,
4235
4227
  "multiple": false,
4236
4228
  "type": "option"
4229
+ },
4230
+ "json": {
4231
+ "description": "Output as JSON for AI agents/scripts",
4232
+ "name": "json",
4233
+ "allowNo": false,
4234
+ "type": "boolean"
4235
+ },
4236
+ "machine": {
4237
+ "char": "m",
4238
+ "description": "Output as JSON for AI agents/scripts",
4239
+ "name": "machine",
4240
+ "allowNo": false,
4241
+ "type": "boolean"
4237
4242
  }
4238
4243
  },
4239
4244
  "hasDynamicHelp": false,
4240
4245
  "hiddenAliases": [],
4241
- "id": "execution:stop",
4246
+ "id": "docker:stop",
4242
4247
  "pluginAlias": "@proletariat/cli",
4243
4248
  "pluginName": "@proletariat/cli",
4244
4249
  "pluginType": "core",
4245
4250
  "strict": true,
4251
+ "enableJsonFlag": false,
4246
4252
  "isESM": true,
4247
4253
  "relativePath": [
4248
4254
  "dist",
4249
4255
  "commands",
4250
- "execution",
4256
+ "docker",
4251
4257
  "stop.js"
4252
4258
  ]
4253
4259
  },
4254
- "execution:view": {
4260
+ "docker:sync": {
4255
4261
  "aliases": [],
4256
- "args": {
4257
- "id": {
4258
- "description": "Execution ID - prompts if not provided",
4259
- "name": "id",
4260
- "required": false
4261
- }
4262
- },
4263
- "description": "View details of a specific execution",
4262
+ "args": {},
4263
+ "description": "Sync container status from Docker into the database",
4264
4264
  "examples": [
4265
- "<%= config.bin %> <%= command.id %> WORK-001",
4266
- "<%= config.bin %> <%= command.id %> # Interactive mode"
4265
+ "<%= config.bin %> <%= command.id %>"
4267
4266
  ],
4268
4267
  "flags": {
4269
4268
  "json": {
@@ -4282,17 +4281,18 @@
4282
4281
  },
4283
4282
  "hasDynamicHelp": false,
4284
4283
  "hiddenAliases": [],
4285
- "id": "execution:view",
4284
+ "id": "docker:sync",
4286
4285
  "pluginAlias": "@proletariat/cli",
4287
4286
  "pluginName": "@proletariat/cli",
4288
4287
  "pluginType": "core",
4289
4288
  "strict": true,
4289
+ "enableJsonFlag": false,
4290
4290
  "isESM": true,
4291
4291
  "relativePath": [
4292
4292
  "dist",
4293
4293
  "commands",
4294
- "execution",
4295
- "view.js"
4294
+ "docker",
4295
+ "sync.js"
4296
4296
  ]
4297
4297
  },
4298
4298
  "gh": {
@@ -8919,32 +8919,30 @@
8919
8919
  "set.js"
8920
8920
  ]
8921
8921
  },
8922
- "ticket:create": {
8922
+ "tools:add": {
8923
8923
  "aliases": [],
8924
- "args": {},
8925
- "description": "Create a new ticket (routes to Linear when configured, or local PMO)",
8924
+ "args": {
8925
+ "type": {
8926
+ "description": "Tool type (mcp or cli)",
8927
+ "name": "type",
8928
+ "options": [
8929
+ "mcp",
8930
+ "cli"
8931
+ ],
8932
+ "required": true
8933
+ },
8934
+ "name": {
8935
+ "description": "Tool name (unique identifier)",
8936
+ "name": "name",
8937
+ "required": true
8938
+ }
8939
+ },
8940
+ "description": "Register an MCP server or CLI tool",
8926
8941
  "examples": [
8927
- "<%= config.bin %> <%= command.id %>",
8928
- "<%= config.bin %> <%= command.id %> --title \"Fix login bug\" --column Backlog",
8929
- "<%= config.bin %> <%= command.id %> -t \"Add feature\" -c \"In Progress\" -p P1",
8930
- "<%= config.bin %> <%= command.id %> --project mobile-app -t \"New feature\"",
8931
- "<%= config.bin %> <%= command.id %> --epic EPIC-001 -t \"Implement auth flow\"",
8932
- "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file ./ticket-desc.md",
8933
- "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file - # Read from stdin",
8934
- "<%= config.bin %> <%= command.id %> --json # Output column choices as JSON",
8935
- "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating",
8936
- "<%= config.bin %> <%= command.id %> --source linear -t \"Fix bug\" --team ENG",
8937
- "<%= config.bin %> <%= command.id %> --source pmo -t \"Local task\" -c Backlog"
8942
+ "<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description \"Arcade integrations\"",
8943
+ "<%= config.bin %> tools add cli gh --command gh --detect \"which gh\" --install \"brew install gh\" --description \"GitHub CLI\""
8938
8944
  ],
8939
8945
  "flags": {
8940
- "project": {
8941
- "char": "P",
8942
- "description": "Project ID (uses first project if only one exists)",
8943
- "name": "project",
8944
- "hasDynamicHelp": false,
8945
- "multiple": false,
8946
- "type": "option"
8947
- },
8948
8946
  "json": {
8949
8947
  "description": "Output as JSON for AI agents/scripts",
8950
8948
  "name": "json",
@@ -8958,119 +8956,46 @@
8958
8956
  "allowNo": false,
8959
8957
  "type": "boolean"
8960
8958
  },
8961
- "title": {
8962
- "char": "t",
8963
- "description": "Ticket title [required for non-interactive]",
8964
- "name": "title",
8959
+ "url": {
8960
+ "description": "MCP server URL (for remote servers)",
8961
+ "name": "url",
8965
8962
  "hasDynamicHelp": false,
8966
8963
  "multiple": false,
8967
8964
  "type": "option"
8968
8965
  },
8969
- "column": {
8970
- "char": "c",
8971
- "description": "Column to place the ticket in",
8972
- "name": "column",
8966
+ "command": {
8967
+ "description": "Command to run (MCP server command or CLI tool binary)",
8968
+ "name": "command",
8973
8969
  "hasDynamicHelp": false,
8974
8970
  "multiple": false,
8975
8971
  "type": "option"
8976
8972
  },
8977
- "priority": {
8978
- "char": "p",
8979
- "description": "Ticket priority (uses workspace priority scale)",
8980
- "name": "priority",
8973
+ "auth": {
8974
+ "description": "Environment variable for authentication (e.g., ARCADE_API_KEY)",
8975
+ "name": "auth",
8981
8976
  "hasDynamicHelp": false,
8982
8977
  "multiple": false,
8983
8978
  "type": "option"
8984
8979
  },
8985
- "category": {
8986
- "description": "Ticket category (e.g., bug, feature, refactor)",
8987
- "name": "category",
8988
- "hasDynamicHelp": false,
8989
- "multiple": false,
8990
- "type": "option"
8991
- },
8992
- "description": {
8993
- "char": "d",
8994
- "description": "Ticket description",
8995
- "name": "description",
8996
- "hasDynamicHelp": false,
8997
- "multiple": false,
8998
- "type": "option"
8999
- },
9000
- "description-file": {
9001
- "char": "D",
9002
- "description": "Path to a markdown file for the ticket description (use - for stdin)",
9003
- "exclusive": [
9004
- "description"
9005
- ],
9006
- "name": "description-file",
9007
- "hasDynamicHelp": false,
9008
- "multiple": false,
9009
- "type": "option"
9010
- },
9011
- "id": {
9012
- "description": "Custom ticket ID (auto-generated if not provided)",
9013
- "name": "id",
9014
- "hasDynamicHelp": false,
9015
- "multiple": false,
9016
- "type": "option"
9017
- },
9018
- "interactive": {
9019
- "char": "i",
9020
- "description": "Interactive mode",
9021
- "name": "interactive",
9022
- "allowNo": false,
9023
- "type": "boolean"
9024
- },
9025
- "epic": {
9026
- "char": "e",
9027
- "description": "Link ticket to an epic (e.g., EPIC-001)",
9028
- "name": "epic",
9029
- "hasDynamicHelp": false,
9030
- "multiple": false,
9031
- "type": "option"
9032
- },
9033
- "template": {
9034
- "char": "T",
9035
- "description": "Create from a template (e.g., bug-report, feature-request)",
9036
- "name": "template",
9037
- "hasDynamicHelp": false,
9038
- "multiple": false,
9039
- "type": "option"
9040
- },
9041
- "labels": {
9042
- "aliases": [
9043
- "label"
9044
- ],
9045
- "char": "l",
9046
- "description": "Labels (comma-separated)",
9047
- "name": "labels",
8980
+ "detect": {
8981
+ "description": "Shell command to detect if CLI tool is installed",
8982
+ "name": "detect",
9048
8983
  "hasDynamicHelp": false,
9049
8984
  "multiple": false,
9050
8985
  "type": "option"
9051
8986
  },
9052
- "dry-run": {
9053
- "description": "Validate inputs without creating ticket (use with --json for structured output)",
9054
- "name": "dry-run",
9055
- "allowNo": false,
9056
- "type": "boolean"
9057
- },
9058
- "source": {
9059
- "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
9060
- "name": "source",
9061
- "default": "auto",
8987
+ "install": {
8988
+ "description": "Shell command to install the CLI tool",
8989
+ "name": "install",
9062
8990
  "hasDynamicHelp": false,
9063
8991
  "multiple": false,
9064
- "options": [
9065
- "auto",
9066
- "pmo",
9067
- "linear"
9068
- ],
9069
8992
  "type": "option"
9070
8993
  },
9071
- "team": {
9072
- "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
9073
- "name": "team",
8994
+ "description": {
8995
+ "char": "d",
8996
+ "description": "Human-readable description",
8997
+ "name": "description",
8998
+ "required": true,
9074
8999
  "hasDynamicHelp": false,
9075
9000
  "multiple": false,
9076
9001
  "type": "option"
@@ -9078,7 +9003,7 @@
9078
9003
  },
9079
9004
  "hasDynamicHelp": false,
9080
9005
  "hiddenAliases": [],
9081
- "id": "ticket:create",
9006
+ "id": "tools:add",
9082
9007
  "pluginAlias": "@proletariat/cli",
9083
9008
  "pluginName": "@proletariat/cli",
9084
9009
  "pluginType": "core",
@@ -9087,36 +9012,19 @@
9087
9012
  "relativePath": [
9088
9013
  "dist",
9089
9014
  "commands",
9090
- "ticket",
9091
- "create.js"
9015
+ "tools",
9016
+ "add.js"
9092
9017
  ]
9093
9018
  },
9094
- "ticket:delete": {
9019
+ "tools:check": {
9095
9020
  "aliases": [],
9096
- "args": {
9097
- "ticketId": {
9098
- "description": "Ticket ID to delete - prompts with dropdown if not provided",
9099
- "name": "ticketId",
9100
- "required": false
9101
- }
9102
- },
9103
- "description": "Delete ticket(s) permanently",
9021
+ "args": {},
9022
+ "description": "Verify all registered tools are available and healthy",
9104
9023
  "examples": [
9105
- "<%= config.bin %> <%= command.id %> TICK-001",
9106
- "<%= config.bin %> <%= command.id %> TICK-001 --force",
9107
- "<%= config.bin %> <%= command.id %> # Interactive mode",
9108
- "<%= config.bin %> <%= command.id %> --bulk",
9109
- "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
9024
+ "<%= config.bin %> tools check",
9025
+ "<%= config.bin %> tools check --json"
9110
9026
  ],
9111
9027
  "flags": {
9112
- "project": {
9113
- "char": "P",
9114
- "description": "Project ID (uses first project if only one exists)",
9115
- "name": "project",
9116
- "hasDynamicHelp": false,
9117
- "multiple": false,
9118
- "type": "option"
9119
- },
9120
9028
  "json": {
9121
9029
  "description": "Output as JSON for AI agents/scripts",
9122
9030
  "name": "json",
@@ -9129,64 +9037,34 @@
9129
9037
  "name": "machine",
9130
9038
  "allowNo": false,
9131
9039
  "type": "boolean"
9132
- },
9133
- "force": {
9134
- "char": "f",
9135
- "description": "Skip confirmation prompt",
9136
- "name": "force",
9137
- "allowNo": false,
9138
- "type": "boolean"
9139
- },
9140
- "bulk": {
9141
- "char": "b",
9142
- "description": "Enable bulk mode to delete multiple tickets",
9143
- "name": "bulk",
9144
- "allowNo": false,
9145
- "type": "boolean"
9146
9040
  }
9147
9041
  },
9148
9042
  "hasDynamicHelp": false,
9149
9043
  "hiddenAliases": [],
9150
- "id": "ticket:delete",
9044
+ "id": "tools:check",
9151
9045
  "pluginAlias": "@proletariat/cli",
9152
9046
  "pluginName": "@proletariat/cli",
9153
9047
  "pluginType": "core",
9154
9048
  "strict": true,
9049
+ "enableJsonFlag": false,
9155
9050
  "isESM": true,
9156
9051
  "relativePath": [
9157
9052
  "dist",
9158
9053
  "commands",
9159
- "ticket",
9160
- "delete.js"
9054
+ "tools",
9055
+ "check.js"
9161
9056
  ]
9162
9057
  },
9163
- "ticket:edit": {
9058
+ "tools:detect": {
9164
9059
  "aliases": [],
9165
- "args": {
9166
- "ticketId": {
9167
- "description": "Ticket ID to edit - prompts with dropdown if not provided",
9168
- "name": "ticketId",
9169
- "required": false
9170
- }
9171
- },
9172
- "description": "Edit an existing ticket",
9060
+ "args": {},
9061
+ "description": "Auto-detect common CLI tools on the system and register them",
9173
9062
  "examples": [
9174
- "<%= config.bin %> <%= command.id %> TICK-001",
9175
- "<%= config.bin %> <%= command.id %> TICK-001 --title \"New title\"",
9176
- "<%= config.bin %> <%= command.id %> TICK-001 --priority P1 --category bug",
9177
- "<%= config.bin %> <%= command.id %> TICK-001 --add-subtask \"Implement feature\" --add-subtask \"Write tests\"",
9178
- "<%= config.bin %> <%= command.id %> TICK-001 --owner \"john\" --assignee \"agent-1\"",
9179
- "<%= config.bin %> <%= command.id %> # Interactive mode"
9063
+ "<%= config.bin %> tools detect",
9064
+ "<%= config.bin %> tools detect --auto",
9065
+ "<%= config.bin %> tools detect --json"
9180
9066
  ],
9181
9067
  "flags": {
9182
- "project": {
9183
- "char": "P",
9184
- "description": "Project ID (uses first project if only one exists)",
9185
- "name": "project",
9186
- "hasDynamicHelp": false,
9187
- "multiple": false,
9188
- "type": "option"
9189
- },
9190
9068
  "json": {
9191
9069
  "description": "Output as JSON for AI agents/scripts",
9192
9070
  "name": "json",
@@ -9200,122 +9078,83 @@
9200
9078
  "allowNo": false,
9201
9079
  "type": "boolean"
9202
9080
  },
9203
- "title": {
9204
- "char": "t",
9205
- "description": "New ticket title",
9206
- "name": "title",
9207
- "hasDynamicHelp": false,
9208
- "multiple": false,
9209
- "type": "option"
9210
- },
9211
- "description": {
9212
- "char": "d",
9213
- "description": "New ticket description",
9214
- "name": "description",
9215
- "hasDynamicHelp": false,
9216
- "multiple": false,
9217
- "type": "option"
9218
- },
9219
- "priority": {
9220
- "char": "p",
9221
- "description": "New ticket priority (uses workspace priority scale, \"none\" to clear)",
9222
- "name": "priority",
9223
- "hasDynamicHelp": false,
9224
- "multiple": false,
9225
- "type": "option"
9226
- },
9227
- "category": {
9228
- "description": "New ticket category",
9229
- "name": "category",
9230
- "hasDynamicHelp": false,
9231
- "multiple": false,
9232
- "type": "option"
9233
- },
9234
- "owner": {
9235
- "char": "o",
9236
- "description": "Ticket owner (human responsible)",
9237
- "name": "owner",
9238
- "hasDynamicHelp": false,
9239
- "multiple": false,
9240
- "type": "option"
9241
- },
9242
- "assignee": {
9243
- "char": "a",
9244
- "description": "Ticket assignee (who executes)",
9245
- "name": "assignee",
9246
- "hasDynamicHelp": false,
9247
- "multiple": false,
9248
- "type": "option"
9249
- },
9250
- "add-subtask": {
9251
- "description": "Add a subtask (can be used multiple times)",
9252
- "name": "add-subtask",
9253
- "hasDynamicHelp": false,
9254
- "multiple": true,
9255
- "type": "option"
9256
- },
9257
- "clear-subtasks": {
9258
- "description": "Clear all existing subtasks before adding new ones",
9259
- "name": "clear-subtasks",
9081
+ "auto": {
9082
+ "description": "Automatically register all detected tools without prompting",
9083
+ "name": "auto",
9260
9084
  "allowNo": false,
9261
9085
  "type": "boolean"
9262
- },
9263
- "add-label": {
9264
- "description": "Add a label (can be used multiple times)",
9265
- "name": "add-label",
9266
- "hasDynamicHelp": false,
9267
- "multiple": true,
9268
- "type": "option"
9269
- },
9270
- "remove-label": {
9271
- "description": "Remove a label",
9272
- "name": "remove-label",
9273
- "hasDynamicHelp": false,
9274
- "multiple": true,
9275
- "type": "option"
9276
- },
9277
- "add-ac": {
9278
- "description": "Add an acceptance criterion (can be used multiple times)",
9279
- "name": "add-ac",
9280
- "hasDynamicHelp": false,
9281
- "multiple": true,
9282
- "type": "option"
9283
- },
9284
- "clear-ac": {
9285
- "description": "Clear all existing acceptance criteria before adding new ones",
9286
- "name": "clear-ac",
9086
+ }
9087
+ },
9088
+ "hasDynamicHelp": false,
9089
+ "hiddenAliases": [],
9090
+ "id": "tools:detect",
9091
+ "pluginAlias": "@proletariat/cli",
9092
+ "pluginName": "@proletariat/cli",
9093
+ "pluginType": "core",
9094
+ "strict": true,
9095
+ "enableJsonFlag": false,
9096
+ "isESM": true,
9097
+ "relativePath": [
9098
+ "dist",
9099
+ "commands",
9100
+ "tools",
9101
+ "detect.js"
9102
+ ]
9103
+ },
9104
+ "tools": {
9105
+ "aliases": [
9106
+ "tools:list"
9107
+ ],
9108
+ "args": {},
9109
+ "description": "Show all registered MCP servers and CLI tools",
9110
+ "examples": [
9111
+ "<%= config.bin %> tools",
9112
+ "<%= config.bin %> tools --json"
9113
+ ],
9114
+ "flags": {
9115
+ "json": {
9116
+ "description": "Output as JSON for AI agents/scripts",
9117
+ "name": "json",
9287
9118
  "allowNo": false,
9288
9119
  "type": "boolean"
9289
9120
  },
9290
- "interactive": {
9291
- "char": "i",
9292
- "description": "Interactive mode - prompts for all fields",
9293
- "name": "interactive",
9121
+ "machine": {
9122
+ "char": "m",
9123
+ "description": "Output as JSON for AI agents/scripts",
9124
+ "name": "machine",
9294
9125
  "allowNo": false,
9295
9126
  "type": "boolean"
9296
9127
  }
9297
9128
  },
9298
9129
  "hasDynamicHelp": false,
9299
9130
  "hiddenAliases": [],
9300
- "id": "ticket:edit",
9131
+ "id": "tools",
9301
9132
  "pluginAlias": "@proletariat/cli",
9302
9133
  "pluginName": "@proletariat/cli",
9303
9134
  "pluginType": "core",
9304
9135
  "strict": true,
9136
+ "enableJsonFlag": false,
9305
9137
  "isESM": true,
9306
9138
  "relativePath": [
9307
9139
  "dist",
9308
9140
  "commands",
9309
- "ticket",
9310
- "edit.js"
9141
+ "tools",
9142
+ "index.js"
9311
9143
  ]
9312
9144
  },
9313
- "ticket": {
9145
+ "tools:remove": {
9314
9146
  "aliases": [],
9315
- "args": {},
9316
- "description": "Interactive menu for ticket operations",
9147
+ "args": {
9148
+ "name": {
9149
+ "description": "Tool name to remove",
9150
+ "name": "name",
9151
+ "required": true
9152
+ }
9153
+ },
9154
+ "description": "Remove a tool from the registry",
9317
9155
  "examples": [
9318
- "<%= config.bin %> <%= command.id %>"
9156
+ "<%= config.bin %> tools remove arcade",
9157
+ "<%= config.bin %> tools remove ffmpeg"
9319
9158
  ],
9320
9159
  "flags": {
9321
9160
  "json": {
@@ -9334,35 +9173,36 @@
9334
9173
  },
9335
9174
  "hasDynamicHelp": false,
9336
9175
  "hiddenAliases": [],
9337
- "id": "ticket",
9176
+ "id": "tools:remove",
9338
9177
  "pluginAlias": "@proletariat/cli",
9339
9178
  "pluginName": "@proletariat/cli",
9340
9179
  "pluginType": "core",
9341
9180
  "strict": true,
9181
+ "enableJsonFlag": false,
9342
9182
  "isESM": true,
9343
9183
  "relativePath": [
9344
9184
  "dist",
9345
9185
  "commands",
9346
- "ticket",
9347
- "index.js"
9186
+ "tools",
9187
+ "remove.js"
9348
9188
  ]
9349
9189
  },
9350
- "ticket:list": {
9190
+ "ticket:create": {
9351
9191
  "aliases": [],
9352
9192
  "args": {},
9353
- "description": "List tickets from the PMO board",
9193
+ "description": "Create a new ticket (routes to Linear when configured, or local PMO)",
9354
9194
  "examples": [
9355
9195
  "<%= config.bin %> <%= command.id %>",
9356
- "<%= config.bin %> <%= command.id %> --column Backlog",
9357
- "<%= config.bin %> <%= command.id %> --priority P0",
9358
- "<%= config.bin %> <%= command.id %> --category bug",
9359
- "<%= config.bin %> <%= command.id %> --search \"login\"",
9360
- "<%= config.bin %> <%= command.id %> --project mobile-app",
9361
- "<%= config.bin %> <%= command.id %> --all",
9362
- "<%= config.bin %> <%= command.id %> --all --group-by priority",
9363
- "<%= config.bin %> <%= command.id %> -g priority",
9364
- "<%= config.bin %> <%= command.id %> --limit 10",
9365
- "<%= config.bin %> <%= command.id %> --limit 10 --offset 20"
9196
+ "<%= config.bin %> <%= command.id %> --title \"Fix login bug\" --column Backlog",
9197
+ "<%= config.bin %> <%= command.id %> -t \"Add feature\" -c \"In Progress\" -p P1",
9198
+ "<%= config.bin %> <%= command.id %> --project mobile-app -t \"New feature\"",
9199
+ "<%= config.bin %> <%= command.id %> --epic EPIC-001 -t \"Implement auth flow\"",
9200
+ "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file ./ticket-desc.md",
9201
+ "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file - # Read from stdin",
9202
+ "<%= config.bin %> <%= command.id %> --json # Output column choices as JSON",
9203
+ "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating",
9204
+ "<%= config.bin %> <%= command.id %> --source linear -t \"Fix bug\" --team ENG",
9205
+ "<%= config.bin %> <%= command.id %> --source pmo -t \"Local task\" -c Backlog"
9366
9206
  ],
9367
9207
  "flags": {
9368
9208
  "project": {
@@ -9386,9 +9226,17 @@
9386
9226
  "allowNo": false,
9387
9227
  "type": "boolean"
9388
9228
  },
9229
+ "title": {
9230
+ "char": "t",
9231
+ "description": "Ticket title [required for non-interactive]",
9232
+ "name": "title",
9233
+ "hasDynamicHelp": false,
9234
+ "multiple": false,
9235
+ "type": "option"
9236
+ },
9389
9237
  "column": {
9390
9238
  "char": "c",
9391
- "description": "Filter by column",
9239
+ "description": "Column to place the ticket in",
9392
9240
  "name": "column",
9393
9241
  "hasDynamicHelp": false,
9394
9242
  "multiple": false,
@@ -9396,82 +9244,84 @@
9396
9244
  },
9397
9245
  "priority": {
9398
9246
  "char": "p",
9399
- "description": "Filter by priority (uses workspace priority scale)",
9247
+ "description": "Ticket priority (uses workspace priority scale)",
9400
9248
  "name": "priority",
9401
9249
  "hasDynamicHelp": false,
9402
9250
  "multiple": false,
9403
9251
  "type": "option"
9404
9252
  },
9405
9253
  "category": {
9406
- "description": "Filter by category",
9254
+ "description": "Ticket category (e.g., bug, feature, refactor)",
9407
9255
  "name": "category",
9408
9256
  "hasDynamicHelp": false,
9409
9257
  "multiple": false,
9410
9258
  "type": "option"
9411
9259
  },
9412
- "search": {
9413
- "char": "s",
9414
- "description": "Search in title and description",
9415
- "name": "search",
9260
+ "description": {
9261
+ "char": "d",
9262
+ "description": "Ticket description",
9263
+ "name": "description",
9264
+ "hasDynamicHelp": false,
9265
+ "multiple": false,
9266
+ "type": "option"
9267
+ },
9268
+ "description-file": {
9269
+ "char": "D",
9270
+ "description": "Path to a markdown file for the ticket description (use - for stdin)",
9271
+ "exclusive": [
9272
+ "description"
9273
+ ],
9274
+ "name": "description-file",
9416
9275
  "hasDynamicHelp": false,
9417
9276
  "multiple": false,
9418
9277
  "type": "option"
9419
9278
  },
9420
- "format": {
9421
- "char": "f",
9422
- "description": "Output format",
9423
- "name": "format",
9424
- "default": "table",
9279
+ "id": {
9280
+ "description": "Custom ticket ID (auto-generated if not provided)",
9281
+ "name": "id",
9425
9282
  "hasDynamicHelp": false,
9426
9283
  "multiple": false,
9427
- "options": [
9428
- "table",
9429
- "compact",
9430
- "json"
9431
- ],
9432
9284
  "type": "option"
9433
9285
  },
9434
- "all": {
9435
- "char": "a",
9436
- "description": "Show tickets across all projects",
9437
- "name": "all",
9286
+ "interactive": {
9287
+ "char": "i",
9288
+ "description": "Interactive mode",
9289
+ "name": "interactive",
9438
9290
  "allowNo": false,
9439
9291
  "type": "boolean"
9440
9292
  },
9441
- "label": {
9442
- "description": "Filter by label name",
9443
- "name": "label",
9293
+ "epic": {
9294
+ "char": "e",
9295
+ "description": "Link ticket to an epic (e.g., EPIC-001)",
9296
+ "name": "epic",
9444
9297
  "hasDynamicHelp": false,
9445
9298
  "multiple": false,
9446
9299
  "type": "option"
9447
9300
  },
9448
- "group-by": {
9449
- "char": "g",
9450
- "description": "Group tickets by field",
9451
- "name": "group-by",
9452
- "default": "status",
9301
+ "template": {
9302
+ "char": "T",
9303
+ "description": "Create from a template (e.g., bug-report, feature-request)",
9304
+ "name": "template",
9453
9305
  "hasDynamicHelp": false,
9454
9306
  "multiple": false,
9455
- "options": [
9456
- "status",
9457
- "priority"
9458
- ],
9459
9307
  "type": "option"
9460
9308
  },
9461
- "limit": {
9309
+ "labels": {
9310
+ "aliases": [
9311
+ "label"
9312
+ ],
9462
9313
  "char": "l",
9463
- "description": "Maximum number of tickets to display",
9464
- "name": "limit",
9314
+ "description": "Labels (comma-separated)",
9315
+ "name": "labels",
9465
9316
  "hasDynamicHelp": false,
9466
9317
  "multiple": false,
9467
9318
  "type": "option"
9468
9319
  },
9469
- "offset": {
9470
- "description": "Skip first N tickets (for pagination)",
9471
- "name": "offset",
9472
- "hasDynamicHelp": false,
9473
- "multiple": false,
9474
- "type": "option"
9320
+ "dry-run": {
9321
+ "description": "Validate inputs without creating ticket (use with --json for structured output)",
9322
+ "name": "dry-run",
9323
+ "allowNo": false,
9324
+ "type": "boolean"
9475
9325
  },
9476
9326
  "source": {
9477
9327
  "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
@@ -9496,42 +9346,105 @@
9496
9346
  },
9497
9347
  "hasDynamicHelp": false,
9498
9348
  "hiddenAliases": [],
9499
- "id": "ticket:list",
9349
+ "id": "ticket:create",
9500
9350
  "pluginAlias": "@proletariat/cli",
9501
9351
  "pluginName": "@proletariat/cli",
9502
9352
  "pluginType": "core",
9503
9353
  "strict": true,
9504
- "enableJsonFlag": false,
9505
9354
  "isESM": true,
9506
9355
  "relativePath": [
9507
9356
  "dist",
9508
9357
  "commands",
9509
9358
  "ticket",
9510
- "list.js"
9359
+ "create.js"
9511
9360
  ]
9512
9361
  },
9513
- "ticket:move": {
9362
+ "ticket:delete": {
9514
9363
  "aliases": [],
9515
9364
  "args": {
9516
9365
  "ticketId": {
9517
- "description": "Ticket ID - prompts with dropdown if not provided",
9366
+ "description": "Ticket ID to delete - prompts with dropdown if not provided",
9518
9367
  "name": "ticketId",
9519
9368
  "required": false
9369
+ }
9370
+ },
9371
+ "description": "Delete ticket(s) permanently",
9372
+ "examples": [
9373
+ "<%= config.bin %> <%= command.id %> TICK-001",
9374
+ "<%= config.bin %> <%= command.id %> TICK-001 --force",
9375
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
9376
+ "<%= config.bin %> <%= command.id %> --bulk",
9377
+ "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
9378
+ ],
9379
+ "flags": {
9380
+ "project": {
9381
+ "char": "P",
9382
+ "description": "Project ID (uses first project if only one exists)",
9383
+ "name": "project",
9384
+ "hasDynamicHelp": false,
9385
+ "multiple": false,
9386
+ "type": "option"
9520
9387
  },
9521
- "column": {
9522
- "description": "Target column - prompts with dropdown if not provided",
9523
- "name": "column",
9388
+ "json": {
9389
+ "description": "Output as JSON for AI agents/scripts",
9390
+ "name": "json",
9391
+ "allowNo": false,
9392
+ "type": "boolean"
9393
+ },
9394
+ "machine": {
9395
+ "char": "m",
9396
+ "description": "Output as JSON for AI agents/scripts",
9397
+ "name": "machine",
9398
+ "allowNo": false,
9399
+ "type": "boolean"
9400
+ },
9401
+ "force": {
9402
+ "char": "f",
9403
+ "description": "Skip confirmation prompt",
9404
+ "name": "force",
9405
+ "allowNo": false,
9406
+ "type": "boolean"
9407
+ },
9408
+ "bulk": {
9409
+ "char": "b",
9410
+ "description": "Enable bulk mode to delete multiple tickets",
9411
+ "name": "bulk",
9412
+ "allowNo": false,
9413
+ "type": "boolean"
9414
+ }
9415
+ },
9416
+ "hasDynamicHelp": false,
9417
+ "hiddenAliases": [],
9418
+ "id": "ticket:delete",
9419
+ "pluginAlias": "@proletariat/cli",
9420
+ "pluginName": "@proletariat/cli",
9421
+ "pluginType": "core",
9422
+ "strict": true,
9423
+ "isESM": true,
9424
+ "relativePath": [
9425
+ "dist",
9426
+ "commands",
9427
+ "ticket",
9428
+ "delete.js"
9429
+ ]
9430
+ },
9431
+ "ticket:edit": {
9432
+ "aliases": [],
9433
+ "args": {
9434
+ "ticketId": {
9435
+ "description": "Ticket ID to edit - prompts with dropdown if not provided",
9436
+ "name": "ticketId",
9524
9437
  "required": false
9525
9438
  }
9526
9439
  },
9527
- "description": "Move ticket(s) to a different column",
9440
+ "description": "Edit an existing ticket",
9528
9441
  "examples": [
9529
- "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
9530
- "<%= config.bin %> <%= command.id %> implement-auth Done",
9531
- "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
9532
- "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
9533
- "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
9534
- "<%= config.bin %> <%= command.id %> --bulk"
9442
+ "<%= config.bin %> <%= command.id %> TICK-001",
9443
+ "<%= config.bin %> <%= command.id %> TICK-001 --title \"New title\"",
9444
+ "<%= config.bin %> <%= command.id %> TICK-001 --priority P1 --category bug",
9445
+ "<%= config.bin %> <%= command.id %> TICK-001 --add-subtask \"Implement feature\" --add-subtask \"Write tests\"",
9446
+ "<%= config.bin %> <%= command.id %> TICK-001 --owner \"john\" --assignee \"agent-1\"",
9447
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
9535
9448
  ],
9536
9449
  "flags": {
9537
9450
  "project": {
@@ -9555,46 +9468,104 @@
9555
9468
  "allowNo": false,
9556
9469
  "type": "boolean"
9557
9470
  },
9558
- "status": {
9559
- "char": "s",
9560
- "description": "Target status/column (alternative to positional column argument)",
9561
- "name": "status",
9471
+ "title": {
9472
+ "char": "t",
9473
+ "description": "New ticket title",
9474
+ "name": "title",
9562
9475
  "hasDynamicHelp": false,
9563
9476
  "multiple": false,
9564
9477
  "type": "option"
9565
9478
  },
9566
- "position": {
9567
- "description": "Position within the column (0 = top)",
9568
- "name": "position",
9479
+ "description": {
9480
+ "char": "d",
9481
+ "description": "New ticket description",
9482
+ "name": "description",
9569
9483
  "hasDynamicHelp": false,
9570
9484
  "multiple": false,
9571
9485
  "type": "option"
9572
9486
  },
9573
- "to-project": {
9574
- "description": "Move ticket to a different project (uses Backlog/default column)",
9575
- "name": "to-project",
9487
+ "priority": {
9488
+ "char": "p",
9489
+ "description": "New ticket priority (uses workspace priority scale, \"none\" to clear)",
9490
+ "name": "priority",
9576
9491
  "hasDynamicHelp": false,
9577
9492
  "multiple": false,
9578
9493
  "type": "option"
9579
9494
  },
9580
- "bulk": {
9581
- "char": "b",
9582
- "description": "Enable bulk mode to move multiple tickets",
9583
- "name": "bulk",
9495
+ "category": {
9496
+ "description": "New ticket category",
9497
+ "name": "category",
9498
+ "hasDynamicHelp": false,
9499
+ "multiple": false,
9500
+ "type": "option"
9501
+ },
9502
+ "owner": {
9503
+ "char": "o",
9504
+ "description": "Ticket owner (human responsible)",
9505
+ "name": "owner",
9506
+ "hasDynamicHelp": false,
9507
+ "multiple": false,
9508
+ "type": "option"
9509
+ },
9510
+ "assignee": {
9511
+ "char": "a",
9512
+ "description": "Ticket assignee (who executes)",
9513
+ "name": "assignee",
9514
+ "hasDynamicHelp": false,
9515
+ "multiple": false,
9516
+ "type": "option"
9517
+ },
9518
+ "add-subtask": {
9519
+ "description": "Add a subtask (can be used multiple times)",
9520
+ "name": "add-subtask",
9521
+ "hasDynamicHelp": false,
9522
+ "multiple": true,
9523
+ "type": "option"
9524
+ },
9525
+ "clear-subtasks": {
9526
+ "description": "Clear all existing subtasks before adding new ones",
9527
+ "name": "clear-subtasks",
9584
9528
  "allowNo": false,
9585
9529
  "type": "boolean"
9586
9530
  },
9587
- "force": {
9588
- "char": "f",
9589
- "description": "Skip confirmation prompt (bulk mode only)",
9590
- "name": "force",
9531
+ "add-label": {
9532
+ "description": "Add a label (can be used multiple times)",
9533
+ "name": "add-label",
9534
+ "hasDynamicHelp": false,
9535
+ "multiple": true,
9536
+ "type": "option"
9537
+ },
9538
+ "remove-label": {
9539
+ "description": "Remove a label",
9540
+ "name": "remove-label",
9541
+ "hasDynamicHelp": false,
9542
+ "multiple": true,
9543
+ "type": "option"
9544
+ },
9545
+ "add-ac": {
9546
+ "description": "Add an acceptance criterion (can be used multiple times)",
9547
+ "name": "add-ac",
9548
+ "hasDynamicHelp": false,
9549
+ "multiple": true,
9550
+ "type": "option"
9551
+ },
9552
+ "clear-ac": {
9553
+ "description": "Clear all existing acceptance criteria before adding new ones",
9554
+ "name": "clear-ac",
9555
+ "allowNo": false,
9556
+ "type": "boolean"
9557
+ },
9558
+ "interactive": {
9559
+ "char": "i",
9560
+ "description": "Interactive mode - prompts for all fields",
9561
+ "name": "interactive",
9591
9562
  "allowNo": false,
9592
9563
  "type": "boolean"
9593
9564
  }
9594
9565
  },
9595
9566
  "hasDynamicHelp": false,
9596
9567
  "hiddenAliases": [],
9597
- "id": "ticket:move",
9568
+ "id": "ticket:edit",
9598
9569
  "pluginAlias": "@proletariat/cli",
9599
9570
  "pluginName": "@proletariat/cli",
9600
9571
  "pluginType": "core",
@@ -9604,32 +9575,17 @@
9604
9575
  "dist",
9605
9576
  "commands",
9606
9577
  "ticket",
9607
- "move.js"
9578
+ "edit.js"
9608
9579
  ]
9609
9580
  },
9610
- "ticket:show": {
9581
+ "ticket": {
9611
9582
  "aliases": [],
9612
- "args": {
9613
- "ticketId": {
9614
- "description": "Ticket ID to view - prompts with dropdown if not provided",
9615
- "name": "ticketId",
9616
- "required": false
9617
- }
9618
- },
9619
- "description": "View detailed ticket information",
9583
+ "args": {},
9584
+ "description": "Interactive menu for ticket operations",
9620
9585
  "examples": [
9621
- "<%= config.bin %> <%= command.id %> TICK-001",
9622
- "<%= config.bin %> <%= command.id %> # Interactive mode"
9586
+ "<%= config.bin %> <%= command.id %>"
9623
9587
  ],
9624
9588
  "flags": {
9625
- "project": {
9626
- "char": "P",
9627
- "description": "Project ID (uses first project if only one exists)",
9628
- "name": "project",
9629
- "hasDynamicHelp": false,
9630
- "multiple": false,
9631
- "type": "option"
9632
- },
9633
9589
  "json": {
9634
9590
  "description": "Output as JSON for AI agents/scripts",
9635
9591
  "name": "json",
@@ -9646,7 +9602,7 @@
9646
9602
  },
9647
9603
  "hasDynamicHelp": false,
9648
9604
  "hiddenAliases": [],
9649
- "id": "ticket:show",
9605
+ "id": "ticket",
9650
9606
  "pluginAlias": "@proletariat/cli",
9651
9607
  "pluginName": "@proletariat/cli",
9652
9608
  "pluginType": "core",
@@ -9656,29 +9612,25 @@
9656
9612
  "dist",
9657
9613
  "commands",
9658
9614
  "ticket",
9659
- "show.js"
9615
+ "index.js"
9660
9616
  ]
9661
9617
  },
9662
- "ticket:update": {
9618
+ "ticket:list": {
9663
9619
  "aliases": [],
9664
- "args": {
9665
- "ticketId": {
9666
- "description": "Ticket ID - prompts with dropdown if not provided",
9667
- "name": "ticketId",
9668
- "required": false
9669
- }
9670
- },
9671
- "description": "Update ticket fields (title, description, priority, category, labels, status)",
9620
+ "args": {},
9621
+ "description": "List tickets from the PMO board",
9672
9622
  "examples": [
9673
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
9674
- "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
9675
- "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
9676
- "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
9677
- "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
9678
- "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
9679
- "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
9680
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
9681
- "<%= config.bin %> <%= command.id %> --bulk --priority P1"
9623
+ "<%= config.bin %> <%= command.id %>",
9624
+ "<%= config.bin %> <%= command.id %> --column Backlog",
9625
+ "<%= config.bin %> <%= command.id %> --priority P0",
9626
+ "<%= config.bin %> <%= command.id %> --category bug",
9627
+ "<%= config.bin %> <%= command.id %> --search \"login\"",
9628
+ "<%= config.bin %> <%= command.id %> --project mobile-app",
9629
+ "<%= config.bin %> <%= command.id %> --all",
9630
+ "<%= config.bin %> <%= command.id %> --all --group-by priority",
9631
+ "<%= config.bin %> <%= command.id %> -g priority",
9632
+ "<%= config.bin %> <%= command.id %> --limit 10",
9633
+ "<%= config.bin %> <%= command.id %> --limit 10 --offset 20"
9682
9634
  ],
9683
9635
  "flags": {
9684
9636
  "project": {
@@ -9702,214 +9654,117 @@
9702
9654
  "allowNo": false,
9703
9655
  "type": "boolean"
9704
9656
  },
9705
- "title": {
9706
- "char": "t",
9707
- "description": "Set ticket title",
9708
- "name": "title",
9709
- "hasDynamicHelp": false,
9710
- "multiple": false,
9711
- "type": "option"
9712
- },
9713
- "description": {
9714
- "char": "d",
9715
- "description": "Set ticket description",
9716
- "name": "description",
9717
- "hasDynamicHelp": false,
9718
- "multiple": false,
9719
- "type": "option"
9720
- },
9721
- "description-file": {
9722
- "description": "Read ticket description from a file",
9723
- "name": "description-file",
9657
+ "column": {
9658
+ "char": "c",
9659
+ "description": "Filter by column",
9660
+ "name": "column",
9724
9661
  "hasDynamicHelp": false,
9725
9662
  "multiple": false,
9726
9663
  "type": "option"
9727
9664
  },
9728
9665
  "priority": {
9729
9666
  "char": "p",
9730
- "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
9667
+ "description": "Filter by priority (uses workspace priority scale)",
9731
9668
  "name": "priority",
9732
9669
  "hasDynamicHelp": false,
9733
9670
  "multiple": false,
9734
9671
  "type": "option"
9735
9672
  },
9736
9673
  "category": {
9737
- "char": "c",
9738
- "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
9674
+ "description": "Filter by category",
9739
9675
  "name": "category",
9740
9676
  "hasDynamicHelp": false,
9741
9677
  "multiple": false,
9742
9678
  "type": "option"
9743
9679
  },
9744
- "labels": {
9745
- "char": "l",
9746
- "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
9747
- "name": "labels",
9748
- "hasDynamicHelp": false,
9749
- "multiple": false,
9750
- "type": "option"
9751
- },
9752
- "status": {
9680
+ "search": {
9753
9681
  "char": "s",
9754
- "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
9755
- "name": "status",
9682
+ "description": "Search in title and description",
9683
+ "name": "search",
9756
9684
  "hasDynamicHelp": false,
9757
9685
  "multiple": false,
9758
9686
  "type": "option"
9759
9687
  },
9760
- "bulk": {
9761
- "char": "b",
9762
- "description": "Enable bulk mode to update multiple tickets",
9763
- "name": "bulk",
9764
- "allowNo": false,
9765
- "type": "boolean"
9766
- },
9767
- "force": {
9688
+ "format": {
9768
9689
  "char": "f",
9769
- "description": "Skip confirmation prompt",
9770
- "name": "force",
9771
- "allowNo": false,
9772
- "type": "boolean"
9773
- }
9774
- },
9775
- "hasDynamicHelp": false,
9776
- "hiddenAliases": [],
9777
- "id": "ticket:update",
9778
- "pluginAlias": "@proletariat/cli",
9779
- "pluginName": "@proletariat/cli",
9780
- "pluginType": "core",
9781
- "strict": true,
9782
- "isESM": true,
9783
- "relativePath": [
9784
- "dist",
9785
- "commands",
9786
- "ticket",
9787
- "update.js"
9788
- ]
9789
- },
9790
- "tools:add": {
9791
- "aliases": [],
9792
- "args": {
9793
- "type": {
9794
- "description": "Tool type (mcp or cli)",
9795
- "name": "type",
9690
+ "description": "Output format",
9691
+ "name": "format",
9692
+ "default": "table",
9693
+ "hasDynamicHelp": false,
9694
+ "multiple": false,
9796
9695
  "options": [
9797
- "mcp",
9798
- "cli"
9696
+ "table",
9697
+ "compact",
9698
+ "json"
9799
9699
  ],
9800
- "required": true
9801
- },
9802
- "name": {
9803
- "description": "Tool name (unique identifier)",
9804
- "name": "name",
9805
- "required": true
9806
- }
9807
- },
9808
- "description": "Register an MCP server or CLI tool",
9809
- "examples": [
9810
- "<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description \"Arcade integrations\"",
9811
- "<%= config.bin %> tools add cli gh --command gh --detect \"which gh\" --install \"brew install gh\" --description \"GitHub CLI\""
9812
- ],
9813
- "flags": {
9814
- "json": {
9815
- "description": "Output as JSON for AI agents/scripts",
9816
- "name": "json",
9817
- "allowNo": false,
9818
- "type": "boolean"
9700
+ "type": "option"
9819
9701
  },
9820
- "machine": {
9821
- "char": "m",
9822
- "description": "Output as JSON for AI agents/scripts",
9823
- "name": "machine",
9702
+ "all": {
9703
+ "char": "a",
9704
+ "description": "Show tickets across all projects",
9705
+ "name": "all",
9824
9706
  "allowNo": false,
9825
9707
  "type": "boolean"
9826
9708
  },
9827
- "url": {
9828
- "description": "MCP server URL (for remote servers)",
9829
- "name": "url",
9830
- "hasDynamicHelp": false,
9831
- "multiple": false,
9832
- "type": "option"
9833
- },
9834
- "command": {
9835
- "description": "Command to run (MCP server command or CLI tool binary)",
9836
- "name": "command",
9837
- "hasDynamicHelp": false,
9838
- "multiple": false,
9839
- "type": "option"
9840
- },
9841
- "auth": {
9842
- "description": "Environment variable for authentication (e.g., ARCADE_API_KEY)",
9843
- "name": "auth",
9709
+ "label": {
9710
+ "description": "Filter by label name",
9711
+ "name": "label",
9844
9712
  "hasDynamicHelp": false,
9845
9713
  "multiple": false,
9846
9714
  "type": "option"
9847
9715
  },
9848
- "detect": {
9849
- "description": "Shell command to detect if CLI tool is installed",
9850
- "name": "detect",
9716
+ "group-by": {
9717
+ "char": "g",
9718
+ "description": "Group tickets by field",
9719
+ "name": "group-by",
9720
+ "default": "status",
9851
9721
  "hasDynamicHelp": false,
9852
9722
  "multiple": false,
9723
+ "options": [
9724
+ "status",
9725
+ "priority"
9726
+ ],
9853
9727
  "type": "option"
9854
9728
  },
9855
- "install": {
9856
- "description": "Shell command to install the CLI tool",
9857
- "name": "install",
9729
+ "limit": {
9730
+ "char": "l",
9731
+ "description": "Maximum number of tickets to display",
9732
+ "name": "limit",
9858
9733
  "hasDynamicHelp": false,
9859
9734
  "multiple": false,
9860
9735
  "type": "option"
9861
9736
  },
9862
- "description": {
9863
- "char": "d",
9864
- "description": "Human-readable description",
9865
- "name": "description",
9866
- "required": true,
9867
- "hasDynamicHelp": false,
9868
- "multiple": false,
9869
- "type": "option"
9870
- }
9871
- },
9872
- "hasDynamicHelp": false,
9873
- "hiddenAliases": [],
9874
- "id": "tools:add",
9875
- "pluginAlias": "@proletariat/cli",
9876
- "pluginName": "@proletariat/cli",
9877
- "pluginType": "core",
9878
- "strict": true,
9879
- "isESM": true,
9880
- "relativePath": [
9881
- "dist",
9882
- "commands",
9883
- "tools",
9884
- "add.js"
9885
- ]
9886
- },
9887
- "tools:check": {
9888
- "aliases": [],
9889
- "args": {},
9890
- "description": "Verify all registered tools are available and healthy",
9891
- "examples": [
9892
- "<%= config.bin %> tools check",
9893
- "<%= config.bin %> tools check --json"
9894
- ],
9895
- "flags": {
9896
- "json": {
9897
- "description": "Output as JSON for AI agents/scripts",
9898
- "name": "json",
9899
- "allowNo": false,
9900
- "type": "boolean"
9737
+ "offset": {
9738
+ "description": "Skip first N tickets (for pagination)",
9739
+ "name": "offset",
9740
+ "hasDynamicHelp": false,
9741
+ "multiple": false,
9742
+ "type": "option"
9901
9743
  },
9902
- "machine": {
9903
- "char": "m",
9904
- "description": "Output as JSON for AI agents/scripts",
9905
- "name": "machine",
9906
- "allowNo": false,
9907
- "type": "boolean"
9744
+ "source": {
9745
+ "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
9746
+ "name": "source",
9747
+ "default": "auto",
9748
+ "hasDynamicHelp": false,
9749
+ "multiple": false,
9750
+ "options": [
9751
+ "auto",
9752
+ "pmo",
9753
+ "linear"
9754
+ ],
9755
+ "type": "option"
9756
+ },
9757
+ "team": {
9758
+ "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
9759
+ "name": "team",
9760
+ "hasDynamicHelp": false,
9761
+ "multiple": false,
9762
+ "type": "option"
9908
9763
  }
9909
9764
  },
9910
9765
  "hasDynamicHelp": false,
9911
9766
  "hiddenAliases": [],
9912
- "id": "tools:check",
9767
+ "id": "ticket:list",
9913
9768
  "pluginAlias": "@proletariat/cli",
9914
9769
  "pluginName": "@proletariat/cli",
9915
9770
  "pluginType": "core",
@@ -9919,20 +9774,42 @@
9919
9774
  "relativePath": [
9920
9775
  "dist",
9921
9776
  "commands",
9922
- "tools",
9923
- "check.js"
9777
+ "ticket",
9778
+ "list.js"
9924
9779
  ]
9925
9780
  },
9926
- "tools:detect": {
9781
+ "ticket:move": {
9927
9782
  "aliases": [],
9928
- "args": {},
9929
- "description": "Auto-detect common CLI tools on the system and register them",
9783
+ "args": {
9784
+ "ticketId": {
9785
+ "description": "Ticket ID - prompts with dropdown if not provided",
9786
+ "name": "ticketId",
9787
+ "required": false
9788
+ },
9789
+ "column": {
9790
+ "description": "Target column - prompts with dropdown if not provided",
9791
+ "name": "column",
9792
+ "required": false
9793
+ }
9794
+ },
9795
+ "description": "Move ticket(s) to a different column",
9930
9796
  "examples": [
9931
- "<%= config.bin %> tools detect",
9932
- "<%= config.bin %> tools detect --auto",
9933
- "<%= config.bin %> tools detect --json"
9797
+ "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
9798
+ "<%= config.bin %> <%= command.id %> implement-auth Done",
9799
+ "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
9800
+ "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
9801
+ "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
9802
+ "<%= config.bin %> <%= command.id %> --bulk"
9934
9803
  ],
9935
9804
  "flags": {
9805
+ "project": {
9806
+ "char": "P",
9807
+ "description": "Project ID (uses first project if only one exists)",
9808
+ "name": "project",
9809
+ "hasDynamicHelp": false,
9810
+ "multiple": false,
9811
+ "type": "option"
9812
+ },
9936
9813
  "json": {
9937
9814
  "description": "Output as JSON for AI agents/scripts",
9938
9815
  "name": "json",
@@ -9946,40 +9823,81 @@
9946
9823
  "allowNo": false,
9947
9824
  "type": "boolean"
9948
9825
  },
9949
- "auto": {
9950
- "description": "Automatically register all detected tools without prompting",
9951
- "name": "auto",
9826
+ "status": {
9827
+ "char": "s",
9828
+ "description": "Target status/column (alternative to positional column argument)",
9829
+ "name": "status",
9830
+ "hasDynamicHelp": false,
9831
+ "multiple": false,
9832
+ "type": "option"
9833
+ },
9834
+ "position": {
9835
+ "description": "Position within the column (0 = top)",
9836
+ "name": "position",
9837
+ "hasDynamicHelp": false,
9838
+ "multiple": false,
9839
+ "type": "option"
9840
+ },
9841
+ "to-project": {
9842
+ "description": "Move ticket to a different project (uses Backlog/default column)",
9843
+ "name": "to-project",
9844
+ "hasDynamicHelp": false,
9845
+ "multiple": false,
9846
+ "type": "option"
9847
+ },
9848
+ "bulk": {
9849
+ "char": "b",
9850
+ "description": "Enable bulk mode to move multiple tickets",
9851
+ "name": "bulk",
9852
+ "allowNo": false,
9853
+ "type": "boolean"
9854
+ },
9855
+ "force": {
9856
+ "char": "f",
9857
+ "description": "Skip confirmation prompt (bulk mode only)",
9858
+ "name": "force",
9952
9859
  "allowNo": false,
9953
9860
  "type": "boolean"
9954
9861
  }
9955
9862
  },
9956
9863
  "hasDynamicHelp": false,
9957
9864
  "hiddenAliases": [],
9958
- "id": "tools:detect",
9865
+ "id": "ticket:move",
9959
9866
  "pluginAlias": "@proletariat/cli",
9960
9867
  "pluginName": "@proletariat/cli",
9961
9868
  "pluginType": "core",
9962
9869
  "strict": true,
9963
- "enableJsonFlag": false,
9964
9870
  "isESM": true,
9965
9871
  "relativePath": [
9966
9872
  "dist",
9967
9873
  "commands",
9968
- "tools",
9969
- "detect.js"
9874
+ "ticket",
9875
+ "move.js"
9970
9876
  ]
9971
9877
  },
9972
- "tools": {
9973
- "aliases": [
9974
- "tools:list"
9975
- ],
9976
- "args": {},
9977
- "description": "Show all registered MCP servers and CLI tools",
9878
+ "ticket:show": {
9879
+ "aliases": [],
9880
+ "args": {
9881
+ "ticketId": {
9882
+ "description": "Ticket ID to view - prompts with dropdown if not provided",
9883
+ "name": "ticketId",
9884
+ "required": false
9885
+ }
9886
+ },
9887
+ "description": "View detailed ticket information",
9978
9888
  "examples": [
9979
- "<%= config.bin %> tools",
9980
- "<%= config.bin %> tools --json"
9889
+ "<%= config.bin %> <%= command.id %> TICK-001",
9890
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
9981
9891
  ],
9982
9892
  "flags": {
9893
+ "project": {
9894
+ "char": "P",
9895
+ "description": "Project ID (uses first project if only one exists)",
9896
+ "name": "project",
9897
+ "hasDynamicHelp": false,
9898
+ "multiple": false,
9899
+ "type": "option"
9900
+ },
9983
9901
  "json": {
9984
9902
  "description": "Output as JSON for AI agents/scripts",
9985
9903
  "name": "json",
@@ -9996,35 +9914,49 @@
9996
9914
  },
9997
9915
  "hasDynamicHelp": false,
9998
9916
  "hiddenAliases": [],
9999
- "id": "tools",
9917
+ "id": "ticket:show",
10000
9918
  "pluginAlias": "@proletariat/cli",
10001
9919
  "pluginName": "@proletariat/cli",
10002
9920
  "pluginType": "core",
10003
9921
  "strict": true,
10004
- "enableJsonFlag": false,
10005
9922
  "isESM": true,
10006
9923
  "relativePath": [
10007
9924
  "dist",
10008
9925
  "commands",
10009
- "tools",
10010
- "index.js"
9926
+ "ticket",
9927
+ "show.js"
10011
9928
  ]
10012
9929
  },
10013
- "tools:remove": {
9930
+ "ticket:update": {
10014
9931
  "aliases": [],
10015
9932
  "args": {
10016
- "name": {
10017
- "description": "Tool name to remove",
10018
- "name": "name",
10019
- "required": true
9933
+ "ticketId": {
9934
+ "description": "Ticket ID - prompts with dropdown if not provided",
9935
+ "name": "ticketId",
9936
+ "required": false
10020
9937
  }
10021
9938
  },
10022
- "description": "Remove a tool from the registry",
9939
+ "description": "Update ticket fields (title, description, priority, category, labels, status)",
10023
9940
  "examples": [
10024
- "<%= config.bin %> tools remove arcade",
10025
- "<%= config.bin %> tools remove ffmpeg"
9941
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
9942
+ "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
9943
+ "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
9944
+ "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
9945
+ "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
9946
+ "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
9947
+ "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
9948
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
9949
+ "<%= config.bin %> <%= command.id %> --bulk --priority P1"
10026
9950
  ],
10027
9951
  "flags": {
9952
+ "project": {
9953
+ "char": "P",
9954
+ "description": "Project ID (uses first project if only one exists)",
9955
+ "name": "project",
9956
+ "hasDynamicHelp": false,
9957
+ "multiple": false,
9958
+ "type": "option"
9959
+ },
10028
9960
  "json": {
10029
9961
  "description": "Output as JSON for AI agents/scripts",
10030
9962
  "name": "json",
@@ -10037,22 +9969,90 @@
10037
9969
  "name": "machine",
10038
9970
  "allowNo": false,
10039
9971
  "type": "boolean"
9972
+ },
9973
+ "title": {
9974
+ "char": "t",
9975
+ "description": "Set ticket title",
9976
+ "name": "title",
9977
+ "hasDynamicHelp": false,
9978
+ "multiple": false,
9979
+ "type": "option"
9980
+ },
9981
+ "description": {
9982
+ "char": "d",
9983
+ "description": "Set ticket description",
9984
+ "name": "description",
9985
+ "hasDynamicHelp": false,
9986
+ "multiple": false,
9987
+ "type": "option"
9988
+ },
9989
+ "description-file": {
9990
+ "description": "Read ticket description from a file",
9991
+ "name": "description-file",
9992
+ "hasDynamicHelp": false,
9993
+ "multiple": false,
9994
+ "type": "option"
9995
+ },
9996
+ "priority": {
9997
+ "char": "p",
9998
+ "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
9999
+ "name": "priority",
10000
+ "hasDynamicHelp": false,
10001
+ "multiple": false,
10002
+ "type": "option"
10003
+ },
10004
+ "category": {
10005
+ "char": "c",
10006
+ "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
10007
+ "name": "category",
10008
+ "hasDynamicHelp": false,
10009
+ "multiple": false,
10010
+ "type": "option"
10011
+ },
10012
+ "labels": {
10013
+ "char": "l",
10014
+ "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
10015
+ "name": "labels",
10016
+ "hasDynamicHelp": false,
10017
+ "multiple": false,
10018
+ "type": "option"
10019
+ },
10020
+ "status": {
10021
+ "char": "s",
10022
+ "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
10023
+ "name": "status",
10024
+ "hasDynamicHelp": false,
10025
+ "multiple": false,
10026
+ "type": "option"
10027
+ },
10028
+ "bulk": {
10029
+ "char": "b",
10030
+ "description": "Enable bulk mode to update multiple tickets",
10031
+ "name": "bulk",
10032
+ "allowNo": false,
10033
+ "type": "boolean"
10034
+ },
10035
+ "force": {
10036
+ "char": "f",
10037
+ "description": "Skip confirmation prompt",
10038
+ "name": "force",
10039
+ "allowNo": false,
10040
+ "type": "boolean"
10040
10041
  }
10041
10042
  },
10042
10043
  "hasDynamicHelp": false,
10043
10044
  "hiddenAliases": [],
10044
- "id": "tools:remove",
10045
+ "id": "ticket:update",
10045
10046
  "pluginAlias": "@proletariat/cli",
10046
10047
  "pluginName": "@proletariat/cli",
10047
10048
  "pluginType": "core",
10048
10049
  "strict": true,
10049
- "enableJsonFlag": false,
10050
10050
  "isESM": true,
10051
10051
  "relativePath": [
10052
10052
  "dist",
10053
10053
  "commands",
10054
- "tools",
10055
- "remove.js"
10054
+ "ticket",
10055
+ "update.js"
10056
10056
  ]
10057
10057
  },
10058
10058
  "trello:configure": {
@@ -13913,5 +13913,5 @@
13913
13913
  ]
13914
13914
  }
13915
13915
  },
13916
- "version": "0.3.99"
13916
+ "version": "0.3.100"
13917
13917
  }