@proletariat/cli 0.3.49 → 0.3.51

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.
@@ -2996,40 +2996,28 @@
2996
2996
  "index.js"
2997
2997
  ]
2998
2998
  },
2999
- "docker:clean": {
2999
+ "epic:activate": {
3000
3000
  "aliases": [],
3001
- "args": {},
3002
- "description": "Remove orphaned containers (containers without running agents)",
3001
+ "args": {
3002
+ "id": {
3003
+ "description": "Epic ID",
3004
+ "name": "id",
3005
+ "required": false
3006
+ }
3007
+ },
3008
+ "description": "Activate a draft or archived epic",
3003
3009
  "examples": [
3004
- "<%= config.bin %> <%= command.id %>",
3005
- "<%= config.bin %> <%= command.id %> --force",
3006
- "<%= config.bin %> <%= command.id %> --dry-run"
3010
+ "<%= config.bin %> <%= command.id %> EPIC-004",
3011
+ "<%= config.bin %> <%= command.id %>"
3007
3012
  ],
3008
3013
  "flags": {
3009
- "force": {
3010
- "aliases": [
3011
- "yes",
3012
- "y"
3013
- ],
3014
- "char": "f",
3015
- "description": "Skip confirmation prompt",
3016
- "name": "force",
3017
- "allowNo": false,
3018
- "type": "boolean"
3019
- },
3020
- "dry-run": {
3021
- "char": "d",
3022
- "description": "Show what would be removed without removing",
3023
- "name": "dry-run",
3024
- "allowNo": false,
3025
- "type": "boolean"
3026
- },
3027
- "all": {
3028
- "char": "a",
3029
- "description": "Remove all stopped devcontainers (not just orphaned)",
3030
- "name": "all",
3031
- "allowNo": false,
3032
- "type": "boolean"
3014
+ "project": {
3015
+ "char": "P",
3016
+ "description": "Project ID (uses first project if only one exists)",
3017
+ "name": "project",
3018
+ "hasDynamicHelp": false,
3019
+ "multiple": false,
3020
+ "type": "option"
3033
3021
  },
3034
3022
  "json": {
3035
3023
  "description": "Output as JSON for AI agents/scripts",
@@ -3047,38 +3035,42 @@
3047
3035
  },
3048
3036
  "hasDynamicHelp": false,
3049
3037
  "hiddenAliases": [],
3050
- "id": "docker:clean",
3038
+ "id": "epic:activate",
3051
3039
  "pluginAlias": "@proletariat/cli",
3052
3040
  "pluginName": "@proletariat/cli",
3053
3041
  "pluginType": "core",
3054
3042
  "strict": true,
3055
- "enableJsonFlag": false,
3056
3043
  "isESM": true,
3057
3044
  "relativePath": [
3058
3045
  "dist",
3059
3046
  "commands",
3060
- "docker",
3061
- "clean.js"
3047
+ "epic",
3048
+ "activate.js"
3062
3049
  ]
3063
3050
  },
3064
- "docker": {
3051
+ "epic:archive": {
3065
3052
  "aliases": [],
3066
- "args": {},
3067
- "description": "Manage Docker containers used by agents",
3053
+ "args": {
3054
+ "id": {
3055
+ "description": "Epic ID",
3056
+ "name": "id",
3057
+ "required": false
3058
+ }
3059
+ },
3060
+ "description": "Archive a completed epic",
3068
3061
  "examples": [
3069
- "<%= config.bin %> <%= command.id %>",
3070
- "<%= config.bin %> docker status",
3071
- "<%= config.bin %> docker list",
3072
- "<%= config.bin %> docker logs WORK-001",
3073
- "<%= config.bin %> docker start WORK-001",
3074
- "<%= config.bin %> docker stop kalanick",
3075
- "<%= config.bin %> docker shell WORK-001",
3076
- "<%= config.bin %> docker restart abc123",
3077
- "<%= config.bin %> docker sync",
3078
- "<%= config.bin %> docker clean",
3079
- "<%= config.bin %> docker prune"
3062
+ "<%= config.bin %> <%= command.id %> EPIC-002",
3063
+ "<%= config.bin %> <%= command.id %> --force"
3080
3064
  ],
3081
3065
  "flags": {
3066
+ "project": {
3067
+ "char": "P",
3068
+ "description": "Project ID (uses first project if only one exists)",
3069
+ "name": "project",
3070
+ "hasDynamicHelp": false,
3071
+ "multiple": false,
3072
+ "type": "option"
3073
+ },
3082
3074
  "json": {
3083
3075
  "description": "Output as JSON for AI agents/scripts",
3084
3076
  "name": "json",
@@ -3091,11 +3083,18 @@
3091
3083
  "name": "machine",
3092
3084
  "allowNo": false,
3093
3085
  "type": "boolean"
3086
+ },
3087
+ "force": {
3088
+ "char": "f",
3089
+ "description": "Skip ticket completion check",
3090
+ "name": "force",
3091
+ "allowNo": false,
3092
+ "type": "boolean"
3094
3093
  }
3095
3094
  },
3096
3095
  "hasDynamicHelp": false,
3097
3096
  "hiddenAliases": [],
3098
- "id": "docker",
3097
+ "id": "epic:archive",
3099
3098
  "pluginAlias": "@proletariat/cli",
3100
3099
  "pluginName": "@proletariat/cli",
3101
3100
  "pluginType": "core",
@@ -3104,20 +3103,30 @@
3104
3103
  "relativePath": [
3105
3104
  "dist",
3106
3105
  "commands",
3107
- "docker",
3108
- "index.js"
3106
+ "epic",
3107
+ "archive.js"
3109
3108
  ]
3110
3109
  },
3111
- "docker:list": {
3110
+ "epic:create": {
3112
3111
  "aliases": [],
3113
3112
  "args": {},
3114
- "description": "Show Docker containers from agent_work table with status",
3113
+ "description": "Create a new epic",
3115
3114
  "examples": [
3116
3115
  "<%= config.bin %> <%= command.id %>",
3117
- "<%= config.bin %> <%= command.id %> --all",
3118
- "<%= config.bin %> <%= command.id %> --running"
3116
+ "<%= config.bin %> <%= command.id %> --title \"User Authentication System\"",
3117
+ "<%= config.bin %> <%= command.id %> -t \"API Design\" --status draft",
3118
+ "<%= config.bin %> <%= command.id %> -t \"Implement Auth\" --spec SPEC-001",
3119
+ "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating"
3119
3120
  ],
3120
3121
  "flags": {
3122
+ "project": {
3123
+ "char": "P",
3124
+ "description": "Project ID (uses first project if only one exists)",
3125
+ "name": "project",
3126
+ "hasDynamicHelp": false,
3127
+ "multiple": false,
3128
+ "type": "option"
3129
+ },
3121
3130
  "json": {
3122
3131
  "description": "Output as JSON for AI agents/scripts",
3123
3132
  "name": "json",
@@ -3131,56 +3140,90 @@
3131
3140
  "allowNo": false,
3132
3141
  "type": "boolean"
3133
3142
  },
3134
- "all": {
3135
- "char": "a",
3136
- "description": "Show all containers (including non-devcontainer)",
3137
- "name": "all",
3138
- "allowNo": false,
3139
- "type": "boolean"
3143
+ "title": {
3144
+ "char": "t",
3145
+ "description": "Epic title [required for non-interactive]",
3146
+ "name": "title",
3147
+ "hasDynamicHelp": false,
3148
+ "multiple": false,
3149
+ "type": "option"
3140
3150
  },
3141
- "running": {
3142
- "char": "r",
3143
- "description": "Only show running containers",
3144
- "name": "running",
3151
+ "status": {
3152
+ "char": "s",
3153
+ "description": "Initial status",
3154
+ "name": "status",
3155
+ "default": "active",
3156
+ "hasDynamicHelp": false,
3157
+ "multiple": false,
3158
+ "options": [
3159
+ "active",
3160
+ "draft"
3161
+ ],
3162
+ "type": "option"
3163
+ },
3164
+ "description": {
3165
+ "char": "d",
3166
+ "description": "Epic description",
3167
+ "name": "description",
3168
+ "hasDynamicHelp": false,
3169
+ "multiple": false,
3170
+ "type": "option"
3171
+ },
3172
+ "spec": {
3173
+ "description": "Link to spec ID (the design spec that describes this epic)",
3174
+ "name": "spec",
3175
+ "hasDynamicHelp": false,
3176
+ "multiple": false,
3177
+ "type": "option"
3178
+ },
3179
+ "dry-run": {
3180
+ "description": "Validate inputs without creating epic (use with --json for structured output)",
3181
+ "name": "dry-run",
3145
3182
  "allowNo": false,
3146
3183
  "type": "boolean"
3147
3184
  }
3148
3185
  },
3149
3186
  "hasDynamicHelp": false,
3150
3187
  "hiddenAliases": [],
3151
- "id": "docker:list",
3188
+ "id": "epic:create",
3152
3189
  "pluginAlias": "@proletariat/cli",
3153
3190
  "pluginName": "@proletariat/cli",
3154
3191
  "pluginType": "core",
3155
3192
  "strict": true,
3156
- "enableJsonFlag": false,
3157
3193
  "isESM": true,
3158
3194
  "relativePath": [
3159
3195
  "dist",
3160
3196
  "commands",
3161
- "docker",
3162
- "list.js"
3197
+ "epic",
3198
+ "create.js"
3163
3199
  ]
3164
3200
  },
3165
- "docker:logs": {
3201
+ "epic:delete": {
3166
3202
  "aliases": [],
3167
3203
  "args": {
3168
- "target": {
3169
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3170
- "name": "target",
3171
- "required": true
3204
+ "id": {
3205
+ "description": "Epic ID to delete",
3206
+ "name": "id",
3207
+ "required": false
3172
3208
  }
3173
3209
  },
3174
- "description": "View logs from a container (by execution ID, agent name, or container ID)",
3210
+ "description": "Delete an epic permanently",
3175
3211
  "examples": [
3176
- "<%= config.bin %> <%= command.id %> WORK-001",
3177
- "<%= config.bin %> <%= command.id %> kalanick",
3178
- "<%= config.bin %> <%= command.id %> abc123 --follow",
3179
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3212
+ "<%= config.bin %> <%= command.id %> EPIC-001",
3213
+ "<%= config.bin %> <%= command.id %> EPIC-001 --force",
3214
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
3180
3215
  ],
3181
3216
  "flags": {
3217
+ "project": {
3218
+ "char": "P",
3219
+ "description": "Project ID (uses first project if only one exists)",
3220
+ "name": "project",
3221
+ "hasDynamicHelp": false,
3222
+ "multiple": false,
3223
+ "type": "option"
3224
+ },
3182
3225
  "json": {
3183
- "description": "Output as JSON for AI agents/scripts",
3226
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3184
3227
  "name": "json",
3185
3228
  "allowNo": false,
3186
3229
  "type": "boolean"
@@ -3192,87 +3235,44 @@
3192
3235
  "allowNo": false,
3193
3236
  "type": "boolean"
3194
3237
  },
3195
- "follow": {
3238
+ "force": {
3196
3239
  "char": "f",
3197
- "description": "Follow log output",
3198
- "name": "follow",
3199
- "allowNo": false,
3200
- "type": "boolean"
3201
- },
3202
- "tail": {
3203
- "char": "n",
3204
- "description": "Number of lines to show from the end",
3205
- "name": "tail",
3206
- "default": 100,
3207
- "hasDynamicHelp": false,
3208
- "multiple": false,
3209
- "type": "option"
3210
- },
3211
- "timestamps": {
3212
- "char": "t",
3213
- "description": "Show timestamps",
3214
- "name": "timestamps",
3240
+ "description": "Skip confirmation prompt",
3241
+ "name": "force",
3215
3242
  "allowNo": false,
3216
3243
  "type": "boolean"
3217
3244
  }
3218
3245
  },
3219
3246
  "hasDynamicHelp": false,
3220
3247
  "hiddenAliases": [],
3221
- "id": "docker:logs",
3248
+ "id": "epic:delete",
3222
3249
  "pluginAlias": "@proletariat/cli",
3223
3250
  "pluginName": "@proletariat/cli",
3224
3251
  "pluginType": "core",
3225
3252
  "strict": true,
3226
- "enableJsonFlag": false,
3227
3253
  "isESM": true,
3228
3254
  "relativePath": [
3229
3255
  "dist",
3230
3256
  "commands",
3231
- "docker",
3232
- "logs.js"
3257
+ "epic",
3258
+ "delete.js"
3233
3259
  ]
3234
3260
  },
3235
- "docker:prune": {
3261
+ "epic": {
3236
3262
  "aliases": [],
3237
3263
  "args": {},
3238
- "description": "Remove unused Docker resources (containers, images, volumes, networks)",
3264
+ "description": "Interactive menu for epic operations",
3239
3265
  "examples": [
3240
- "<%= config.bin %> <%= command.id %>",
3241
- "<%= config.bin %> <%= command.id %> --all",
3242
- "<%= config.bin %> <%= command.id %> --volumes",
3243
- "<%= config.bin %> <%= command.id %> --dry-run"
3266
+ "<%= config.bin %> <%= command.id %>"
3244
3267
  ],
3245
3268
  "flags": {
3246
- "force": {
3247
- "aliases": [
3248
- "yes",
3249
- "y"
3250
- ],
3251
- "char": "f",
3252
- "description": "Skip confirmation prompt",
3253
- "name": "force",
3254
- "allowNo": false,
3255
- "type": "boolean"
3256
- },
3257
- "dry-run": {
3258
- "char": "d",
3259
- "description": "Show what would be removed without removing",
3260
- "name": "dry-run",
3261
- "allowNo": false,
3262
- "type": "boolean"
3263
- },
3264
- "all": {
3265
- "char": "a",
3266
- "description": "Remove all unused images, not just dangling ones",
3267
- "name": "all",
3268
- "allowNo": false,
3269
- "type": "boolean"
3270
- },
3271
- "volumes": {
3272
- "description": "Also prune volumes (dangerous - data loss possible)",
3273
- "name": "volumes",
3274
- "allowNo": false,
3275
- "type": "boolean"
3269
+ "project": {
3270
+ "char": "P",
3271
+ "description": "Project ID (uses first project if only one exists)",
3272
+ "name": "project",
3273
+ "hasDynamicHelp": false,
3274
+ "multiple": false,
3275
+ "type": "option"
3276
3276
  },
3277
3277
  "json": {
3278
3278
  "description": "Output as JSON for AI agents/scripts",
@@ -3290,52 +3290,32 @@
3290
3290
  },
3291
3291
  "hasDynamicHelp": false,
3292
3292
  "hiddenAliases": [],
3293
- "id": "docker:prune",
3293
+ "id": "epic",
3294
3294
  "pluginAlias": "@proletariat/cli",
3295
3295
  "pluginName": "@proletariat/cli",
3296
3296
  "pluginType": "core",
3297
3297
  "strict": true,
3298
- "enableJsonFlag": false,
3299
3298
  "isESM": true,
3300
3299
  "relativePath": [
3301
3300
  "dist",
3302
3301
  "commands",
3303
- "docker",
3304
- "prune.js"
3302
+ "epic",
3303
+ "index.js"
3305
3304
  ]
3306
3305
  },
3307
- "docker:restart": {
3306
+ "epic:list": {
3308
3307
  "aliases": [],
3309
- "args": {
3310
- "target": {
3311
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3312
- "name": "target",
3313
- "required": true
3314
- }
3315
- },
3316
- "description": "Restart a container (by execution ID, agent name, or container ID)",
3308
+ "args": {},
3309
+ "description": "List all epics",
3317
3310
  "examples": [
3318
- "<%= config.bin %> <%= command.id %> WORK-001",
3319
- "<%= config.bin %> <%= command.id %> kalanick",
3320
- "<%= config.bin %> <%= command.id %> abc123 --force"
3311
+ "<%= config.bin %> <%= command.id %>",
3312
+ "<%= config.bin %> <%= command.id %> --status active"
3321
3313
  ],
3322
3314
  "flags": {
3323
- "force": {
3324
- "aliases": [
3325
- "yes",
3326
- "y"
3327
- ],
3328
- "char": "f",
3329
- "description": "Skip confirmation prompt",
3330
- "name": "force",
3331
- "allowNo": false,
3332
- "type": "boolean"
3333
- },
3334
- "time": {
3335
- "char": "t",
3336
- "description": "Seconds to wait before killing the container during stop",
3337
- "name": "time",
3338
- "default": 10,
3315
+ "project": {
3316
+ "char": "P",
3317
+ "description": "Project ID (uses first project if only one exists)",
3318
+ "name": "project",
3339
3319
  "hasDynamicHelp": false,
3340
3320
  "multiple": false,
3341
3321
  "type": "option"
@@ -3352,40 +3332,73 @@
3352
3332
  "name": "machine",
3353
3333
  "allowNo": false,
3354
3334
  "type": "boolean"
3335
+ },
3336
+ "status": {
3337
+ "char": "s",
3338
+ "description": "Filter by status",
3339
+ "name": "status",
3340
+ "hasDynamicHelp": false,
3341
+ "multiple": false,
3342
+ "options": [
3343
+ "active",
3344
+ "draft",
3345
+ "complete",
3346
+ "dropped",
3347
+ "future"
3348
+ ],
3349
+ "type": "option"
3355
3350
  }
3356
3351
  },
3357
3352
  "hasDynamicHelp": false,
3358
3353
  "hiddenAliases": [],
3359
- "id": "docker:restart",
3354
+ "id": "epic:list",
3360
3355
  "pluginAlias": "@proletariat/cli",
3361
3356
  "pluginName": "@proletariat/cli",
3362
3357
  "pluginType": "core",
3363
3358
  "strict": true,
3364
- "enableJsonFlag": false,
3365
3359
  "isESM": true,
3366
3360
  "relativePath": [
3367
3361
  "dist",
3368
3362
  "commands",
3369
- "docker",
3370
- "restart.js"
3363
+ "epic",
3364
+ "list.js"
3371
3365
  ]
3372
3366
  },
3373
- "docker:shell": {
3367
+ "epic:move": {
3374
3368
  "aliases": [],
3375
3369
  "args": {
3376
- "target": {
3377
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3378
- "name": "target",
3379
- "required": true
3370
+ "id": {
3371
+ "description": "Epic ID",
3372
+ "name": "id",
3373
+ "required": false
3374
+ },
3375
+ "status": {
3376
+ "description": "Target status",
3377
+ "name": "status",
3378
+ "options": [
3379
+ "active",
3380
+ "draft",
3381
+ "complete",
3382
+ "dropped",
3383
+ "future"
3384
+ ],
3385
+ "required": false
3380
3386
  }
3381
3387
  },
3382
- "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
3388
+ "description": "Move epic between status folders",
3383
3389
  "examples": [
3384
- "<%= config.bin %> <%= command.id %> WORK-001",
3385
- "<%= config.bin %> <%= command.id %> kalanick",
3386
- "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
3390
+ "<%= config.bin %> <%= command.id %> EPIC-002 complete",
3391
+ "<%= config.bin %> <%= command.id %> --force"
3387
3392
  ],
3388
3393
  "flags": {
3394
+ "project": {
3395
+ "char": "P",
3396
+ "description": "Project ID (uses first project if only one exists)",
3397
+ "name": "project",
3398
+ "hasDynamicHelp": false,
3399
+ "multiple": false,
3400
+ "type": "option"
3401
+ },
3389
3402
  "json": {
3390
3403
  "description": "Output as JSON for AI agents/scripts",
3391
3404
  "name": "json",
@@ -3399,64 +3412,52 @@
3399
3412
  "allowNo": false,
3400
3413
  "type": "boolean"
3401
3414
  },
3402
- "shell": {
3403
- "char": "s",
3404
- "description": "Shell to use",
3405
- "name": "shell",
3406
- "default": "/bin/sh",
3407
- "hasDynamicHelp": false,
3408
- "multiple": false,
3409
- "type": "option"
3410
- },
3411
- "user": {
3412
- "char": "u",
3413
- "description": "User to run as",
3414
- "name": "user",
3415
- "hasDynamicHelp": false,
3416
- "multiple": false,
3417
- "type": "option"
3418
- },
3419
- "workdir": {
3420
- "char": "w",
3421
- "description": "Working directory inside the container",
3422
- "name": "workdir",
3423
- "hasDynamicHelp": false,
3424
- "multiple": false,
3425
- "type": "option"
3415
+ "force": {
3416
+ "char": "f",
3417
+ "description": "Skip validation checks",
3418
+ "name": "force",
3419
+ "allowNo": false,
3420
+ "type": "boolean"
3426
3421
  }
3427
3422
  },
3428
3423
  "hasDynamicHelp": false,
3429
3424
  "hiddenAliases": [],
3430
- "id": "docker:shell",
3425
+ "id": "epic:move",
3431
3426
  "pluginAlias": "@proletariat/cli",
3432
3427
  "pluginName": "@proletariat/cli",
3433
3428
  "pluginType": "core",
3434
3429
  "strict": true,
3435
- "enableJsonFlag": false,
3436
3430
  "isESM": true,
3437
3431
  "relativePath": [
3438
3432
  "dist",
3439
3433
  "commands",
3440
- "docker",
3441
- "shell.js"
3434
+ "epic",
3435
+ "move.js"
3442
3436
  ]
3443
3437
  },
3444
- "docker:start": {
3438
+ "epic:progress": {
3445
3439
  "aliases": [],
3446
3440
  "args": {
3447
- "target": {
3448
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3449
- "name": "target",
3450
- "required": true
3441
+ "id": {
3442
+ "description": "Epic ID",
3443
+ "name": "id",
3444
+ "required": false
3451
3445
  }
3452
3446
  },
3453
- "description": "Start a stopped container (by execution ID, agent name, or container ID)",
3447
+ "description": "Show epic completion progress",
3454
3448
  "examples": [
3455
- "<%= config.bin %> <%= command.id %> WORK-001",
3456
- "<%= config.bin %> <%= command.id %> kalanick",
3457
- "<%= config.bin %> <%= command.id %> abc123"
3449
+ "<%= config.bin %> <%= command.id %> EPIC-001",
3450
+ "<%= config.bin %> <%= command.id %> --all"
3458
3451
  ],
3459
3452
  "flags": {
3453
+ "project": {
3454
+ "char": "P",
3455
+ "description": "Project ID (uses first project if only one exists)",
3456
+ "name": "project",
3457
+ "hasDynamicHelp": false,
3458
+ "multiple": false,
3459
+ "type": "option"
3460
+ },
3460
3461
  "json": {
3461
3462
  "description": "Output as JSON for AI agents/scripts",
3462
3463
  "name": "json",
@@ -3470,38 +3471,59 @@
3470
3471
  "allowNo": false,
3471
3472
  "type": "boolean"
3472
3473
  },
3473
- "attach": {
3474
+ "all": {
3474
3475
  "char": "a",
3475
- "description": "Attach to container after starting",
3476
- "name": "attach",
3476
+ "description": "Show progress for all epics",
3477
+ "name": "all",
3477
3478
  "allowNo": false,
3478
3479
  "type": "boolean"
3479
3480
  }
3480
3481
  },
3481
3482
  "hasDynamicHelp": false,
3482
3483
  "hiddenAliases": [],
3483
- "id": "docker:start",
3484
+ "id": "epic:progress",
3484
3485
  "pluginAlias": "@proletariat/cli",
3485
3486
  "pluginName": "@proletariat/cli",
3486
3487
  "pluginType": "core",
3487
3488
  "strict": true,
3488
- "enableJsonFlag": false,
3489
3489
  "isESM": true,
3490
3490
  "relativePath": [
3491
3491
  "dist",
3492
3492
  "commands",
3493
- "docker",
3494
- "start.js"
3493
+ "epic",
3494
+ "progress.js"
3495
3495
  ]
3496
3496
  },
3497
- "docker:status": {
3497
+ "epic:project": {
3498
3498
  "aliases": [],
3499
- "args": {},
3500
- "description": "Check if Docker daemon is running",
3499
+ "args": {
3500
+ "epicId": {
3501
+ "description": "Epic ID",
3502
+ "name": "epicId",
3503
+ "required": false
3504
+ },
3505
+ "targetProject": {
3506
+ "description": "Target project ID",
3507
+ "name": "targetProject",
3508
+ "required": false
3509
+ }
3510
+ },
3511
+ "description": "Move an epic to a different project (optionally with its tickets)",
3501
3512
  "examples": [
3513
+ "<%= config.bin %> <%= command.id %> EPIC-001 new-project",
3514
+ "<%= config.bin %> <%= command.id %> EPIC-001 new-project --with-tickets",
3515
+ "<%= config.bin %> <%= command.id %> EPIC-001",
3502
3516
  "<%= config.bin %> <%= command.id %>"
3503
3517
  ],
3504
3518
  "flags": {
3519
+ "project": {
3520
+ "char": "P",
3521
+ "description": "Project ID (uses first project if only one exists)",
3522
+ "name": "project",
3523
+ "hasDynamicHelp": false,
3524
+ "multiple": false,
3525
+ "type": "option"
3526
+ },
3505
3527
  "json": {
3506
3528
  "description": "Output as JSON for AI agents/scripts",
3507
3529
  "name": "json",
@@ -3514,56 +3536,55 @@
3514
3536
  "name": "machine",
3515
3537
  "allowNo": false,
3516
3538
  "type": "boolean"
3539
+ },
3540
+ "with-tickets": {
3541
+ "char": "t",
3542
+ "description": "Also move all tickets assigned to this epic",
3543
+ "name": "with-tickets",
3544
+ "allowNo": false,
3545
+ "type": "boolean"
3517
3546
  }
3518
3547
  },
3519
3548
  "hasDynamicHelp": false,
3520
3549
  "hiddenAliases": [],
3521
- "id": "docker:status",
3550
+ "id": "epic:project",
3522
3551
  "pluginAlias": "@proletariat/cli",
3523
3552
  "pluginName": "@proletariat/cli",
3524
3553
  "pluginType": "core",
3525
3554
  "strict": true,
3526
- "enableJsonFlag": false,
3527
3555
  "isESM": true,
3528
3556
  "relativePath": [
3529
3557
  "dist",
3530
3558
  "commands",
3531
- "docker",
3532
- "status.js"
3559
+ "epic",
3560
+ "project.js"
3533
3561
  ]
3534
3562
  },
3535
- "docker:stop": {
3563
+ "epic:reorder": {
3536
3564
  "aliases": [],
3537
3565
  "args": {
3538
- "target": {
3539
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
3540
- "name": "target",
3541
- "required": true
3542
- }
3543
- },
3544
- "description": "Stop a running container (by execution ID, agent name, or container ID)",
3545
- "examples": [
3546
- "<%= config.bin %> <%= command.id %> WORK-001",
3547
- "<%= config.bin %> <%= command.id %> kalanick",
3548
- "<%= config.bin %> <%= command.id %> abc123 --force"
3549
- ],
3550
- "flags": {
3551
- "force": {
3552
- "aliases": [
3553
- "yes",
3554
- "y"
3555
- ],
3556
- "char": "f",
3557
- "description": "Skip confirmation prompt",
3558
- "name": "force",
3559
- "allowNo": false,
3560
- "type": "boolean"
3566
+ "id": {
3567
+ "description": "Epic ID to reorder",
3568
+ "name": "id",
3569
+ "required": false
3561
3570
  },
3562
- "time": {
3563
- "char": "t",
3564
- "description": "Seconds to wait before killing the container",
3565
- "name": "time",
3566
- "default": 10,
3571
+ "position": {
3572
+ "description": "New position (1-based rank)",
3573
+ "name": "position",
3574
+ "required": false
3575
+ }
3576
+ },
3577
+ "description": "Reorder epic priority/rank",
3578
+ "examples": [
3579
+ "<%= config.bin %> <%= command.id %> EPIC-001 1",
3580
+ "<%= config.bin %> <%= command.id %> EPIC-003 --first",
3581
+ "<%= config.bin %> <%= command.id %> EPIC-002 --after EPIC-001"
3582
+ ],
3583
+ "flags": {
3584
+ "project": {
3585
+ "char": "P",
3586
+ "description": "Project ID (uses first project if only one exists)",
3587
+ "name": "project",
3567
3588
  "hasDynamicHelp": false,
3568
3589
  "multiple": false,
3569
3590
  "type": "option"
@@ -3580,63 +3601,70 @@
3580
3601
  "name": "machine",
3581
3602
  "allowNo": false,
3582
3603
  "type": "boolean"
3583
- }
3584
- },
3585
- "hasDynamicHelp": false,
3586
- "hiddenAliases": [],
3587
- "id": "docker:stop",
3588
- "pluginAlias": "@proletariat/cli",
3589
- "pluginName": "@proletariat/cli",
3590
- "pluginType": "core",
3591
- "strict": true,
3592
- "enableJsonFlag": false,
3593
- "isESM": true,
3594
- "relativePath": [
3595
- "dist",
3596
- "commands",
3597
- "docker",
3598
- "stop.js"
3599
- ]
3600
- },
3601
- "docker:sync": {
3602
- "aliases": [],
3603
- "args": {},
3604
- "description": "Sync container status from Docker into the database",
3605
- "examples": [
3606
- "<%= config.bin %> <%= command.id %>"
3607
- ],
3608
- "flags": {
3609
- "json": {
3610
- "description": "Output as JSON for AI agents/scripts",
3611
- "name": "json",
3604
+ },
3605
+ "first": {
3606
+ "description": "Move to first position (highest priority)",
3607
+ "exclusive": [
3608
+ "last",
3609
+ "after",
3610
+ "before"
3611
+ ],
3612
+ "name": "first",
3612
3613
  "allowNo": false,
3613
3614
  "type": "boolean"
3614
3615
  },
3615
- "machine": {
3616
- "char": "m",
3617
- "description": "Output as JSON for AI agents/scripts",
3618
- "name": "machine",
3616
+ "last": {
3617
+ "description": "Move to last position (lowest priority)",
3618
+ "exclusive": [
3619
+ "first",
3620
+ "after",
3621
+ "before"
3622
+ ],
3623
+ "name": "last",
3619
3624
  "allowNo": false,
3620
3625
  "type": "boolean"
3626
+ },
3627
+ "after": {
3628
+ "description": "Move after this epic ID",
3629
+ "exclusive": [
3630
+ "first",
3631
+ "last",
3632
+ "before"
3633
+ ],
3634
+ "name": "after",
3635
+ "hasDynamicHelp": false,
3636
+ "multiple": false,
3637
+ "type": "option"
3638
+ },
3639
+ "before": {
3640
+ "description": "Move before this epic ID",
3641
+ "exclusive": [
3642
+ "first",
3643
+ "last",
3644
+ "after"
3645
+ ],
3646
+ "name": "before",
3647
+ "hasDynamicHelp": false,
3648
+ "multiple": false,
3649
+ "type": "option"
3621
3650
  }
3622
3651
  },
3623
3652
  "hasDynamicHelp": false,
3624
3653
  "hiddenAliases": [],
3625
- "id": "docker:sync",
3654
+ "id": "epic:reorder",
3626
3655
  "pluginAlias": "@proletariat/cli",
3627
3656
  "pluginName": "@proletariat/cli",
3628
3657
  "pluginType": "core",
3629
3658
  "strict": true,
3630
- "enableJsonFlag": false,
3631
3659
  "isESM": true,
3632
3660
  "relativePath": [
3633
3661
  "dist",
3634
3662
  "commands",
3635
- "docker",
3636
- "sync.js"
3663
+ "epic",
3664
+ "reorder.js"
3637
3665
  ]
3638
3666
  },
3639
- "epic:activate": {
3667
+ "epic:show": {
3640
3668
  "aliases": [],
3641
3669
  "args": {
3642
3670
  "id": {
@@ -3645,9 +3673,9 @@
3645
3673
  "required": false
3646
3674
  }
3647
3675
  },
3648
- "description": "Activate a draft or archived epic",
3676
+ "description": "View epic details and linked tickets (alias for epic view)",
3649
3677
  "examples": [
3650
- "<%= config.bin %> <%= command.id %> EPIC-004",
3678
+ "<%= config.bin %> <%= command.id %> EPIC-001",
3651
3679
  "<%= config.bin %> <%= command.id %>"
3652
3680
  ],
3653
3681
  "flags": {
@@ -3674,33 +3702,40 @@
3674
3702
  }
3675
3703
  },
3676
3704
  "hasDynamicHelp": false,
3705
+ "hidden": true,
3677
3706
  "hiddenAliases": [],
3678
- "id": "epic:activate",
3707
+ "id": "epic:show",
3679
3708
  "pluginAlias": "@proletariat/cli",
3680
3709
  "pluginName": "@proletariat/cli",
3681
3710
  "pluginType": "core",
3682
- "strict": true,
3683
3711
  "isESM": true,
3684
3712
  "relativePath": [
3685
3713
  "dist",
3686
3714
  "commands",
3687
3715
  "epic",
3688
- "activate.js"
3716
+ "show.js"
3689
3717
  ]
3690
3718
  },
3691
- "epic:archive": {
3719
+ "epic:spec": {
3692
3720
  "aliases": [],
3693
3721
  "args": {
3694
- "id": {
3722
+ "epicId": {
3695
3723
  "description": "Epic ID",
3696
- "name": "id",
3724
+ "name": "epicId",
3725
+ "required": false
3726
+ },
3727
+ "specId": {
3728
+ "description": "Spec ID to link",
3729
+ "name": "specId",
3697
3730
  "required": false
3698
3731
  }
3699
3732
  },
3700
- "description": "Archive a completed epic",
3733
+ "description": "Assign a spec to an epic (design document)",
3701
3734
  "examples": [
3702
- "<%= config.bin %> <%= command.id %> EPIC-002",
3703
- "<%= config.bin %> <%= command.id %> --force"
3735
+ "<%= config.bin %> <%= command.id %> EPIC-001 SPEC-001",
3736
+ "<%= config.bin %> <%= command.id %> EPIC-001",
3737
+ "<%= config.bin %> <%= command.id %>",
3738
+ "<%= config.bin %> <%= command.id %> EPIC-001 --unlink"
3704
3739
  ],
3705
3740
  "flags": {
3706
3741
  "project": {
@@ -3724,17 +3759,23 @@
3724
3759
  "allowNo": false,
3725
3760
  "type": "boolean"
3726
3761
  },
3727
- "force": {
3728
- "char": "f",
3729
- "description": "Skip ticket completion check",
3730
- "name": "force",
3762
+ "unlink": {
3763
+ "char": "u",
3764
+ "description": "Remove spec from epic instead of adding",
3765
+ "name": "unlink",
3766
+ "allowNo": false,
3767
+ "type": "boolean"
3768
+ },
3769
+ "align-tickets": {
3770
+ "description": "Also update all tickets in the epic to use the same spec",
3771
+ "name": "align-tickets",
3731
3772
  "allowNo": false,
3732
3773
  "type": "boolean"
3733
3774
  }
3734
3775
  },
3735
3776
  "hasDynamicHelp": false,
3736
3777
  "hiddenAliases": [],
3737
- "id": "epic:archive",
3778
+ "id": "epic:spec",
3738
3779
  "pluginAlias": "@proletariat/cli",
3739
3780
  "pluginName": "@proletariat/cli",
3740
3781
  "pluginType": "core",
@@ -3744,19 +3785,30 @@
3744
3785
  "dist",
3745
3786
  "commands",
3746
3787
  "epic",
3747
- "archive.js"
3788
+ "spec.js"
3748
3789
  ]
3749
3790
  },
3750
- "epic:create": {
3791
+ "epic:ticket": {
3751
3792
  "aliases": [],
3752
- "args": {},
3753
- "description": "Create a new epic",
3793
+ "args": {
3794
+ "id": {
3795
+ "description": "Epic ID",
3796
+ "name": "id",
3797
+ "required": false
3798
+ },
3799
+ "tickets": {
3800
+ "description": "Ticket IDs to link (space-separated)",
3801
+ "name": "tickets",
3802
+ "required": false
3803
+ }
3804
+ },
3805
+ "description": "Assign tickets to an epic, or link epic to a spec (parent-child)",
3754
3806
  "examples": [
3807
+ "<%= config.bin %> <%= command.id %> EPIC-001 TKT-001 TKT-002",
3808
+ "<%= config.bin %> <%= command.id %> EPIC-001",
3755
3809
  "<%= config.bin %> <%= command.id %>",
3756
- "<%= config.bin %> <%= command.id %> --title \"User Authentication System\"",
3757
- "<%= config.bin %> <%= command.id %> -t \"API Design\" --status draft",
3758
- "<%= config.bin %> <%= command.id %> -t \"Implement Auth\" --spec SPEC-001",
3759
- "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating"
3810
+ "<%= config.bin %> <%= command.id %> EPIC-001 --unlink TKT-001",
3811
+ "<%= config.bin %> <%= command.id %> EPIC-001 --spec SPEC-001"
3760
3812
  ],
3761
3813
  "flags": {
3762
3814
  "project": {
@@ -3780,78 +3832,74 @@
3780
3832
  "allowNo": false,
3781
3833
  "type": "boolean"
3782
3834
  },
3783
- "title": {
3784
- "char": "t",
3785
- "description": "Epic title [required for non-interactive]",
3786
- "name": "title",
3787
- "hasDynamicHelp": false,
3788
- "multiple": false,
3789
- "type": "option"
3835
+ "unlink": {
3836
+ "char": "u",
3837
+ "description": "Remove tickets from this epic instead of adding",
3838
+ "name": "unlink",
3839
+ "allowNo": false,
3840
+ "type": "boolean"
3790
3841
  },
3791
- "status": {
3842
+ "spec": {
3792
3843
  "char": "s",
3793
- "description": "Initial status",
3794
- "name": "status",
3795
- "default": "active",
3844
+ "description": "Link epic to a spec (design document)",
3845
+ "name": "spec",
3796
3846
  "hasDynamicHelp": false,
3797
3847
  "multiple": false,
3798
- "options": [
3799
- "active",
3800
- "draft"
3801
- ],
3802
3848
  "type": "option"
3803
3849
  },
3804
- "description": {
3805
- "char": "d",
3806
- "description": "Epic description",
3807
- "name": "description",
3808
- "hasDynamicHelp": false,
3809
- "multiple": false,
3810
- "type": "option"
3850
+ "unlink-spec": {
3851
+ "description": "Remove spec link from epic",
3852
+ "name": "unlink-spec",
3853
+ "allowNo": false,
3854
+ "type": "boolean"
3811
3855
  },
3812
- "spec": {
3813
- "description": "Link to spec ID (the design spec that describes this epic)",
3814
- "name": "spec",
3856
+ "reconcile": {
3857
+ "description": "How to handle spec mismatch: keep (keep ticket spec), epic (use epic spec), skip",
3858
+ "name": "reconcile",
3815
3859
  "hasDynamicHelp": false,
3816
3860
  "multiple": false,
3861
+ "options": [
3862
+ "keep",
3863
+ "epic",
3864
+ "skip"
3865
+ ],
3817
3866
  "type": "option"
3818
3867
  },
3819
- "dry-run": {
3820
- "description": "Validate inputs without creating epic (use with --json for structured output)",
3821
- "name": "dry-run",
3822
- "allowNo": false,
3868
+ "inherit-spec": {
3869
+ "description": "Inherit spec from epic when ticket has no spec",
3870
+ "name": "inherit-spec",
3871
+ "allowNo": true,
3823
3872
  "type": "boolean"
3824
3873
  }
3825
3874
  },
3826
3875
  "hasDynamicHelp": false,
3827
3876
  "hiddenAliases": [],
3828
- "id": "epic:create",
3877
+ "id": "epic:ticket",
3829
3878
  "pluginAlias": "@proletariat/cli",
3830
3879
  "pluginName": "@proletariat/cli",
3831
3880
  "pluginType": "core",
3832
- "strict": true,
3881
+ "strict": false,
3833
3882
  "isESM": true,
3834
3883
  "relativePath": [
3835
3884
  "dist",
3836
3885
  "commands",
3837
3886
  "epic",
3838
- "create.js"
3887
+ "ticket.js"
3839
3888
  ]
3840
3889
  },
3841
- "epic:delete": {
3890
+ "epic:view": {
3842
3891
  "aliases": [],
3843
3892
  "args": {
3844
3893
  "id": {
3845
- "description": "Epic ID to delete",
3894
+ "description": "Epic ID",
3846
3895
  "name": "id",
3847
3896
  "required": false
3848
3897
  }
3849
3898
  },
3850
- "description": "Delete an epic permanently",
3899
+ "description": "View epic details and linked tickets",
3851
3900
  "examples": [
3852
3901
  "<%= config.bin %> <%= command.id %> EPIC-001",
3853
- "<%= config.bin %> <%= command.id %> EPIC-001 --force",
3854
- "<%= config.bin %> <%= command.id %> # Interactive mode"
3902
+ "<%= config.bin %> <%= command.id %>"
3855
3903
  ],
3856
3904
  "flags": {
3857
3905
  "project": {
@@ -3863,7 +3911,7 @@
3863
3911
  "type": "option"
3864
3912
  },
3865
3913
  "json": {
3866
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3914
+ "description": "Output as JSON for AI agents/scripts",
3867
3915
  "name": "json",
3868
3916
  "allowNo": false,
3869
3917
  "type": "boolean"
@@ -3874,18 +3922,11 @@
3874
3922
  "name": "machine",
3875
3923
  "allowNo": false,
3876
3924
  "type": "boolean"
3877
- },
3878
- "force": {
3879
- "char": "f",
3880
- "description": "Skip confirmation prompt",
3881
- "name": "force",
3882
- "allowNo": false,
3883
- "type": "boolean"
3884
3925
  }
3885
3926
  },
3886
3927
  "hasDynamicHelp": false,
3887
3928
  "hiddenAliases": [],
3888
- "id": "epic:delete",
3929
+ "id": "epic:view",
3889
3930
  "pluginAlias": "@proletariat/cli",
3890
3931
  "pluginName": "@proletariat/cli",
3891
3932
  "pluginType": "core",
@@ -3895,24 +3936,43 @@
3895
3936
  "dist",
3896
3937
  "commands",
3897
3938
  "epic",
3898
- "delete.js"
3939
+ "view.js"
3899
3940
  ]
3900
3941
  },
3901
- "epic": {
3942
+ "docker:clean": {
3902
3943
  "aliases": [],
3903
3944
  "args": {},
3904
- "description": "Interactive menu for epic operations",
3945
+ "description": "Remove orphaned containers (containers without running agents)",
3905
3946
  "examples": [
3906
- "<%= config.bin %> <%= command.id %>"
3947
+ "<%= config.bin %> <%= command.id %>",
3948
+ "<%= config.bin %> <%= command.id %> --force",
3949
+ "<%= config.bin %> <%= command.id %> --dry-run"
3907
3950
  ],
3908
3951
  "flags": {
3909
- "project": {
3910
- "char": "P",
3911
- "description": "Project ID (uses first project if only one exists)",
3912
- "name": "project",
3913
- "hasDynamicHelp": false,
3914
- "multiple": false,
3915
- "type": "option"
3952
+ "force": {
3953
+ "aliases": [
3954
+ "yes",
3955
+ "y"
3956
+ ],
3957
+ "char": "f",
3958
+ "description": "Skip confirmation prompt",
3959
+ "name": "force",
3960
+ "allowNo": false,
3961
+ "type": "boolean"
3962
+ },
3963
+ "dry-run": {
3964
+ "char": "d",
3965
+ "description": "Show what would be removed without removing",
3966
+ "name": "dry-run",
3967
+ "allowNo": false,
3968
+ "type": "boolean"
3969
+ },
3970
+ "all": {
3971
+ "char": "a",
3972
+ "description": "Remove all stopped devcontainers (not just orphaned)",
3973
+ "name": "all",
3974
+ "allowNo": false,
3975
+ "type": "boolean"
3916
3976
  },
3917
3977
  "json": {
3918
3978
  "description": "Output as JSON for AI agents/scripts",
@@ -3930,36 +3990,38 @@
3930
3990
  },
3931
3991
  "hasDynamicHelp": false,
3932
3992
  "hiddenAliases": [],
3933
- "id": "epic",
3993
+ "id": "docker:clean",
3934
3994
  "pluginAlias": "@proletariat/cli",
3935
3995
  "pluginName": "@proletariat/cli",
3936
3996
  "pluginType": "core",
3937
3997
  "strict": true,
3998
+ "enableJsonFlag": false,
3938
3999
  "isESM": true,
3939
4000
  "relativePath": [
3940
4001
  "dist",
3941
4002
  "commands",
3942
- "epic",
3943
- "index.js"
4003
+ "docker",
4004
+ "clean.js"
3944
4005
  ]
3945
4006
  },
3946
- "epic:list": {
4007
+ "docker": {
3947
4008
  "aliases": [],
3948
4009
  "args": {},
3949
- "description": "List all epics",
4010
+ "description": "Manage Docker containers used by agents",
3950
4011
  "examples": [
3951
4012
  "<%= config.bin %> <%= command.id %>",
3952
- "<%= config.bin %> <%= command.id %> --status active"
4013
+ "<%= config.bin %> docker status",
4014
+ "<%= config.bin %> docker list",
4015
+ "<%= config.bin %> docker logs WORK-001",
4016
+ "<%= config.bin %> docker start WORK-001",
4017
+ "<%= config.bin %> docker stop kalanick",
4018
+ "<%= config.bin %> docker shell WORK-001",
4019
+ "<%= config.bin %> docker restart abc123",
4020
+ "<%= config.bin %> docker sync",
4021
+ "<%= config.bin %> docker clean",
4022
+ "<%= config.bin %> docker prune"
3953
4023
  ],
3954
4024
  "flags": {
3955
- "project": {
3956
- "char": "P",
3957
- "description": "Project ID (uses first project if only one exists)",
3958
- "name": "project",
3959
- "hasDynamicHelp": false,
3960
- "multiple": false,
3961
- "type": "option"
3962
- },
3963
4025
  "json": {
3964
4026
  "description": "Output as JSON for AI agents/scripts",
3965
4027
  "name": "json",
@@ -3972,26 +4034,11 @@
3972
4034
  "name": "machine",
3973
4035
  "allowNo": false,
3974
4036
  "type": "boolean"
3975
- },
3976
- "status": {
3977
- "char": "s",
3978
- "description": "Filter by status",
3979
- "name": "status",
3980
- "hasDynamicHelp": false,
3981
- "multiple": false,
3982
- "options": [
3983
- "active",
3984
- "draft",
3985
- "complete",
3986
- "dropped",
3987
- "future"
3988
- ],
3989
- "type": "option"
3990
4037
  }
3991
4038
  },
3992
4039
  "hasDynamicHelp": false,
3993
4040
  "hiddenAliases": [],
3994
- "id": "epic:list",
4041
+ "id": "docker",
3995
4042
  "pluginAlias": "@proletariat/cli",
3996
4043
  "pluginName": "@proletariat/cli",
3997
4044
  "pluginType": "core",
@@ -4000,45 +4047,20 @@
4000
4047
  "relativePath": [
4001
4048
  "dist",
4002
4049
  "commands",
4003
- "epic",
4004
- "list.js"
4050
+ "docker",
4051
+ "index.js"
4005
4052
  ]
4006
4053
  },
4007
- "epic:move": {
4054
+ "docker:list": {
4008
4055
  "aliases": [],
4009
- "args": {
4010
- "id": {
4011
- "description": "Epic ID",
4012
- "name": "id",
4013
- "required": false
4014
- },
4015
- "status": {
4016
- "description": "Target status",
4017
- "name": "status",
4018
- "options": [
4019
- "active",
4020
- "draft",
4021
- "complete",
4022
- "dropped",
4023
- "future"
4024
- ],
4025
- "required": false
4026
- }
4027
- },
4028
- "description": "Move epic between status folders",
4056
+ "args": {},
4057
+ "description": "Show Docker containers from agent_work table with status",
4029
4058
  "examples": [
4030
- "<%= config.bin %> <%= command.id %> EPIC-002 complete",
4031
- "<%= config.bin %> <%= command.id %> --force"
4059
+ "<%= config.bin %> <%= command.id %>",
4060
+ "<%= config.bin %> <%= command.id %> --all",
4061
+ "<%= config.bin %> <%= command.id %> --running"
4032
4062
  ],
4033
4063
  "flags": {
4034
- "project": {
4035
- "char": "P",
4036
- "description": "Project ID (uses first project if only one exists)",
4037
- "name": "project",
4038
- "hasDynamicHelp": false,
4039
- "multiple": false,
4040
- "type": "option"
4041
- },
4042
4064
  "json": {
4043
4065
  "description": "Output as JSON for AI agents/scripts",
4044
4066
  "name": "json",
@@ -4052,52 +4074,54 @@
4052
4074
  "allowNo": false,
4053
4075
  "type": "boolean"
4054
4076
  },
4055
- "force": {
4056
- "char": "f",
4057
- "description": "Skip validation checks",
4058
- "name": "force",
4077
+ "all": {
4078
+ "char": "a",
4079
+ "description": "Show all containers (including non-devcontainer)",
4080
+ "name": "all",
4081
+ "allowNo": false,
4082
+ "type": "boolean"
4083
+ },
4084
+ "running": {
4085
+ "char": "r",
4086
+ "description": "Only show running containers",
4087
+ "name": "running",
4059
4088
  "allowNo": false,
4060
4089
  "type": "boolean"
4061
4090
  }
4062
4091
  },
4063
4092
  "hasDynamicHelp": false,
4064
4093
  "hiddenAliases": [],
4065
- "id": "epic:move",
4094
+ "id": "docker:list",
4066
4095
  "pluginAlias": "@proletariat/cli",
4067
4096
  "pluginName": "@proletariat/cli",
4068
4097
  "pluginType": "core",
4069
4098
  "strict": true,
4099
+ "enableJsonFlag": false,
4070
4100
  "isESM": true,
4071
4101
  "relativePath": [
4072
4102
  "dist",
4073
4103
  "commands",
4074
- "epic",
4075
- "move.js"
4104
+ "docker",
4105
+ "list.js"
4076
4106
  ]
4077
4107
  },
4078
- "epic:progress": {
4108
+ "docker:logs": {
4079
4109
  "aliases": [],
4080
4110
  "args": {
4081
- "id": {
4082
- "description": "Epic ID",
4083
- "name": "id",
4084
- "required": false
4111
+ "target": {
4112
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4113
+ "name": "target",
4114
+ "required": true
4085
4115
  }
4086
4116
  },
4087
- "description": "Show epic completion progress",
4117
+ "description": "View logs from a container (by execution ID, agent name, or container ID)",
4088
4118
  "examples": [
4089
- "<%= config.bin %> <%= command.id %> EPIC-001",
4090
- "<%= config.bin %> <%= command.id %> --all"
4119
+ "<%= config.bin %> <%= command.id %> WORK-001",
4120
+ "<%= config.bin %> <%= command.id %> kalanick",
4121
+ "<%= config.bin %> <%= command.id %> abc123 --follow",
4122
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
4091
4123
  ],
4092
4124
  "flags": {
4093
- "project": {
4094
- "char": "P",
4095
- "description": "Project ID (uses first project if only one exists)",
4096
- "name": "project",
4097
- "hasDynamicHelp": false,
4098
- "multiple": false,
4099
- "type": "option"
4100
- },
4101
4125
  "json": {
4102
4126
  "description": "Output as JSON for AI agents/scripts",
4103
4127
  "name": "json",
@@ -4111,280 +4135,87 @@
4111
4135
  "allowNo": false,
4112
4136
  "type": "boolean"
4113
4137
  },
4114
- "all": {
4115
- "char": "a",
4116
- "description": "Show progress for all epics",
4117
- "name": "all",
4138
+ "follow": {
4139
+ "char": "f",
4140
+ "description": "Follow log output",
4141
+ "name": "follow",
4142
+ "allowNo": false,
4143
+ "type": "boolean"
4144
+ },
4145
+ "tail": {
4146
+ "char": "n",
4147
+ "description": "Number of lines to show from the end",
4148
+ "name": "tail",
4149
+ "default": 100,
4150
+ "hasDynamicHelp": false,
4151
+ "multiple": false,
4152
+ "type": "option"
4153
+ },
4154
+ "timestamps": {
4155
+ "char": "t",
4156
+ "description": "Show timestamps",
4157
+ "name": "timestamps",
4118
4158
  "allowNo": false,
4119
4159
  "type": "boolean"
4120
4160
  }
4121
4161
  },
4122
4162
  "hasDynamicHelp": false,
4123
4163
  "hiddenAliases": [],
4124
- "id": "epic:progress",
4164
+ "id": "docker:logs",
4125
4165
  "pluginAlias": "@proletariat/cli",
4126
4166
  "pluginName": "@proletariat/cli",
4127
4167
  "pluginType": "core",
4128
4168
  "strict": true,
4169
+ "enableJsonFlag": false,
4129
4170
  "isESM": true,
4130
4171
  "relativePath": [
4131
4172
  "dist",
4132
4173
  "commands",
4133
- "epic",
4134
- "progress.js"
4174
+ "docker",
4175
+ "logs.js"
4135
4176
  ]
4136
4177
  },
4137
- "epic:project": {
4178
+ "docker:prune": {
4138
4179
  "aliases": [],
4139
- "args": {
4140
- "epicId": {
4141
- "description": "Epic ID",
4142
- "name": "epicId",
4143
- "required": false
4144
- },
4145
- "targetProject": {
4146
- "description": "Target project ID",
4147
- "name": "targetProject",
4148
- "required": false
4149
- }
4150
- },
4151
- "description": "Move an epic to a different project (optionally with its tickets)",
4180
+ "args": {},
4181
+ "description": "Remove unused Docker resources (containers, images, volumes, networks)",
4152
4182
  "examples": [
4153
- "<%= config.bin %> <%= command.id %> EPIC-001 new-project",
4154
- "<%= config.bin %> <%= command.id %> EPIC-001 new-project --with-tickets",
4155
- "<%= config.bin %> <%= command.id %> EPIC-001",
4156
- "<%= config.bin %> <%= command.id %>"
4183
+ "<%= config.bin %> <%= command.id %>",
4184
+ "<%= config.bin %> <%= command.id %> --all",
4185
+ "<%= config.bin %> <%= command.id %> --volumes",
4186
+ "<%= config.bin %> <%= command.id %> --dry-run"
4157
4187
  ],
4158
4188
  "flags": {
4159
- "project": {
4160
- "char": "P",
4161
- "description": "Project ID (uses first project if only one exists)",
4162
- "name": "project",
4163
- "hasDynamicHelp": false,
4164
- "multiple": false,
4165
- "type": "option"
4166
- },
4167
- "json": {
4168
- "description": "Output as JSON for AI agents/scripts",
4169
- "name": "json",
4170
- "allowNo": false,
4171
- "type": "boolean"
4172
- },
4173
- "machine": {
4174
- "char": "m",
4175
- "description": "Output as JSON for AI agents/scripts",
4176
- "name": "machine",
4177
- "allowNo": false,
4178
- "type": "boolean"
4179
- },
4180
- "with-tickets": {
4181
- "char": "t",
4182
- "description": "Also move all tickets assigned to this epic",
4183
- "name": "with-tickets",
4184
- "allowNo": false,
4185
- "type": "boolean"
4186
- }
4187
- },
4188
- "hasDynamicHelp": false,
4189
- "hiddenAliases": [],
4190
- "id": "epic:project",
4191
- "pluginAlias": "@proletariat/cli",
4192
- "pluginName": "@proletariat/cli",
4193
- "pluginType": "core",
4194
- "strict": true,
4195
- "isESM": true,
4196
- "relativePath": [
4197
- "dist",
4198
- "commands",
4199
- "epic",
4200
- "project.js"
4201
- ]
4202
- },
4203
- "epic:reorder": {
4204
- "aliases": [],
4205
- "args": {
4206
- "id": {
4207
- "description": "Epic ID to reorder",
4208
- "name": "id",
4209
- "required": false
4210
- },
4211
- "position": {
4212
- "description": "New position (1-based rank)",
4213
- "name": "position",
4214
- "required": false
4215
- }
4216
- },
4217
- "description": "Reorder epic priority/rank",
4218
- "examples": [
4219
- "<%= config.bin %> <%= command.id %> EPIC-001 1",
4220
- "<%= config.bin %> <%= command.id %> EPIC-003 --first",
4221
- "<%= config.bin %> <%= command.id %> EPIC-002 --after EPIC-001"
4222
- ],
4223
- "flags": {
4224
- "project": {
4225
- "char": "P",
4226
- "description": "Project ID (uses first project if only one exists)",
4227
- "name": "project",
4228
- "hasDynamicHelp": false,
4229
- "multiple": false,
4230
- "type": "option"
4231
- },
4232
- "json": {
4233
- "description": "Output as JSON for AI agents/scripts",
4234
- "name": "json",
4235
- "allowNo": false,
4236
- "type": "boolean"
4237
- },
4238
- "machine": {
4239
- "char": "m",
4240
- "description": "Output as JSON for AI agents/scripts",
4241
- "name": "machine",
4242
- "allowNo": false,
4243
- "type": "boolean"
4244
- },
4245
- "first": {
4246
- "description": "Move to first position (highest priority)",
4247
- "exclusive": [
4248
- "last",
4249
- "after",
4250
- "before"
4189
+ "force": {
4190
+ "aliases": [
4191
+ "yes",
4192
+ "y"
4251
4193
  ],
4252
- "name": "first",
4194
+ "char": "f",
4195
+ "description": "Skip confirmation prompt",
4196
+ "name": "force",
4253
4197
  "allowNo": false,
4254
4198
  "type": "boolean"
4255
4199
  },
4256
- "last": {
4257
- "description": "Move to last position (lowest priority)",
4258
- "exclusive": [
4259
- "first",
4260
- "after",
4261
- "before"
4262
- ],
4263
- "name": "last",
4200
+ "dry-run": {
4201
+ "char": "d",
4202
+ "description": "Show what would be removed without removing",
4203
+ "name": "dry-run",
4264
4204
  "allowNo": false,
4265
4205
  "type": "boolean"
4266
4206
  },
4267
- "after": {
4268
- "description": "Move after this epic ID",
4269
- "exclusive": [
4270
- "first",
4271
- "last",
4272
- "before"
4273
- ],
4274
- "name": "after",
4275
- "hasDynamicHelp": false,
4276
- "multiple": false,
4277
- "type": "option"
4278
- },
4279
- "before": {
4280
- "description": "Move before this epic ID",
4281
- "exclusive": [
4282
- "first",
4283
- "last",
4284
- "after"
4285
- ],
4286
- "name": "before",
4287
- "hasDynamicHelp": false,
4288
- "multiple": false,
4289
- "type": "option"
4290
- }
4291
- },
4292
- "hasDynamicHelp": false,
4293
- "hiddenAliases": [],
4294
- "id": "epic:reorder",
4295
- "pluginAlias": "@proletariat/cli",
4296
- "pluginName": "@proletariat/cli",
4297
- "pluginType": "core",
4298
- "strict": true,
4299
- "isESM": true,
4300
- "relativePath": [
4301
- "dist",
4302
- "commands",
4303
- "epic",
4304
- "reorder.js"
4305
- ]
4306
- },
4307
- "epic:show": {
4308
- "aliases": [],
4309
- "args": {
4310
- "id": {
4311
- "description": "Epic ID",
4312
- "name": "id",
4313
- "required": false
4314
- }
4315
- },
4316
- "description": "View epic details and linked tickets (alias for epic view)",
4317
- "examples": [
4318
- "<%= config.bin %> <%= command.id %> EPIC-001",
4319
- "<%= config.bin %> <%= command.id %>"
4320
- ],
4321
- "flags": {
4322
- "project": {
4323
- "char": "P",
4324
- "description": "Project ID (uses first project if only one exists)",
4325
- "name": "project",
4326
- "hasDynamicHelp": false,
4327
- "multiple": false,
4328
- "type": "option"
4329
- },
4330
- "json": {
4331
- "description": "Output as JSON for AI agents/scripts",
4332
- "name": "json",
4207
+ "all": {
4208
+ "char": "a",
4209
+ "description": "Remove all unused images, not just dangling ones",
4210
+ "name": "all",
4333
4211
  "allowNo": false,
4334
4212
  "type": "boolean"
4335
4213
  },
4336
- "machine": {
4337
- "char": "m",
4338
- "description": "Output as JSON for AI agents/scripts",
4339
- "name": "machine",
4214
+ "volumes": {
4215
+ "description": "Also prune volumes (dangerous - data loss possible)",
4216
+ "name": "volumes",
4340
4217
  "allowNo": false,
4341
4218
  "type": "boolean"
4342
- }
4343
- },
4344
- "hasDynamicHelp": false,
4345
- "hidden": true,
4346
- "hiddenAliases": [],
4347
- "id": "epic:show",
4348
- "pluginAlias": "@proletariat/cli",
4349
- "pluginName": "@proletariat/cli",
4350
- "pluginType": "core",
4351
- "isESM": true,
4352
- "relativePath": [
4353
- "dist",
4354
- "commands",
4355
- "epic",
4356
- "show.js"
4357
- ]
4358
- },
4359
- "epic:spec": {
4360
- "aliases": [],
4361
- "args": {
4362
- "epicId": {
4363
- "description": "Epic ID",
4364
- "name": "epicId",
4365
- "required": false
4366
- },
4367
- "specId": {
4368
- "description": "Spec ID to link",
4369
- "name": "specId",
4370
- "required": false
4371
- }
4372
- },
4373
- "description": "Assign a spec to an epic (design document)",
4374
- "examples": [
4375
- "<%= config.bin %> <%= command.id %> EPIC-001 SPEC-001",
4376
- "<%= config.bin %> <%= command.id %> EPIC-001",
4377
- "<%= config.bin %> <%= command.id %>",
4378
- "<%= config.bin %> <%= command.id %> EPIC-001 --unlink"
4379
- ],
4380
- "flags": {
4381
- "project": {
4382
- "char": "P",
4383
- "description": "Project ID (uses first project if only one exists)",
4384
- "name": "project",
4385
- "hasDynamicHelp": false,
4386
- "multiple": false,
4387
- "type": "option"
4388
4219
  },
4389
4220
  "json": {
4390
4221
  "description": "Output as JSON for AI agents/scripts",
@@ -4398,158 +4229,106 @@
4398
4229
  "name": "machine",
4399
4230
  "allowNo": false,
4400
4231
  "type": "boolean"
4401
- },
4402
- "unlink": {
4403
- "char": "u",
4404
- "description": "Remove spec from epic instead of adding",
4405
- "name": "unlink",
4406
- "allowNo": false,
4407
- "type": "boolean"
4408
- },
4409
- "align-tickets": {
4410
- "description": "Also update all tickets in the epic to use the same spec",
4411
- "name": "align-tickets",
4412
- "allowNo": false,
4413
- "type": "boolean"
4414
4232
  }
4415
4233
  },
4416
4234
  "hasDynamicHelp": false,
4417
4235
  "hiddenAliases": [],
4418
- "id": "epic:spec",
4236
+ "id": "docker:prune",
4419
4237
  "pluginAlias": "@proletariat/cli",
4420
4238
  "pluginName": "@proletariat/cli",
4421
4239
  "pluginType": "core",
4422
4240
  "strict": true,
4241
+ "enableJsonFlag": false,
4423
4242
  "isESM": true,
4424
4243
  "relativePath": [
4425
4244
  "dist",
4426
4245
  "commands",
4427
- "epic",
4428
- "spec.js"
4246
+ "docker",
4247
+ "prune.js"
4429
4248
  ]
4430
4249
  },
4431
- "epic:ticket": {
4250
+ "docker:restart": {
4432
4251
  "aliases": [],
4433
4252
  "args": {
4434
- "id": {
4435
- "description": "Epic ID",
4436
- "name": "id",
4437
- "required": false
4438
- },
4439
- "tickets": {
4440
- "description": "Ticket IDs to link (space-separated)",
4441
- "name": "tickets",
4442
- "required": false
4253
+ "target": {
4254
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4255
+ "name": "target",
4256
+ "required": true
4443
4257
  }
4444
4258
  },
4445
- "description": "Assign tickets to an epic, or link epic to a spec (parent-child)",
4259
+ "description": "Restart a container (by execution ID, agent name, or container ID)",
4446
4260
  "examples": [
4447
- "<%= config.bin %> <%= command.id %> EPIC-001 TKT-001 TKT-002",
4448
- "<%= config.bin %> <%= command.id %> EPIC-001",
4449
- "<%= config.bin %> <%= command.id %>",
4450
- "<%= config.bin %> <%= command.id %> EPIC-001 --unlink TKT-001",
4451
- "<%= config.bin %> <%= command.id %> EPIC-001 --spec SPEC-001"
4261
+ "<%= config.bin %> <%= command.id %> WORK-001",
4262
+ "<%= config.bin %> <%= command.id %> kalanick",
4263
+ "<%= config.bin %> <%= command.id %> abc123 --force"
4452
4264
  ],
4453
4265
  "flags": {
4454
- "project": {
4455
- "char": "P",
4456
- "description": "Project ID (uses first project if only one exists)",
4457
- "name": "project",
4458
- "hasDynamicHelp": false,
4459
- "multiple": false,
4460
- "type": "option"
4461
- },
4462
- "json": {
4463
- "description": "Output as JSON for AI agents/scripts",
4464
- "name": "json",
4465
- "allowNo": false,
4466
- "type": "boolean"
4467
- },
4468
- "machine": {
4469
- "char": "m",
4470
- "description": "Output as JSON for AI agents/scripts",
4471
- "name": "machine",
4472
- "allowNo": false,
4473
- "type": "boolean"
4474
- },
4475
- "unlink": {
4476
- "char": "u",
4477
- "description": "Remove tickets from this epic instead of adding",
4478
- "name": "unlink",
4479
- "allowNo": false,
4480
- "type": "boolean"
4481
- },
4482
- "spec": {
4483
- "char": "s",
4484
- "description": "Link epic to a spec (design document)",
4485
- "name": "spec",
4486
- "hasDynamicHelp": false,
4487
- "multiple": false,
4488
- "type": "option"
4489
- },
4490
- "unlink-spec": {
4491
- "description": "Remove spec link from epic",
4492
- "name": "unlink-spec",
4266
+ "force": {
4267
+ "aliases": [
4268
+ "yes",
4269
+ "y"
4270
+ ],
4271
+ "char": "f",
4272
+ "description": "Skip confirmation prompt",
4273
+ "name": "force",
4493
4274
  "allowNo": false,
4494
4275
  "type": "boolean"
4495
4276
  },
4496
- "reconcile": {
4497
- "description": "How to handle spec mismatch: keep (keep ticket spec), epic (use epic spec), skip",
4498
- "name": "reconcile",
4277
+ "time": {
4278
+ "char": "t",
4279
+ "description": "Seconds to wait before killing the container during stop",
4280
+ "name": "time",
4281
+ "default": 10,
4499
4282
  "hasDynamicHelp": false,
4500
4283
  "multiple": false,
4501
- "options": [
4502
- "keep",
4503
- "epic",
4504
- "skip"
4505
- ],
4506
4284
  "type": "option"
4507
4285
  },
4508
- "inherit-spec": {
4509
- "description": "Inherit spec from epic when ticket has no spec",
4510
- "name": "inherit-spec",
4511
- "allowNo": true,
4286
+ "json": {
4287
+ "description": "Output as JSON for AI agents/scripts",
4288
+ "name": "json",
4289
+ "allowNo": false,
4290
+ "type": "boolean"
4291
+ },
4292
+ "machine": {
4293
+ "char": "m",
4294
+ "description": "Output as JSON for AI agents/scripts",
4295
+ "name": "machine",
4296
+ "allowNo": false,
4512
4297
  "type": "boolean"
4513
4298
  }
4514
4299
  },
4515
4300
  "hasDynamicHelp": false,
4516
4301
  "hiddenAliases": [],
4517
- "id": "epic:ticket",
4302
+ "id": "docker:restart",
4518
4303
  "pluginAlias": "@proletariat/cli",
4519
4304
  "pluginName": "@proletariat/cli",
4520
4305
  "pluginType": "core",
4521
- "strict": false,
4306
+ "strict": true,
4307
+ "enableJsonFlag": false,
4522
4308
  "isESM": true,
4523
4309
  "relativePath": [
4524
4310
  "dist",
4525
4311
  "commands",
4526
- "epic",
4527
- "ticket.js"
4312
+ "docker",
4313
+ "restart.js"
4528
4314
  ]
4529
4315
  },
4530
- "epic:view": {
4316
+ "docker:shell": {
4531
4317
  "aliases": [],
4532
4318
  "args": {
4533
- "id": {
4534
- "description": "Epic ID",
4535
- "name": "id",
4536
- "required": false
4319
+ "target": {
4320
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4321
+ "name": "target",
4322
+ "required": true
4537
4323
  }
4538
4324
  },
4539
- "description": "View epic details and linked tickets",
4325
+ "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
4540
4326
  "examples": [
4541
- "<%= config.bin %> <%= command.id %> EPIC-001",
4542
- "<%= config.bin %> <%= command.id %>"
4327
+ "<%= config.bin %> <%= command.id %> WORK-001",
4328
+ "<%= config.bin %> <%= command.id %> kalanick",
4329
+ "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
4543
4330
  ],
4544
4331
  "flags": {
4545
- "project": {
4546
- "char": "P",
4547
- "description": "Project ID (uses first project if only one exists)",
4548
- "name": "project",
4549
- "hasDynamicHelp": false,
4550
- "multiple": false,
4551
- "type": "option"
4552
- },
4553
4332
  "json": {
4554
4333
  "description": "Output as JSON for AI agents/scripts",
4555
4334
  "name": "json",
@@ -4562,30 +4341,63 @@
4562
4341
  "name": "machine",
4563
4342
  "allowNo": false,
4564
4343
  "type": "boolean"
4344
+ },
4345
+ "shell": {
4346
+ "char": "s",
4347
+ "description": "Shell to use",
4348
+ "name": "shell",
4349
+ "default": "/bin/sh",
4350
+ "hasDynamicHelp": false,
4351
+ "multiple": false,
4352
+ "type": "option"
4353
+ },
4354
+ "user": {
4355
+ "char": "u",
4356
+ "description": "User to run as",
4357
+ "name": "user",
4358
+ "hasDynamicHelp": false,
4359
+ "multiple": false,
4360
+ "type": "option"
4361
+ },
4362
+ "workdir": {
4363
+ "char": "w",
4364
+ "description": "Working directory inside the container",
4365
+ "name": "workdir",
4366
+ "hasDynamicHelp": false,
4367
+ "multiple": false,
4368
+ "type": "option"
4565
4369
  }
4566
4370
  },
4567
4371
  "hasDynamicHelp": false,
4568
4372
  "hiddenAliases": [],
4569
- "id": "epic:view",
4373
+ "id": "docker:shell",
4570
4374
  "pluginAlias": "@proletariat/cli",
4571
4375
  "pluginName": "@proletariat/cli",
4572
4376
  "pluginType": "core",
4573
4377
  "strict": true,
4378
+ "enableJsonFlag": false,
4574
4379
  "isESM": true,
4575
4380
  "relativePath": [
4576
4381
  "dist",
4577
4382
  "commands",
4578
- "epic",
4579
- "view.js"
4383
+ "docker",
4384
+ "shell.js"
4580
4385
  ]
4581
4386
  },
4582
- "feedback": {
4387
+ "docker:start": {
4583
4388
  "aliases": [],
4584
- "args": {},
4585
- "description": "Interactive menu for feedback and issue operations",
4389
+ "args": {
4390
+ "target": {
4391
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4392
+ "name": "target",
4393
+ "required": true
4394
+ }
4395
+ },
4396
+ "description": "Start a stopped container (by execution ID, agent name, or container ID)",
4586
4397
  "examples": [
4587
- "<%= config.bin %> <%= command.id %>",
4588
- "<%= config.bin %> <%= command.id %> --action submit"
4398
+ "<%= config.bin %> <%= command.id %> WORK-001",
4399
+ "<%= config.bin %> <%= command.id %> kalanick",
4400
+ "<%= config.bin %> <%= command.id %> abc123"
4589
4401
  ],
4590
4402
  "flags": {
4591
4403
  "json": {
@@ -4601,23 +4413,17 @@
4601
4413
  "allowNo": false,
4602
4414
  "type": "boolean"
4603
4415
  },
4604
- "action": {
4416
+ "attach": {
4605
4417
  "char": "a",
4606
- "description": "Action to perform (submit, list, view)",
4607
- "name": "action",
4608
- "hasDynamicHelp": false,
4609
- "multiple": false,
4610
- "options": [
4611
- "submit",
4612
- "list",
4613
- "view"
4614
- ],
4615
- "type": "option"
4418
+ "description": "Attach to container after starting",
4419
+ "name": "attach",
4420
+ "allowNo": false,
4421
+ "type": "boolean"
4616
4422
  }
4617
4423
  },
4618
4424
  "hasDynamicHelp": false,
4619
4425
  "hiddenAliases": [],
4620
- "id": "feedback",
4426
+ "id": "docker:start",
4621
4427
  "pluginAlias": "@proletariat/cli",
4622
4428
  "pluginName": "@proletariat/cli",
4623
4429
  "pluginType": "core",
@@ -4627,19 +4433,16 @@
4627
4433
  "relativePath": [
4628
4434
  "dist",
4629
4435
  "commands",
4630
- "feedback",
4631
- "index.js"
4436
+ "docker",
4437
+ "start.js"
4632
4438
  ]
4633
4439
  },
4634
- "feedback:list": {
4440
+ "docker:status": {
4635
4441
  "aliases": [],
4636
4442
  "args": {},
4637
- "description": "List recent feedback issues from the repository",
4443
+ "description": "Check if Docker daemon is running",
4638
4444
  "examples": [
4639
- "<%= config.bin %> <%= command.id %>",
4640
- "<%= config.bin %> <%= command.id %> --category bug",
4641
- "<%= config.bin %> <%= command.id %> --state closed --limit 10",
4642
- "<%= config.bin %> <%= command.id %> --json"
4445
+ "<%= config.bin %> <%= command.id %>"
4643
4446
  ],
4644
4447
  "flags": {
4645
4448
  "json": {
@@ -4654,47 +4457,11 @@
4654
4457
  "name": "machine",
4655
4458
  "allowNo": false,
4656
4459
  "type": "boolean"
4657
- },
4658
- "category": {
4659
- "char": "c",
4660
- "description": "Filter by category (bug, feature, general)",
4661
- "name": "category",
4662
- "hasDynamicHelp": false,
4663
- "multiple": false,
4664
- "options": [
4665
- "bug",
4666
- "feature",
4667
- "general"
4668
- ],
4669
- "type": "option"
4670
- },
4671
- "state": {
4672
- "char": "s",
4673
- "description": "Filter by state",
4674
- "name": "state",
4675
- "default": "open",
4676
- "hasDynamicHelp": false,
4677
- "multiple": false,
4678
- "options": [
4679
- "open",
4680
- "closed",
4681
- "all"
4682
- ],
4683
- "type": "option"
4684
- },
4685
- "limit": {
4686
- "char": "l",
4687
- "description": "Maximum number of issues to show",
4688
- "name": "limit",
4689
- "default": 20,
4690
- "hasDynamicHelp": false,
4691
- "multiple": false,
4692
- "type": "option"
4693
4460
  }
4694
4461
  },
4695
4462
  "hasDynamicHelp": false,
4696
4463
  "hiddenAliases": [],
4697
- "id": "feedback:list",
4464
+ "id": "docker:status",
4698
4465
  "pluginAlias": "@proletariat/cli",
4699
4466
  "pluginName": "@proletariat/cli",
4700
4467
  "pluginType": "core",
@@ -4704,20 +4471,46 @@
4704
4471
  "relativePath": [
4705
4472
  "dist",
4706
4473
  "commands",
4707
- "feedback",
4708
- "list.js"
4474
+ "docker",
4475
+ "status.js"
4709
4476
  ]
4710
4477
  },
4711
- "feedback:submit": {
4478
+ "docker:stop": {
4712
4479
  "aliases": [],
4713
- "args": {},
4714
- "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
4480
+ "args": {
4481
+ "target": {
4482
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
4483
+ "name": "target",
4484
+ "required": true
4485
+ }
4486
+ },
4487
+ "description": "Stop a running container (by execution ID, agent name, or container ID)",
4715
4488
  "examples": [
4716
- "<%= config.bin %> <%= command.id %>",
4717
- "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
4718
- "<%= config.bin %> <%= command.id %> --json"
4489
+ "<%= config.bin %> <%= command.id %> WORK-001",
4490
+ "<%= config.bin %> <%= command.id %> kalanick",
4491
+ "<%= config.bin %> <%= command.id %> abc123 --force"
4719
4492
  ],
4720
4493
  "flags": {
4494
+ "force": {
4495
+ "aliases": [
4496
+ "yes",
4497
+ "y"
4498
+ ],
4499
+ "char": "f",
4500
+ "description": "Skip confirmation prompt",
4501
+ "name": "force",
4502
+ "allowNo": false,
4503
+ "type": "boolean"
4504
+ },
4505
+ "time": {
4506
+ "char": "t",
4507
+ "description": "Seconds to wait before killing the container",
4508
+ "name": "time",
4509
+ "default": 10,
4510
+ "hasDynamicHelp": false,
4511
+ "multiple": false,
4512
+ "type": "option"
4513
+ },
4721
4514
  "json": {
4722
4515
  "description": "Output as JSON for AI agents/scripts",
4723
4516
  "name": "json",
@@ -4730,65 +4523,30 @@
4730
4523
  "name": "machine",
4731
4524
  "allowNo": false,
4732
4525
  "type": "boolean"
4733
- },
4734
- "title": {
4735
- "char": "t",
4736
- "description": "Issue title (one-liner) [required for non-interactive]",
4737
- "name": "title",
4738
- "hasDynamicHelp": false,
4739
- "multiple": false,
4740
- "type": "option"
4741
- },
4742
- "body": {
4743
- "char": "b",
4744
- "description": "Issue description [required for non-interactive]",
4745
- "name": "body",
4746
- "hasDynamicHelp": false,
4747
- "multiple": false,
4748
- "type": "option"
4749
- },
4750
- "category": {
4751
- "char": "c",
4752
- "description": "Feedback category",
4753
- "name": "category",
4754
- "hasDynamicHelp": false,
4755
- "multiple": false,
4756
- "options": [
4757
- "bug",
4758
- "feature",
4759
- "general"
4760
- ],
4761
- "type": "option"
4762
4526
  }
4763
4527
  },
4764
4528
  "hasDynamicHelp": false,
4765
4529
  "hiddenAliases": [],
4766
- "id": "feedback:submit",
4530
+ "id": "docker:stop",
4767
4531
  "pluginAlias": "@proletariat/cli",
4768
4532
  "pluginName": "@proletariat/cli",
4769
4533
  "pluginType": "core",
4770
4534
  "strict": true,
4535
+ "enableJsonFlag": false,
4771
4536
  "isESM": true,
4772
4537
  "relativePath": [
4773
4538
  "dist",
4774
4539
  "commands",
4775
- "feedback",
4776
- "submit.js"
4540
+ "docker",
4541
+ "stop.js"
4777
4542
  ]
4778
4543
  },
4779
- "feedback:view": {
4544
+ "docker:sync": {
4780
4545
  "aliases": [],
4781
- "args": {
4782
- "number": {
4783
- "description": "Issue number to view",
4784
- "name": "number",
4785
- "required": true
4786
- }
4787
- },
4788
- "description": "View details of a specific feedback issue",
4546
+ "args": {},
4547
+ "description": "Sync container status from Docker into the database",
4789
4548
  "examples": [
4790
- "<%= config.bin %> <%= command.id %> 123",
4791
- "<%= config.bin %> <%= command.id %> 123 --json"
4549
+ "<%= config.bin %> <%= command.id %>"
4792
4550
  ],
4793
4551
  "flags": {
4794
4552
  "json": {
@@ -4807,7 +4565,7 @@
4807
4565
  },
4808
4566
  "hasDynamicHelp": false,
4809
4567
  "hiddenAliases": [],
4810
- "id": "feedback:view",
4568
+ "id": "docker:sync",
4811
4569
  "pluginAlias": "@proletariat/cli",
4812
4570
  "pluginName": "@proletariat/cli",
4813
4571
  "pluginType": "core",
@@ -4817,8 +4575,8 @@
4817
4575
  "relativePath": [
4818
4576
  "dist",
4819
4577
  "commands",
4820
- "feedback",
4821
- "view.js"
4578
+ "docker",
4579
+ "sync.js"
4822
4580
  ]
4823
4581
  },
4824
4582
  "execution:config": {
@@ -5207,31 +4965,280 @@
5207
4965
  "allowNo": false,
5208
4966
  "type": "boolean"
5209
4967
  },
5210
- "force": {
5211
- "char": "f",
5212
- "description": "Force kill (SIGKILL instead of SIGTERM)",
5213
- "name": "force",
5214
- "allowNo": false,
5215
- "type": "boolean"
4968
+ "force": {
4969
+ "char": "f",
4970
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
4971
+ "name": "force",
4972
+ "allowNo": false,
4973
+ "type": "boolean"
4974
+ },
4975
+ "all": {
4976
+ "description": "Stop all running executions",
4977
+ "name": "all",
4978
+ "allowNo": false,
4979
+ "type": "boolean"
4980
+ },
4981
+ "agent": {
4982
+ "char": "a",
4983
+ "description": "Stop all executions for a specific agent",
4984
+ "name": "agent",
4985
+ "hasDynamicHelp": false,
4986
+ "multiple": false,
4987
+ "type": "option"
4988
+ }
4989
+ },
4990
+ "hasDynamicHelp": false,
4991
+ "hiddenAliases": [],
4992
+ "id": "execution:stop",
4993
+ "pluginAlias": "@proletariat/cli",
4994
+ "pluginName": "@proletariat/cli",
4995
+ "pluginType": "core",
4996
+ "strict": true,
4997
+ "isESM": true,
4998
+ "relativePath": [
4999
+ "dist",
5000
+ "commands",
5001
+ "execution",
5002
+ "stop.js"
5003
+ ]
5004
+ },
5005
+ "execution:view": {
5006
+ "aliases": [],
5007
+ "args": {
5008
+ "id": {
5009
+ "description": "Execution ID - prompts if not provided",
5010
+ "name": "id",
5011
+ "required": false
5012
+ }
5013
+ },
5014
+ "description": "View details of a specific execution",
5015
+ "examples": [
5016
+ "<%= config.bin %> <%= command.id %> WORK-001",
5017
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
5018
+ ],
5019
+ "flags": {
5020
+ "project": {
5021
+ "char": "P",
5022
+ "description": "Project ID (uses first project if only one exists)",
5023
+ "name": "project",
5024
+ "hasDynamicHelp": false,
5025
+ "multiple": false,
5026
+ "type": "option"
5027
+ },
5028
+ "json": {
5029
+ "description": "Output as JSON for AI agents/scripts",
5030
+ "name": "json",
5031
+ "allowNo": false,
5032
+ "type": "boolean"
5033
+ },
5034
+ "machine": {
5035
+ "char": "m",
5036
+ "description": "Output as JSON for AI agents/scripts",
5037
+ "name": "machine",
5038
+ "allowNo": false,
5039
+ "type": "boolean"
5040
+ }
5041
+ },
5042
+ "hasDynamicHelp": false,
5043
+ "hiddenAliases": [],
5044
+ "id": "execution:view",
5045
+ "pluginAlias": "@proletariat/cli",
5046
+ "pluginName": "@proletariat/cli",
5047
+ "pluginType": "core",
5048
+ "strict": true,
5049
+ "isESM": true,
5050
+ "relativePath": [
5051
+ "dist",
5052
+ "commands",
5053
+ "execution",
5054
+ "view.js"
5055
+ ]
5056
+ },
5057
+ "feedback": {
5058
+ "aliases": [],
5059
+ "args": {},
5060
+ "description": "Interactive menu for feedback and issue operations",
5061
+ "examples": [
5062
+ "<%= config.bin %> <%= command.id %>",
5063
+ "<%= config.bin %> <%= command.id %> --action submit"
5064
+ ],
5065
+ "flags": {
5066
+ "json": {
5067
+ "description": "Output as JSON for AI agents/scripts",
5068
+ "name": "json",
5069
+ "allowNo": false,
5070
+ "type": "boolean"
5071
+ },
5072
+ "machine": {
5073
+ "char": "m",
5074
+ "description": "Output as JSON for AI agents/scripts",
5075
+ "name": "machine",
5076
+ "allowNo": false,
5077
+ "type": "boolean"
5078
+ },
5079
+ "action": {
5080
+ "char": "a",
5081
+ "description": "Action to perform (submit, list, view)",
5082
+ "name": "action",
5083
+ "hasDynamicHelp": false,
5084
+ "multiple": false,
5085
+ "options": [
5086
+ "submit",
5087
+ "list",
5088
+ "view"
5089
+ ],
5090
+ "type": "option"
5091
+ }
5092
+ },
5093
+ "hasDynamicHelp": false,
5094
+ "hiddenAliases": [],
5095
+ "id": "feedback",
5096
+ "pluginAlias": "@proletariat/cli",
5097
+ "pluginName": "@proletariat/cli",
5098
+ "pluginType": "core",
5099
+ "strict": true,
5100
+ "enableJsonFlag": false,
5101
+ "isESM": true,
5102
+ "relativePath": [
5103
+ "dist",
5104
+ "commands",
5105
+ "feedback",
5106
+ "index.js"
5107
+ ]
5108
+ },
5109
+ "feedback:list": {
5110
+ "aliases": [],
5111
+ "args": {},
5112
+ "description": "List recent feedback issues from the repository",
5113
+ "examples": [
5114
+ "<%= config.bin %> <%= command.id %>",
5115
+ "<%= config.bin %> <%= command.id %> --category bug",
5116
+ "<%= config.bin %> <%= command.id %> --state closed --limit 10",
5117
+ "<%= config.bin %> <%= command.id %> --json"
5118
+ ],
5119
+ "flags": {
5120
+ "json": {
5121
+ "description": "Output as JSON for AI agents/scripts",
5122
+ "name": "json",
5123
+ "allowNo": false,
5124
+ "type": "boolean"
5125
+ },
5126
+ "machine": {
5127
+ "char": "m",
5128
+ "description": "Output as JSON for AI agents/scripts",
5129
+ "name": "machine",
5130
+ "allowNo": false,
5131
+ "type": "boolean"
5132
+ },
5133
+ "category": {
5134
+ "char": "c",
5135
+ "description": "Filter by category (bug, feature, general)",
5136
+ "name": "category",
5137
+ "hasDynamicHelp": false,
5138
+ "multiple": false,
5139
+ "options": [
5140
+ "bug",
5141
+ "feature",
5142
+ "general"
5143
+ ],
5144
+ "type": "option"
5145
+ },
5146
+ "state": {
5147
+ "char": "s",
5148
+ "description": "Filter by state",
5149
+ "name": "state",
5150
+ "default": "open",
5151
+ "hasDynamicHelp": false,
5152
+ "multiple": false,
5153
+ "options": [
5154
+ "open",
5155
+ "closed",
5156
+ "all"
5157
+ ],
5158
+ "type": "option"
5159
+ },
5160
+ "limit": {
5161
+ "char": "l",
5162
+ "description": "Maximum number of issues to show",
5163
+ "name": "limit",
5164
+ "default": 20,
5165
+ "hasDynamicHelp": false,
5166
+ "multiple": false,
5167
+ "type": "option"
5168
+ }
5169
+ },
5170
+ "hasDynamicHelp": false,
5171
+ "hiddenAliases": [],
5172
+ "id": "feedback:list",
5173
+ "pluginAlias": "@proletariat/cli",
5174
+ "pluginName": "@proletariat/cli",
5175
+ "pluginType": "core",
5176
+ "strict": true,
5177
+ "enableJsonFlag": false,
5178
+ "isESM": true,
5179
+ "relativePath": [
5180
+ "dist",
5181
+ "commands",
5182
+ "feedback",
5183
+ "list.js"
5184
+ ]
5185
+ },
5186
+ "feedback:submit": {
5187
+ "aliases": [],
5188
+ "args": {},
5189
+ "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
5190
+ "examples": [
5191
+ "<%= config.bin %> <%= command.id %>",
5192
+ "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
5193
+ "<%= config.bin %> <%= command.id %> --json"
5194
+ ],
5195
+ "flags": {
5196
+ "json": {
5197
+ "description": "Output as JSON for AI agents/scripts",
5198
+ "name": "json",
5199
+ "allowNo": false,
5200
+ "type": "boolean"
5201
+ },
5202
+ "machine": {
5203
+ "char": "m",
5204
+ "description": "Output as JSON for AI agents/scripts",
5205
+ "name": "machine",
5206
+ "allowNo": false,
5207
+ "type": "boolean"
5208
+ },
5209
+ "title": {
5210
+ "char": "t",
5211
+ "description": "Issue title (one-liner) [required for non-interactive]",
5212
+ "name": "title",
5213
+ "hasDynamicHelp": false,
5214
+ "multiple": false,
5215
+ "type": "option"
5216
5216
  },
5217
- "all": {
5218
- "description": "Stop all running executions",
5219
- "name": "all",
5220
- "allowNo": false,
5221
- "type": "boolean"
5217
+ "body": {
5218
+ "char": "b",
5219
+ "description": "Issue description [required for non-interactive]",
5220
+ "name": "body",
5221
+ "hasDynamicHelp": false,
5222
+ "multiple": false,
5223
+ "type": "option"
5222
5224
  },
5223
- "agent": {
5224
- "char": "a",
5225
- "description": "Stop all executions for a specific agent",
5226
- "name": "agent",
5225
+ "category": {
5226
+ "char": "c",
5227
+ "description": "Feedback category",
5228
+ "name": "category",
5227
5229
  "hasDynamicHelp": false,
5228
5230
  "multiple": false,
5231
+ "options": [
5232
+ "bug",
5233
+ "feature",
5234
+ "general"
5235
+ ],
5229
5236
  "type": "option"
5230
5237
  }
5231
5238
  },
5232
5239
  "hasDynamicHelp": false,
5233
5240
  "hiddenAliases": [],
5234
- "id": "execution:stop",
5241
+ "id": "feedback:submit",
5235
5242
  "pluginAlias": "@proletariat/cli",
5236
5243
  "pluginName": "@proletariat/cli",
5237
5244
  "pluginType": "core",
@@ -5240,33 +5247,25 @@
5240
5247
  "relativePath": [
5241
5248
  "dist",
5242
5249
  "commands",
5243
- "execution",
5244
- "stop.js"
5250
+ "feedback",
5251
+ "submit.js"
5245
5252
  ]
5246
5253
  },
5247
- "execution:view": {
5254
+ "feedback:view": {
5248
5255
  "aliases": [],
5249
5256
  "args": {
5250
- "id": {
5251
- "description": "Execution ID - prompts if not provided",
5252
- "name": "id",
5253
- "required": false
5257
+ "number": {
5258
+ "description": "Issue number to view",
5259
+ "name": "number",
5260
+ "required": true
5254
5261
  }
5255
5262
  },
5256
- "description": "View details of a specific execution",
5263
+ "description": "View details of a specific feedback issue",
5257
5264
  "examples": [
5258
- "<%= config.bin %> <%= command.id %> WORK-001",
5259
- "<%= config.bin %> <%= command.id %> # Interactive mode"
5265
+ "<%= config.bin %> <%= command.id %> 123",
5266
+ "<%= config.bin %> <%= command.id %> 123 --json"
5260
5267
  ],
5261
5268
  "flags": {
5262
- "project": {
5263
- "char": "P",
5264
- "description": "Project ID (uses first project if only one exists)",
5265
- "name": "project",
5266
- "hasDynamicHelp": false,
5267
- "multiple": false,
5268
- "type": "option"
5269
- },
5270
5269
  "json": {
5271
5270
  "description": "Output as JSON for AI agents/scripts",
5272
5271
  "name": "json",
@@ -5283,16 +5282,17 @@
5283
5282
  },
5284
5283
  "hasDynamicHelp": false,
5285
5284
  "hiddenAliases": [],
5286
- "id": "execution:view",
5285
+ "id": "feedback:view",
5287
5286
  "pluginAlias": "@proletariat/cli",
5288
5287
  "pluginName": "@proletariat/cli",
5289
5288
  "pluginType": "core",
5290
5289
  "strict": true,
5290
+ "enableJsonFlag": false,
5291
5291
  "isESM": true,
5292
5292
  "relativePath": [
5293
5293
  "dist",
5294
5294
  "commands",
5295
- "execution",
5295
+ "feedback",
5296
5296
  "view.js"
5297
5297
  ]
5298
5298
  },
@@ -6613,6 +6613,95 @@
6613
6613
  "stop.js"
6614
6614
  ]
6615
6615
  },
6616
+ "pmo:init": {
6617
+ "aliases": [],
6618
+ "args": {},
6619
+ "description": "Initialize PMO (Project Management Org) in current directory or HQ",
6620
+ "examples": [
6621
+ "<%= config.bin %> <%= command.id %>",
6622
+ "<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool",
6623
+ "<%= config.bin %> <%= command.id %> --location separate --template linear"
6624
+ ],
6625
+ "flags": {
6626
+ "location": {
6627
+ "char": "l",
6628
+ "description": "PMO location (separate or repo:name)",
6629
+ "name": "location",
6630
+ "hasDynamicHelp": false,
6631
+ "multiple": false,
6632
+ "type": "option"
6633
+ },
6634
+ "template": {
6635
+ "char": "t",
6636
+ "description": "Board template",
6637
+ "name": "template",
6638
+ "hasDynamicHelp": false,
6639
+ "multiple": false,
6640
+ "options": [
6641
+ "kanban",
6642
+ "linear",
6643
+ "5-tool-founder",
6644
+ "custom"
6645
+ ],
6646
+ "type": "option"
6647
+ },
6648
+ "name": {
6649
+ "char": "n",
6650
+ "description": "Board name",
6651
+ "name": "name",
6652
+ "hasDynamicHelp": false,
6653
+ "multiple": false,
6654
+ "type": "option"
6655
+ },
6656
+ "json": {
6657
+ "description": "Output as JSON for AI agents/scripts",
6658
+ "name": "json",
6659
+ "allowNo": false,
6660
+ "type": "boolean"
6661
+ },
6662
+ "machine": {
6663
+ "char": "m",
6664
+ "description": "Output as JSON for AI agents/scripts",
6665
+ "name": "machine",
6666
+ "allowNo": false,
6667
+ "type": "boolean"
6668
+ },
6669
+ "action": {
6670
+ "description": "Action for existing PMO (cancel or reinitialize)",
6671
+ "hidden": true,
6672
+ "name": "action",
6673
+ "hasDynamicHelp": false,
6674
+ "multiple": false,
6675
+ "options": [
6676
+ "cancel",
6677
+ "reinitialize"
6678
+ ],
6679
+ "type": "option"
6680
+ },
6681
+ "confirmation": {
6682
+ "description": "Confirmation text for destructive operations",
6683
+ "hidden": true,
6684
+ "name": "confirmation",
6685
+ "hasDynamicHelp": false,
6686
+ "multiple": false,
6687
+ "type": "option"
6688
+ }
6689
+ },
6690
+ "hasDynamicHelp": false,
6691
+ "hiddenAliases": [],
6692
+ "id": "pmo:init",
6693
+ "pluginAlias": "@proletariat/cli",
6694
+ "pluginName": "@proletariat/cli",
6695
+ "pluginType": "core",
6696
+ "strict": true,
6697
+ "isESM": true,
6698
+ "relativePath": [
6699
+ "dist",
6700
+ "commands",
6701
+ "pmo",
6702
+ "init.js"
6703
+ ]
6704
+ },
6616
6705
  "phase:create": {
6617
6706
  "aliases": [],
6618
6707
  "args": {
@@ -6998,95 +7087,6 @@
6998
7087
  "update.js"
6999
7088
  ]
7000
7089
  },
7001
- "pmo:init": {
7002
- "aliases": [],
7003
- "args": {},
7004
- "description": "Initialize PMO (Project Management Org) in current directory or HQ",
7005
- "examples": [
7006
- "<%= config.bin %> <%= command.id %>",
7007
- "<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool",
7008
- "<%= config.bin %> <%= command.id %> --location separate --template linear"
7009
- ],
7010
- "flags": {
7011
- "location": {
7012
- "char": "l",
7013
- "description": "PMO location (separate or repo:name)",
7014
- "name": "location",
7015
- "hasDynamicHelp": false,
7016
- "multiple": false,
7017
- "type": "option"
7018
- },
7019
- "template": {
7020
- "char": "t",
7021
- "description": "Board template",
7022
- "name": "template",
7023
- "hasDynamicHelp": false,
7024
- "multiple": false,
7025
- "options": [
7026
- "kanban",
7027
- "linear",
7028
- "5-tool-founder",
7029
- "custom"
7030
- ],
7031
- "type": "option"
7032
- },
7033
- "name": {
7034
- "char": "n",
7035
- "description": "Board name",
7036
- "name": "name",
7037
- "hasDynamicHelp": false,
7038
- "multiple": false,
7039
- "type": "option"
7040
- },
7041
- "json": {
7042
- "description": "Output as JSON for AI agents/scripts",
7043
- "name": "json",
7044
- "allowNo": false,
7045
- "type": "boolean"
7046
- },
7047
- "machine": {
7048
- "char": "m",
7049
- "description": "Output as JSON for AI agents/scripts",
7050
- "name": "machine",
7051
- "allowNo": false,
7052
- "type": "boolean"
7053
- },
7054
- "action": {
7055
- "description": "Action for existing PMO (cancel or reinitialize)",
7056
- "hidden": true,
7057
- "name": "action",
7058
- "hasDynamicHelp": false,
7059
- "multiple": false,
7060
- "options": [
7061
- "cancel",
7062
- "reinitialize"
7063
- ],
7064
- "type": "option"
7065
- },
7066
- "confirmation": {
7067
- "description": "Confirmation text for destructive operations",
7068
- "hidden": true,
7069
- "name": "confirmation",
7070
- "hasDynamicHelp": false,
7071
- "multiple": false,
7072
- "type": "option"
7073
- }
7074
- },
7075
- "hasDynamicHelp": false,
7076
- "hiddenAliases": [],
7077
- "id": "pmo:init",
7078
- "pluginAlias": "@proletariat/cli",
7079
- "pluginName": "@proletariat/cli",
7080
- "pluginType": "core",
7081
- "strict": true,
7082
- "isESM": true,
7083
- "relativePath": [
7084
- "dist",
7085
- "commands",
7086
- "pmo",
7087
- "init.js"
7088
- ]
7089
- },
7090
7090
  "pr:create": {
7091
7091
  "aliases": [],
7092
7092
  "args": {
@@ -17814,5 +17814,5 @@
17814
17814
  ]
17815
17815
  }
17816
17816
  },
17817
- "version": "0.3.49"
17817
+ "version": "0.3.51"
17818
17818
  }