@proletariat/cli 0.3.101 → 0.3.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/lib/orchestrate/actions.d.ts +6 -0
  2. package/dist/lib/orchestrate/actions.js +11 -5
  3. package/dist/lib/orchestrate/actions.js.map +1 -1
  4. package/dist/lib/orchestrate/engine.d.ts +19 -39
  5. package/dist/lib/orchestrate/engine.js +51 -215
  6. package/dist/lib/orchestrate/engine.js.map +1 -1
  7. package/dist/lib/orchestrate/poller.d.ts +2 -0
  8. package/dist/lib/orchestrate/poller.js +26 -9
  9. package/dist/lib/orchestrate/poller.js.map +1 -1
  10. package/dist/lib/orchestrate/presets.js +7 -2
  11. package/dist/lib/orchestrate/presets.js.map +1 -1
  12. package/dist/lib/orchestrate/types.d.ts +3 -11
  13. package/dist/lib/orchestrate/types.js +1 -2
  14. package/dist/lib/orchestrate/types.js.map +1 -1
  15. package/dist/lib/work-lifecycle/hooks/executor.js +2 -0
  16. package/dist/lib/work-lifecycle/hooks/executor.js.map +1 -1
  17. package/dist/lib/work-lifecycle/hooks/index.d.ts +5 -3
  18. package/dist/lib/work-lifecycle/hooks/index.js +3 -2
  19. package/dist/lib/work-lifecycle/hooks/index.js.map +1 -1
  20. package/dist/lib/work-lifecycle/hooks/manager.d.ts +93 -8
  21. package/dist/lib/work-lifecycle/hooks/manager.js +248 -20
  22. package/dist/lib/work-lifecycle/hooks/manager.js.map +1 -1
  23. package/dist/lib/work-lifecycle/hooks/storage.d.ts +1 -0
  24. package/dist/lib/work-lifecycle/hooks/storage.js +28 -6
  25. package/dist/lib/work-lifecycle/hooks/storage.js.map +1 -1
  26. package/dist/lib/work-lifecycle/hooks/types.d.ts +37 -0
  27. package/dist/lib/work-lifecycle/hooks/types.js +2 -0
  28. package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
  29. package/dist/lib/work-lifecycle/index.d.ts +2 -1
  30. package/dist/lib/work-lifecycle/index.js +1 -1
  31. package/dist/lib/work-lifecycle/index.js.map +1 -1
  32. package/oclif.manifest.json +846 -846
  33. package/package.json +1 -1
@@ -1972,66 +1972,6 @@
1972
1972
  "sync.js"
1973
1973
  ]
1974
1974
  },
1975
- "autocomplete:setup": {
1976
- "aliases": [],
1977
- "args": {},
1978
- "description": "Auto-detect shell and set up autocomplete",
1979
- "examples": [
1980
- "<%= config.bin %> <%= command.id %>",
1981
- "<%= config.bin %> <%= command.id %> --install",
1982
- "<%= config.bin %> <%= command.id %> --shell zsh",
1983
- "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
1984
- ],
1985
- "flags": {
1986
- "json": {
1987
- "description": "Output as JSON for AI agents/scripts",
1988
- "name": "json",
1989
- "allowNo": false,
1990
- "type": "boolean"
1991
- },
1992
- "machine": {
1993
- "char": "m",
1994
- "description": "Output as JSON for AI agents/scripts",
1995
- "name": "machine",
1996
- "allowNo": false,
1997
- "type": "boolean"
1998
- },
1999
- "install": {
2000
- "char": "i",
2001
- "description": "Automatically install to shell config file",
2002
- "name": "install",
2003
- "allowNo": false,
2004
- "type": "boolean"
2005
- },
2006
- "shell": {
2007
- "char": "s",
2008
- "description": "Override shell detection (zsh, bash, powershell)",
2009
- "name": "shell",
2010
- "hasDynamicHelp": false,
2011
- "multiple": false,
2012
- "options": [
2013
- "zsh",
2014
- "bash",
2015
- "powershell"
2016
- ],
2017
- "type": "option"
2018
- }
2019
- },
2020
- "hasDynamicHelp": false,
2021
- "hiddenAliases": [],
2022
- "id": "autocomplete:setup",
2023
- "pluginAlias": "@proletariat/cli",
2024
- "pluginName": "@proletariat/cli",
2025
- "pluginType": "core",
2026
- "strict": true,
2027
- "isESM": true,
2028
- "relativePath": [
2029
- "dist",
2030
- "commands",
2031
- "autocomplete",
2032
- "setup.js"
2033
- ]
2034
- },
2035
1975
  "branch:create": {
2036
1976
  "aliases": [],
2037
1977
  "args": {
@@ -2576,6 +2516,66 @@
2576
2516
  "stop.js"
2577
2517
  ]
2578
2518
  },
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": {},
@@ -2755,19 +2755,20 @@
2755
2755
  "open.js"
2756
2756
  ]
2757
2757
  },
2758
- "config": {
2758
+ "codex": {
2759
2759
  "aliases": [],
2760
- "args": {},
2761
- "description": "View and update workspace configuration",
2760
+ "args": {
2761
+ "task": {
2762
+ "description": "Task description for the agent",
2763
+ "name": "task",
2764
+ "required": false
2765
+ }
2766
+ },
2767
+ "description": "Quick launch Codex for ad-hoc sessions (works anywhere, no HQ required)",
2762
2768
  "examples": [
2763
- "<%= config.bin %> <%= command.id %> # Interactive menu",
2764
- "<%= config.bin %> <%= command.id %> --json # Output current config as JSON",
2765
- "<%= config.bin %> <%= command.id %> --set terminal.app iTerm",
2766
- "<%= config.bin %> <%= command.id %> --set terminal.openInBackground true",
2767
- "<%= config.bin %> <%= command.id %> --set firewall.allowlistDomains \"api.staging.example.com\"",
2768
- "<%= config.bin %> <%= command.id %> --set review_gate auto # Set workspace review gate to auto",
2769
- "<%= config.bin %> <%= command.id %> --set claude-code.version 2.1.80 # Pin Claude Code version",
2770
- "<%= config.bin %> <%= command.id %> --setting terminal.app --json # Show terminal app choices"
2769
+ "<%= config.bin %> codex \"fix the bug\"",
2770
+ "<%= config.bin %> codex \"add dark mode\" --permission-mode danger",
2771
+ "<%= config.bin %> codex \"add tests\" --directory ./my-project"
2771
2772
  ],
2772
2773
  "flags": {
2773
2774
  "json": {
@@ -2783,32 +2784,36 @@
2783
2784
  "allowNo": false,
2784
2785
  "type": "boolean"
2785
2786
  },
2786
- "set": {
2787
- "char": "s",
2788
- "description": "Set a config value (format: key value)",
2789
- "name": "set",
2787
+ "permission-mode": {
2788
+ "char": "p",
2789
+ "description": "Permission mode (danger: skip prompts, safe: require approval)",
2790
+ "name": "permission-mode",
2790
2791
  "hasDynamicHelp": false,
2791
- "multiple": true,
2792
+ "multiple": false,
2793
+ "options": [
2794
+ "danger",
2795
+ "safe"
2796
+ ],
2792
2797
  "type": "option"
2793
2798
  },
2794
- "list": {
2795
- "char": "l",
2796
- "description": "List all configuration values",
2797
- "name": "list",
2798
- "allowNo": false,
2799
- "type": "boolean"
2800
- },
2801
- "setting": {
2802
- "description": "Navigate to a specific setting prompt (for agent navigation)",
2803
- "name": "setting",
2799
+ "directory": {
2800
+ "description": "Directory to run in (default: cwd)",
2801
+ "name": "directory",
2804
2802
  "hasDynamicHelp": false,
2805
2803
  "multiple": false,
2806
2804
  "type": "option"
2805
+ },
2806
+ "detached": {
2807
+ "char": "d",
2808
+ "description": "Run in background (detached)",
2809
+ "name": "detached",
2810
+ "allowNo": false,
2811
+ "type": "boolean"
2807
2812
  }
2808
2813
  },
2809
2814
  "hasDynamicHelp": false,
2810
2815
  "hiddenAliases": [],
2811
- "id": "config",
2816
+ "id": "codex",
2812
2817
  "pluginAlias": "@proletariat/cli",
2813
2818
  "pluginName": "@proletariat/cli",
2814
2819
  "pluginType": "core",
@@ -2817,24 +2822,23 @@
2817
2822
  "relativePath": [
2818
2823
  "dist",
2819
2824
  "commands",
2820
- "config",
2825
+ "codex",
2821
2826
  "index.js"
2822
2827
  ]
2823
2828
  },
2824
- "codex": {
2829
+ "config": {
2825
2830
  "aliases": [],
2826
- "args": {
2827
- "task": {
2828
- "description": "Task description for the agent",
2829
- "name": "task",
2830
- "required": false
2831
- }
2832
- },
2833
- "description": "Quick launch Codex for ad-hoc sessions (works anywhere, no HQ required)",
2831
+ "args": {},
2832
+ "description": "View and update workspace configuration",
2834
2833
  "examples": [
2835
- "<%= config.bin %> codex \"fix the bug\"",
2836
- "<%= config.bin %> codex \"add dark mode\" --permission-mode danger",
2837
- "<%= config.bin %> codex \"add tests\" --directory ./my-project"
2834
+ "<%= config.bin %> <%= command.id %> # Interactive menu",
2835
+ "<%= config.bin %> <%= command.id %> --json # Output current config as JSON",
2836
+ "<%= config.bin %> <%= command.id %> --set terminal.app iTerm",
2837
+ "<%= config.bin %> <%= command.id %> --set terminal.openInBackground true",
2838
+ "<%= config.bin %> <%= command.id %> --set firewall.allowlistDomains \"api.staging.example.com\"",
2839
+ "<%= config.bin %> <%= command.id %> --set review_gate auto # Set workspace review gate to auto",
2840
+ "<%= config.bin %> <%= command.id %> --set claude-code.version 2.1.80 # Pin Claude Code version",
2841
+ "<%= config.bin %> <%= command.id %> --setting terminal.app --json # Show terminal app choices"
2838
2842
  ],
2839
2843
  "flags": {
2840
2844
  "json": {
@@ -2850,36 +2854,32 @@
2850
2854
  "allowNo": false,
2851
2855
  "type": "boolean"
2852
2856
  },
2853
- "permission-mode": {
2854
- "char": "p",
2855
- "description": "Permission mode (danger: skip prompts, safe: require approval)",
2856
- "name": "permission-mode",
2857
+ "set": {
2858
+ "char": "s",
2859
+ "description": "Set a config value (format: key value)",
2860
+ "name": "set",
2857
2861
  "hasDynamicHelp": false,
2858
- "multiple": false,
2859
- "options": [
2860
- "danger",
2861
- "safe"
2862
- ],
2862
+ "multiple": true,
2863
2863
  "type": "option"
2864
2864
  },
2865
- "directory": {
2866
- "description": "Directory to run in (default: cwd)",
2867
- "name": "directory",
2865
+ "list": {
2866
+ "char": "l",
2867
+ "description": "List all configuration values",
2868
+ "name": "list",
2869
+ "allowNo": false,
2870
+ "type": "boolean"
2871
+ },
2872
+ "setting": {
2873
+ "description": "Navigate to a specific setting prompt (for agent navigation)",
2874
+ "name": "setting",
2868
2875
  "hasDynamicHelp": false,
2869
2876
  "multiple": false,
2870
2877
  "type": "option"
2871
- },
2872
- "detached": {
2873
- "char": "d",
2874
- "description": "Run in background (detached)",
2875
- "name": "detached",
2876
- "allowNo": false,
2877
- "type": "boolean"
2878
2878
  }
2879
2879
  },
2880
2880
  "hasDynamicHelp": false,
2881
2881
  "hiddenAliases": [],
2882
- "id": "codex",
2882
+ "id": "config",
2883
2883
  "pluginAlias": "@proletariat/cli",
2884
2884
  "pluginName": "@proletariat/cli",
2885
2885
  "pluginType": "core",
@@ -2888,7 +2888,7 @@
2888
2888
  "relativePath": [
2889
2889
  "dist",
2890
2890
  "commands",
2891
- "codex",
2891
+ "config",
2892
2892
  "index.js"
2893
2893
  ]
2894
2894
  },
@@ -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"
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"
3161
3172
  }
3162
3173
  },
3163
3174
  "hasDynamicHelp": false,
3164
3175
  "hiddenAliases": [],
3165
- "id": "docker:list",
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,34 +3347,27 @@
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
+ "docker:clean": {
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": "Remove orphaned containers (containers without running agents)",
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 %> --force",
3370
+ "<%= config.bin %> <%= command.id %> --dry-run"
3387
3371
  ],
3388
3372
  "flags": {
3389
3373
  "force": {
@@ -3397,61 +3381,20 @@
3397
3381
  "allowNo": false,
3398
3382
  "type": "boolean"
3399
3383
  },
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
- "json": {
3410
- "description": "Output as JSON for AI agents/scripts",
3411
- "name": "json",
3384
+ "dry-run": {
3385
+ "char": "d",
3386
+ "description": "Show what would be removed without removing",
3387
+ "name": "dry-run",
3412
3388
  "allowNo": false,
3413
3389
  "type": "boolean"
3414
3390
  },
3415
- "machine": {
3416
- "char": "m",
3417
- "description": "Output as JSON for AI agents/scripts",
3418
- "name": "machine",
3391
+ "all": {
3392
+ "char": "a",
3393
+ "description": "Remove all stopped devcontainers (not just orphaned)",
3394
+ "name": "all",
3419
3395
  "allowNo": false,
3420
3396
  "type": "boolean"
3421
- }
3422
- },
3423
- "hasDynamicHelp": false,
3424
- "hiddenAliases": [],
3425
- "id": "docker:restart",
3426
- "pluginAlias": "@proletariat/cli",
3427
- "pluginName": "@proletariat/cli",
3428
- "pluginType": "core",
3429
- "strict": true,
3430
- "enableJsonFlag": false,
3431
- "isESM": true,
3432
- "relativePath": [
3433
- "dist",
3434
- "commands",
3435
- "docker",
3436
- "restart.js"
3437
- ]
3438
- },
3439
- "docker:shell": {
3440
- "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)",
3449
- "examples": [
3450
- "<%= config.bin %> <%= command.id %> WORK-001",
3451
- "<%= config.bin %> <%= command.id %> kalanick",
3452
- "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
3453
- ],
3454
- "flags": {
3397
+ },
3455
3398
  "json": {
3456
3399
  "description": "Output as JSON for AI agents/scripts",
3457
3400
  "name": "json",
@@ -3464,36 +3407,11 @@
3464
3407
  "name": "machine",
3465
3408
  "allowNo": false,
3466
3409
  "type": "boolean"
3467
- },
3468
- "shell": {
3469
- "char": "s",
3470
- "description": "Shell to use",
3471
- "name": "shell",
3472
- "default": "/bin/sh",
3473
- "hasDynamicHelp": false,
3474
- "multiple": false,
3475
- "type": "option"
3476
- },
3477
- "user": {
3478
- "char": "u",
3479
- "description": "User to run as",
3480
- "name": "user",
3481
- "hasDynamicHelp": false,
3482
- "multiple": false,
3483
- "type": "option"
3484
- },
3485
- "workdir": {
3486
- "char": "w",
3487
- "description": "Working directory inside the container",
3488
- "name": "workdir",
3489
- "hasDynamicHelp": false,
3490
- "multiple": false,
3491
- "type": "option"
3492
3410
  }
3493
3411
  },
3494
3412
  "hasDynamicHelp": false,
3495
3413
  "hiddenAliases": [],
3496
- "id": "docker:shell",
3414
+ "id": "docker:clean",
3497
3415
  "pluginAlias": "@proletariat/cli",
3498
3416
  "pluginName": "@proletariat/cli",
3499
3417
  "pluginType": "core",
@@ -3504,23 +3422,26 @@
3504
3422
  "dist",
3505
3423
  "commands",
3506
3424
  "docker",
3507
- "shell.js"
3425
+ "clean.js"
3508
3426
  ]
3509
3427
  },
3510
- "docker:start": {
3428
+ "docker": {
3511
3429
  "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)",
3430
+ "args": {},
3431
+ "description": "Manage Docker containers used by agents",
3520
3432
  "examples": [
3521
- "<%= config.bin %> <%= command.id %> WORK-001",
3522
- "<%= config.bin %> <%= command.id %> kalanick",
3523
- "<%= config.bin %> <%= command.id %> abc123"
3433
+ "<%= config.bin %> <%= command.id %>",
3434
+ "<%= config.bin %> docker status",
3435
+ "<%= config.bin %> docker list",
3436
+ "<%= config.bin %> docker logs WORK-001",
3437
+ "<%= config.bin %> docker start WORK-001",
3438
+ "<%= config.bin %> docker stop kalanick",
3439
+ "<%= config.bin %> docker shell WORK-001",
3440
+ "<%= config.bin %> docker restart abc123",
3441
+ "<%= config.bin %> docker sync",
3442
+ "<%= config.bin %> docker rebuild-cache",
3443
+ "<%= config.bin %> docker clean",
3444
+ "<%= config.bin %> docker prune"
3524
3445
  ],
3525
3446
  "flags": {
3526
3447
  "json": {
@@ -3535,37 +3456,31 @@
3535
3456
  "name": "machine",
3536
3457
  "allowNo": false,
3537
3458
  "type": "boolean"
3538
- },
3539
- "attach": {
3540
- "char": "a",
3541
- "description": "Attach to container after starting",
3542
- "name": "attach",
3543
- "allowNo": false,
3544
- "type": "boolean"
3545
3459
  }
3546
3460
  },
3547
3461
  "hasDynamicHelp": false,
3548
3462
  "hiddenAliases": [],
3549
- "id": "docker:start",
3463
+ "id": "docker",
3550
3464
  "pluginAlias": "@proletariat/cli",
3551
3465
  "pluginName": "@proletariat/cli",
3552
3466
  "pluginType": "core",
3553
3467
  "strict": true,
3554
- "enableJsonFlag": false,
3555
3468
  "isESM": true,
3556
3469
  "relativePath": [
3557
3470
  "dist",
3558
3471
  "commands",
3559
3472
  "docker",
3560
- "start.js"
3473
+ "index.js"
3561
3474
  ]
3562
3475
  },
3563
- "docker:status": {
3476
+ "docker:list": {
3564
3477
  "aliases": [],
3565
3478
  "args": {},
3566
- "description": "Check if Docker daemon is running",
3479
+ "description": "Show Docker containers from agent_work table with status",
3567
3480
  "examples": [
3568
- "<%= config.bin %> <%= command.id %>"
3481
+ "<%= config.bin %> <%= command.id %>",
3482
+ "<%= config.bin %> <%= command.id %> --all",
3483
+ "<%= config.bin %> <%= command.id %> --running"
3569
3484
  ],
3570
3485
  "flags": {
3571
3486
  "json": {
@@ -3580,11 +3495,25 @@
3580
3495
  "name": "machine",
3581
3496
  "allowNo": false,
3582
3497
  "type": "boolean"
3498
+ },
3499
+ "all": {
3500
+ "char": "a",
3501
+ "description": "Show all containers (including non-devcontainer)",
3502
+ "name": "all",
3503
+ "allowNo": false,
3504
+ "type": "boolean"
3505
+ },
3506
+ "running": {
3507
+ "char": "r",
3508
+ "description": "Only show running containers",
3509
+ "name": "running",
3510
+ "allowNo": false,
3511
+ "type": "boolean"
3583
3512
  }
3584
3513
  },
3585
3514
  "hasDynamicHelp": false,
3586
3515
  "hiddenAliases": [],
3587
- "id": "docker:status",
3516
+ "id": "docker:list",
3588
3517
  "pluginAlias": "@proletariat/cli",
3589
3518
  "pluginName": "@proletariat/cli",
3590
3519
  "pluginType": "core",
@@ -3595,10 +3524,10 @@
3595
3524
  "dist",
3596
3525
  "commands",
3597
3526
  "docker",
3598
- "status.js"
3527
+ "list.js"
3599
3528
  ]
3600
3529
  },
3601
- "docker:stop": {
3530
+ "docker:logs": {
3602
3531
  "aliases": [],
3603
3532
  "args": {
3604
3533
  "target": {
@@ -3607,33 +3536,14 @@
3607
3536
  "required": true
3608
3537
  }
3609
3538
  },
3610
- "description": "Stop a running container (by execution ID, agent name, or container ID)",
3539
+ "description": "View logs from a container (by execution ID, agent name, or container ID)",
3611
3540
  "examples": [
3612
3541
  "<%= config.bin %> <%= command.id %> WORK-001",
3613
3542
  "<%= config.bin %> <%= command.id %> kalanick",
3614
- "<%= config.bin %> <%= command.id %> abc123 --force"
3543
+ "<%= config.bin %> <%= command.id %> abc123 --follow",
3544
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3615
3545
  ],
3616
3546
  "flags": {
3617
- "force": {
3618
- "aliases": [
3619
- "yes",
3620
- "y"
3621
- ],
3622
- "char": "f",
3623
- "description": "Skip confirmation prompt",
3624
- "name": "force",
3625
- "allowNo": false,
3626
- "type": "boolean"
3627
- },
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"
3636
- },
3637
3547
  "json": {
3638
3548
  "description": "Output as JSON for AI agents/scripts",
3639
3549
  "name": "json",
@@ -3646,11 +3556,34 @@
3646
3556
  "name": "machine",
3647
3557
  "allowNo": false,
3648
3558
  "type": "boolean"
3559
+ },
3560
+ "follow": {
3561
+ "char": "f",
3562
+ "description": "Follow log output",
3563
+ "name": "follow",
3564
+ "allowNo": false,
3565
+ "type": "boolean"
3566
+ },
3567
+ "tail": {
3568
+ "char": "n",
3569
+ "description": "Number of lines to show from the end",
3570
+ "name": "tail",
3571
+ "default": 100,
3572
+ "hasDynamicHelp": false,
3573
+ "multiple": false,
3574
+ "type": "option"
3575
+ },
3576
+ "timestamps": {
3577
+ "char": "t",
3578
+ "description": "Show timestamps",
3579
+ "name": "timestamps",
3580
+ "allowNo": false,
3581
+ "type": "boolean"
3649
3582
  }
3650
3583
  },
3651
3584
  "hasDynamicHelp": false,
3652
3585
  "hiddenAliases": [],
3653
- "id": "docker:stop",
3586
+ "id": "docker:logs",
3654
3587
  "pluginAlias": "@proletariat/cli",
3655
3588
  "pluginName": "@proletariat/cli",
3656
3589
  "pluginType": "core",
@@ -3661,17 +3594,51 @@
3661
3594
  "dist",
3662
3595
  "commands",
3663
3596
  "docker",
3664
- "stop.js"
3597
+ "logs.js"
3665
3598
  ]
3666
3599
  },
3667
- "docker:sync": {
3600
+ "docker:prune": {
3668
3601
  "aliases": [],
3669
3602
  "args": {},
3670
- "description": "Sync container status from Docker into the database",
3603
+ "description": "Remove unused Docker resources (containers, images, volumes, networks)",
3671
3604
  "examples": [
3672
- "<%= config.bin %> <%= command.id %>"
3605
+ "<%= config.bin %> <%= command.id %>",
3606
+ "<%= config.bin %> <%= command.id %> --all",
3607
+ "<%= config.bin %> <%= command.id %> --volumes",
3608
+ "<%= config.bin %> <%= command.id %> --dry-run"
3673
3609
  ],
3674
3610
  "flags": {
3611
+ "force": {
3612
+ "aliases": [
3613
+ "yes",
3614
+ "y"
3615
+ ],
3616
+ "char": "f",
3617
+ "description": "Skip confirmation prompt",
3618
+ "name": "force",
3619
+ "allowNo": false,
3620
+ "type": "boolean"
3621
+ },
3622
+ "dry-run": {
3623
+ "char": "d",
3624
+ "description": "Show what would be removed without removing",
3625
+ "name": "dry-run",
3626
+ "allowNo": false,
3627
+ "type": "boolean"
3628
+ },
3629
+ "all": {
3630
+ "char": "a",
3631
+ "description": "Remove all unused images, not just dangling ones",
3632
+ "name": "all",
3633
+ "allowNo": false,
3634
+ "type": "boolean"
3635
+ },
3636
+ "volumes": {
3637
+ "description": "Also prune volumes (dangerous - data loss possible)",
3638
+ "name": "volumes",
3639
+ "allowNo": false,
3640
+ "type": "boolean"
3641
+ },
3675
3642
  "json": {
3676
3643
  "description": "Output as JSON for AI agents/scripts",
3677
3644
  "name": "json",
@@ -3688,7 +3655,7 @@
3688
3655
  },
3689
3656
  "hasDynamicHelp": false,
3690
3657
  "hiddenAliases": [],
3691
- "id": "docker:sync",
3658
+ "id": "docker:prune",
3692
3659
  "pluginAlias": "@proletariat/cli",
3693
3660
  "pluginName": "@proletariat/cli",
3694
3661
  "pluginType": "core",
@@ -3699,23 +3666,31 @@
3699
3666
  "dist",
3700
3667
  "commands",
3701
3668
  "docker",
3702
- "sync.js"
3669
+ "prune.js"
3703
3670
  ]
3704
3671
  },
3705
- "execution:config": {
3672
+ "docker:rebuild-cache": {
3706
3673
  "aliases": [],
3707
3674
  "args": {},
3708
- "description": "View and update execution preferences",
3675
+ "description": "Rebuild the shared pnpm store cache volume for fast agent installs",
3709
3676
  "examples": [
3710
- "<%= config.bin %> execution config # Interactive menu",
3711
- "<%= config.bin %> execution config --json # Output current config as JSON",
3712
- "<%= config.bin %> execution config --list # Show all settings",
3713
- "<%= config.bin %> execution config --set defaultEnvironment host",
3714
- "<%= config.bin %> execution config --set outputMode interactive",
3715
- "<%= config.bin %> execution config --set permissionMode safe",
3716
- "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
3677
+ "<%= config.bin %> <%= command.id %>",
3678
+ "<%= config.bin %> <%= command.id %> --force"
3717
3679
  ],
3718
3680
  "flags": {
3681
+ "force": {
3682
+ "char": "f",
3683
+ "description": "Delete and rebuild the cache even if it already exists",
3684
+ "name": "force",
3685
+ "allowNo": false,
3686
+ "type": "boolean"
3687
+ },
3688
+ "delete-only": {
3689
+ "description": "Only delete the cache volume (next agent spawn rebuilds it)",
3690
+ "name": "delete-only",
3691
+ "allowNo": false,
3692
+ "type": "boolean"
3693
+ },
3719
3694
  "json": {
3720
3695
  "description": "Output as JSON for AI agents/scripts",
3721
3696
  "name": "json",
@@ -3728,56 +3703,60 @@
3728
3703
  "name": "machine",
3729
3704
  "allowNo": false,
3730
3705
  "type": "boolean"
3731
- },
3732
- "set": {
3733
- "char": "s",
3734
- "description": "Set a config value (format: key value)",
3735
- "name": "set",
3736
- "hasDynamicHelp": false,
3737
- "multiple": true,
3738
- "type": "option"
3739
- },
3740
- "list": {
3741
- "char": "l",
3742
- "description": "List all configuration values",
3743
- "name": "list",
3744
- "allowNo": false,
3745
- "type": "boolean"
3746
- },
3747
- "setting": {
3748
- "description": "Navigate to a specific setting prompt (for agent navigation)",
3749
- "name": "setting",
3750
- "hasDynamicHelp": false,
3751
- "multiple": false,
3752
- "type": "option"
3753
3706
  }
3754
3707
  },
3755
3708
  "hasDynamicHelp": false,
3756
3709
  "hiddenAliases": [],
3757
- "id": "execution:config",
3710
+ "id": "docker:rebuild-cache",
3758
3711
  "pluginAlias": "@proletariat/cli",
3759
3712
  "pluginName": "@proletariat/cli",
3760
3713
  "pluginType": "core",
3761
3714
  "strict": true,
3715
+ "enableJsonFlag": false,
3762
3716
  "isESM": true,
3763
3717
  "relativePath": [
3764
3718
  "dist",
3765
3719
  "commands",
3766
- "execution",
3767
- "config.js"
3720
+ "docker",
3721
+ "rebuild-cache.js"
3768
3722
  ]
3769
3723
  },
3770
- "execution": {
3724
+ "docker:restart": {
3771
3725
  "aliases": [],
3772
- "args": {},
3773
- "description": "Single execution operations (view, logs, stop)",
3726
+ "args": {
3727
+ "target": {
3728
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3729
+ "name": "target",
3730
+ "required": true
3731
+ }
3732
+ },
3733
+ "description": "Restart a container (by execution ID, agent name, or container ID)",
3774
3734
  "examples": [
3775
- "<%= config.bin %> <%= command.id %>",
3776
- "<%= config.bin %> <%= command.id %> view WORK-001",
3777
- "<%= config.bin %> <%= command.id %> logs WORK-001",
3778
- "<%= config.bin %> <%= command.id %> stop WORK-001"
3735
+ "<%= config.bin %> <%= command.id %> WORK-001",
3736
+ "<%= config.bin %> <%= command.id %> kalanick",
3737
+ "<%= config.bin %> <%= command.id %> abc123 --force"
3779
3738
  ],
3780
3739
  "flags": {
3740
+ "force": {
3741
+ "aliases": [
3742
+ "yes",
3743
+ "y"
3744
+ ],
3745
+ "char": "f",
3746
+ "description": "Skip confirmation prompt",
3747
+ "name": "force",
3748
+ "allowNo": false,
3749
+ "type": "boolean"
3750
+ },
3751
+ "time": {
3752
+ "char": "t",
3753
+ "description": "Seconds to wait before killing the container during stop",
3754
+ "name": "time",
3755
+ "default": 10,
3756
+ "hasDynamicHelp": false,
3757
+ "multiple": false,
3758
+ "type": "option"
3759
+ },
3781
3760
  "json": {
3782
3761
  "description": "Output as JSON for AI agents/scripts",
3783
3762
  "name": "json",
@@ -3794,28 +3773,34 @@
3794
3773
  },
3795
3774
  "hasDynamicHelp": false,
3796
3775
  "hiddenAliases": [],
3797
- "id": "execution",
3776
+ "id": "docker:restart",
3798
3777
  "pluginAlias": "@proletariat/cli",
3799
3778
  "pluginName": "@proletariat/cli",
3800
3779
  "pluginType": "core",
3801
3780
  "strict": true,
3781
+ "enableJsonFlag": false,
3802
3782
  "isESM": true,
3803
3783
  "relativePath": [
3804
3784
  "dist",
3805
3785
  "commands",
3806
- "execution",
3807
- "index.js"
3786
+ "docker",
3787
+ "restart.js"
3808
3788
  ]
3809
3789
  },
3810
- "execution:list": {
3790
+ "docker:shell": {
3811
3791
  "aliases": [],
3812
- "args": {},
3813
- "description": "List running and recent executions",
3792
+ "args": {
3793
+ "target": {
3794
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3795
+ "name": "target",
3796
+ "required": true
3797
+ }
3798
+ },
3799
+ "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
3814
3800
  "examples": [
3815
- "<%= config.bin %> <%= command.id %>",
3816
- "<%= config.bin %> <%= command.id %> --status running",
3817
- "<%= config.bin %> <%= command.id %> --agent alice",
3818
- "<%= config.bin %> <%= command.id %> --limit 50"
3801
+ "<%= config.bin %> <%= command.id %> WORK-001",
3802
+ "<%= config.bin %> <%= command.id %> kalanick",
3803
+ "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
3819
3804
  ],
3820
3805
  "flags": {
3821
3806
  "json": {
@@ -3831,34 +3816,27 @@
3831
3816
  "allowNo": false,
3832
3817
  "type": "boolean"
3833
3818
  },
3834
- "status": {
3819
+ "shell": {
3835
3820
  "char": "s",
3836
- "description": "Filter by status",
3837
- "name": "status",
3821
+ "description": "Shell to use",
3822
+ "name": "shell",
3823
+ "default": "/bin/sh",
3838
3824
  "hasDynamicHelp": false,
3839
3825
  "multiple": false,
3840
- "options": [
3841
- "starting",
3842
- "running",
3843
- "completed",
3844
- "failed",
3845
- "stopped"
3846
- ],
3847
3826
  "type": "option"
3848
3827
  },
3849
- "agent": {
3850
- "char": "a",
3851
- "description": "Filter by agent name",
3852
- "name": "agent",
3828
+ "user": {
3829
+ "char": "u",
3830
+ "description": "User to run as",
3831
+ "name": "user",
3853
3832
  "hasDynamicHelp": false,
3854
3833
  "multiple": false,
3855
3834
  "type": "option"
3856
3835
  },
3857
- "limit": {
3858
- "char": "l",
3859
- "description": "Number of results",
3860
- "name": "limit",
3861
- "default": 20,
3836
+ "workdir": {
3837
+ "char": "w",
3838
+ "description": "Working directory inside the container",
3839
+ "name": "workdir",
3862
3840
  "hasDynamicHelp": false,
3863
3841
  "multiple": false,
3864
3842
  "type": "option"
@@ -3866,34 +3844,34 @@
3866
3844
  },
3867
3845
  "hasDynamicHelp": false,
3868
3846
  "hiddenAliases": [],
3869
- "id": "execution:list",
3847
+ "id": "docker:shell",
3870
3848
  "pluginAlias": "@proletariat/cli",
3871
3849
  "pluginName": "@proletariat/cli",
3872
3850
  "pluginType": "core",
3873
3851
  "strict": true,
3852
+ "enableJsonFlag": false,
3874
3853
  "isESM": true,
3875
3854
  "relativePath": [
3876
3855
  "dist",
3877
3856
  "commands",
3878
- "execution",
3879
- "list.js"
3857
+ "docker",
3858
+ "shell.js"
3880
3859
  ]
3881
3860
  },
3882
- "execution:logs": {
3861
+ "docker:start": {
3883
3862
  "aliases": [],
3884
3863
  "args": {
3885
- "id": {
3886
- "description": "Execution ID - prompts if not provided",
3887
- "name": "id",
3888
- "required": false
3864
+ "target": {
3865
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3866
+ "name": "target",
3867
+ "required": true
3889
3868
  }
3890
3869
  },
3891
- "description": "View execution logs",
3870
+ "description": "Start a stopped container (by execution ID, agent name, or container ID)",
3892
3871
  "examples": [
3893
3872
  "<%= config.bin %> <%= command.id %> WORK-001",
3894
- "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3895
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3896
- "<%= config.bin %> <%= command.id %> # Interactive mode"
3873
+ "<%= config.bin %> <%= command.id %> kalanick",
3874
+ "<%= config.bin %> <%= command.id %> abc123"
3897
3875
  ],
3898
3876
  "flags": {
3899
3877
  "json": {
@@ -3909,54 +3887,36 @@
3909
3887
  "allowNo": false,
3910
3888
  "type": "boolean"
3911
3889
  },
3912
- "follow": {
3913
- "char": "f",
3914
- "description": "Stream logs in real-time",
3915
- "name": "follow",
3890
+ "attach": {
3891
+ "char": "a",
3892
+ "description": "Attach to container after starting",
3893
+ "name": "attach",
3916
3894
  "allowNo": false,
3917
3895
  "type": "boolean"
3918
- },
3919
- "tail": {
3920
- "char": "n",
3921
- "description": "Show last n lines",
3922
- "name": "tail",
3923
- "hasDynamicHelp": false,
3924
- "multiple": false,
3925
- "type": "option"
3926
3896
  }
3927
3897
  },
3928
3898
  "hasDynamicHelp": false,
3929
3899
  "hiddenAliases": [],
3930
- "id": "execution:logs",
3900
+ "id": "docker:start",
3931
3901
  "pluginAlias": "@proletariat/cli",
3932
3902
  "pluginName": "@proletariat/cli",
3933
3903
  "pluginType": "core",
3934
3904
  "strict": true,
3905
+ "enableJsonFlag": false,
3935
3906
  "isESM": true,
3936
3907
  "relativePath": [
3937
3908
  "dist",
3938
3909
  "commands",
3939
- "execution",
3940
- "logs.js"
3910
+ "docker",
3911
+ "start.js"
3941
3912
  ]
3942
3913
  },
3943
- "execution:stop": {
3914
+ "docker:status": {
3944
3915
  "aliases": [],
3945
- "args": {
3946
- "id": {
3947
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3948
- "name": "id",
3949
- "required": false
3950
- }
3951
- },
3952
- "description": "Stop running execution(s)",
3916
+ "args": {},
3917
+ "description": "Check if Docker daemon is running",
3953
3918
  "examples": [
3954
- "<%= config.bin %> <%= command.id %> WORK-001",
3955
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
3956
- "<%= config.bin %> <%= command.id %> # Interactive mode",
3957
- "<%= config.bin %> <%= command.id %> --all",
3958
- "<%= config.bin %> <%= command.id %> --all --force",
3959
- "<%= config.bin %> <%= command.id %> --agent altman"
3919
+ "<%= config.bin %> <%= command.id %>"
3960
3920
  ],
3961
3921
  "flags": {
3962
3922
  "json": {
@@ -3971,57 +3931,96 @@
3971
3931
  "name": "machine",
3972
3932
  "allowNo": false,
3973
3933
  "type": "boolean"
3974
- },
3934
+ }
3935
+ },
3936
+ "hasDynamicHelp": false,
3937
+ "hiddenAliases": [],
3938
+ "id": "docker:status",
3939
+ "pluginAlias": "@proletariat/cli",
3940
+ "pluginName": "@proletariat/cli",
3941
+ "pluginType": "core",
3942
+ "strict": true,
3943
+ "enableJsonFlag": false,
3944
+ "isESM": true,
3945
+ "relativePath": [
3946
+ "dist",
3947
+ "commands",
3948
+ "docker",
3949
+ "status.js"
3950
+ ]
3951
+ },
3952
+ "docker:stop": {
3953
+ "aliases": [],
3954
+ "args": {
3955
+ "target": {
3956
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3957
+ "name": "target",
3958
+ "required": true
3959
+ }
3960
+ },
3961
+ "description": "Stop a running container (by execution ID, agent name, or container ID)",
3962
+ "examples": [
3963
+ "<%= config.bin %> <%= command.id %> WORK-001",
3964
+ "<%= config.bin %> <%= command.id %> kalanick",
3965
+ "<%= config.bin %> <%= command.id %> abc123 --force"
3966
+ ],
3967
+ "flags": {
3975
3968
  "force": {
3969
+ "aliases": [
3970
+ "yes",
3971
+ "y"
3972
+ ],
3976
3973
  "char": "f",
3977
- "description": "Force kill (SIGKILL instead of SIGTERM)",
3974
+ "description": "Skip confirmation prompt",
3978
3975
  "name": "force",
3979
3976
  "allowNo": false,
3980
3977
  "type": "boolean"
3981
3978
  },
3982
- "all": {
3983
- "description": "Stop all running executions",
3984
- "name": "all",
3985
- "allowNo": false,
3986
- "type": "boolean"
3987
- },
3988
- "agent": {
3989
- "char": "a",
3990
- "description": "Stop all executions for a specific agent",
3991
- "name": "agent",
3979
+ "time": {
3980
+ "char": "t",
3981
+ "description": "Seconds to wait before killing the container",
3982
+ "name": "time",
3983
+ "default": 10,
3992
3984
  "hasDynamicHelp": false,
3993
3985
  "multiple": false,
3994
3986
  "type": "option"
3987
+ },
3988
+ "json": {
3989
+ "description": "Output as JSON for AI agents/scripts",
3990
+ "name": "json",
3991
+ "allowNo": false,
3992
+ "type": "boolean"
3993
+ },
3994
+ "machine": {
3995
+ "char": "m",
3996
+ "description": "Output as JSON for AI agents/scripts",
3997
+ "name": "machine",
3998
+ "allowNo": false,
3999
+ "type": "boolean"
3995
4000
  }
3996
4001
  },
3997
4002
  "hasDynamicHelp": false,
3998
4003
  "hiddenAliases": [],
3999
- "id": "execution:stop",
4004
+ "id": "docker:stop",
4000
4005
  "pluginAlias": "@proletariat/cli",
4001
4006
  "pluginName": "@proletariat/cli",
4002
4007
  "pluginType": "core",
4003
4008
  "strict": true,
4009
+ "enableJsonFlag": false,
4004
4010
  "isESM": true,
4005
4011
  "relativePath": [
4006
4012
  "dist",
4007
4013
  "commands",
4008
- "execution",
4014
+ "docker",
4009
4015
  "stop.js"
4010
4016
  ]
4011
4017
  },
4012
- "execution:view": {
4018
+ "docker:sync": {
4013
4019
  "aliases": [],
4014
- "args": {
4015
- "id": {
4016
- "description": "Execution ID - prompts if not provided",
4017
- "name": "id",
4018
- "required": false
4019
- }
4020
- },
4021
- "description": "View details of a specific execution",
4020
+ "args": {},
4021
+ "description": "Sync container status from Docker into the database",
4022
4022
  "examples": [
4023
- "<%= config.bin %> <%= command.id %> WORK-001",
4024
- "<%= config.bin %> <%= command.id %> # Interactive mode"
4023
+ "<%= config.bin %> <%= command.id %>"
4025
4024
  ],
4026
4025
  "flags": {
4027
4026
  "json": {
@@ -4040,17 +4039,18 @@
4040
4039
  },
4041
4040
  "hasDynamicHelp": false,
4042
4041
  "hiddenAliases": [],
4043
- "id": "execution:view",
4042
+ "id": "docker:sync",
4044
4043
  "pluginAlias": "@proletariat/cli",
4045
4044
  "pluginName": "@proletariat/cli",
4046
4045
  "pluginType": "core",
4047
4046
  "strict": true,
4047
+ "enableJsonFlag": false,
4048
4048
  "isESM": true,
4049
4049
  "relativePath": [
4050
4050
  "dist",
4051
4051
  "commands",
4052
- "execution",
4053
- "view.js"
4052
+ "docker",
4053
+ "sync.js"
4054
4054
  ]
4055
4055
  },
4056
4056
  "feedback": {
@@ -8480,14 +8480,30 @@
8480
8480
  "stop.js"
8481
8481
  ]
8482
8482
  },
8483
- "telemetry:disable": {
8483
+ "terminal:title": {
8484
8484
  "aliases": [],
8485
- "args": {},
8486
- "description": "Disable anonymous telemetry",
8485
+ "args": {
8486
+ "title": {
8487
+ "description": "Title to set for the terminal tab/window",
8488
+ "name": "title",
8489
+ "required": false
8490
+ }
8491
+ },
8492
+ "description": "Set the terminal tab/window title",
8487
8493
  "examples": [
8488
- "<%= config.bin %> <%= command.id %>"
8494
+ "<%= config.bin %> <%= command.id %> \"My Custom Name\"",
8495
+ "<%= config.bin %> <%= command.id %> # Interactive prompt",
8496
+ "<%= config.bin %> <%= command.id %> --reset",
8497
+ "<%= config.bin %> <%= command.id %> --machine # JSON mode for agents"
8489
8498
  ],
8490
8499
  "flags": {
8500
+ "reset": {
8501
+ "char": "r",
8502
+ "description": "Reset terminal title to default",
8503
+ "name": "reset",
8504
+ "allowNo": false,
8505
+ "type": "boolean"
8506
+ },
8491
8507
  "json": {
8492
8508
  "description": "Output as JSON for AI agents/scripts",
8493
8509
  "name": "json",
@@ -8504,24 +8520,23 @@
8504
8520
  },
8505
8521
  "hasDynamicHelp": false,
8506
8522
  "hiddenAliases": [],
8507
- "id": "telemetry:disable",
8523
+ "id": "terminal:title",
8508
8524
  "pluginAlias": "@proletariat/cli",
8509
8525
  "pluginName": "@proletariat/cli",
8510
8526
  "pluginType": "core",
8511
8527
  "strict": true,
8512
- "enableJsonFlag": false,
8513
8528
  "isESM": true,
8514
8529
  "relativePath": [
8515
8530
  "dist",
8516
8531
  "commands",
8517
- "telemetry",
8518
- "disable.js"
8532
+ "terminal",
8533
+ "title.js"
8519
8534
  ]
8520
8535
  },
8521
- "telemetry:enable": {
8536
+ "telemetry:disable": {
8522
8537
  "aliases": [],
8523
8538
  "args": {},
8524
- "description": "Enable anonymous telemetry",
8539
+ "description": "Disable anonymous telemetry",
8525
8540
  "examples": [
8526
8541
  "<%= config.bin %> <%= command.id %>"
8527
8542
  ],
@@ -8542,7 +8557,7 @@
8542
8557
  },
8543
8558
  "hasDynamicHelp": false,
8544
8559
  "hiddenAliases": [],
8545
- "id": "telemetry:enable",
8560
+ "id": "telemetry:disable",
8546
8561
  "pluginAlias": "@proletariat/cli",
8547
8562
  "pluginName": "@proletariat/cli",
8548
8563
  "pluginType": "core",
@@ -8553,16 +8568,15 @@
8553
8568
  "dist",
8554
8569
  "commands",
8555
8570
  "telemetry",
8556
- "enable.js"
8571
+ "disable.js"
8557
8572
  ]
8558
8573
  },
8559
- "telemetry": {
8574
+ "telemetry:enable": {
8560
8575
  "aliases": [],
8561
8576
  "args": {},
8562
- "description": "Show telemetry status",
8577
+ "description": "Enable anonymous telemetry",
8563
8578
  "examples": [
8564
- "<%= config.bin %> <%= command.id %>",
8565
- "<%= config.bin %> <%= command.id %> --json"
8579
+ "<%= config.bin %> <%= command.id %>"
8566
8580
  ],
8567
8581
  "flags": {
8568
8582
  "json": {
@@ -8581,7 +8595,7 @@
8581
8595
  },
8582
8596
  "hasDynamicHelp": false,
8583
8597
  "hiddenAliases": [],
8584
- "id": "telemetry",
8598
+ "id": "telemetry:enable",
8585
8599
  "pluginAlias": "@proletariat/cli",
8586
8600
  "pluginName": "@proletariat/cli",
8587
8601
  "pluginType": "core",
@@ -8592,15 +8606,16 @@
8592
8606
  "dist",
8593
8607
  "commands",
8594
8608
  "telemetry",
8595
- "index.js"
8609
+ "enable.js"
8596
8610
  ]
8597
8611
  },
8598
- "telemetry:status": {
8612
+ "telemetry": {
8599
8613
  "aliases": [],
8600
8614
  "args": {},
8601
8615
  "description": "Show telemetry status",
8602
8616
  "examples": [
8603
- "<%= config.bin %> telemetry status"
8617
+ "<%= config.bin %> <%= command.id %>",
8618
+ "<%= config.bin %> <%= command.id %> --json"
8604
8619
  ],
8605
8620
  "flags": {
8606
8621
  "json": {
@@ -8619,7 +8634,7 @@
8619
8634
  },
8620
8635
  "hasDynamicHelp": false,
8621
8636
  "hiddenAliases": [],
8622
- "id": "telemetry:status",
8637
+ "id": "telemetry",
8623
8638
  "pluginAlias": "@proletariat/cli",
8624
8639
  "pluginName": "@proletariat/cli",
8625
8640
  "pluginType": "core",
@@ -8630,33 +8645,17 @@
8630
8645
  "dist",
8631
8646
  "commands",
8632
8647
  "telemetry",
8633
- "status.js"
8648
+ "index.js"
8634
8649
  ]
8635
8650
  },
8636
- "terminal:title": {
8651
+ "telemetry:status": {
8637
8652
  "aliases": [],
8638
- "args": {
8639
- "title": {
8640
- "description": "Title to set for the terminal tab/window",
8641
- "name": "title",
8642
- "required": false
8643
- }
8644
- },
8645
- "description": "Set the terminal tab/window title",
8653
+ "args": {},
8654
+ "description": "Show telemetry status",
8646
8655
  "examples": [
8647
- "<%= config.bin %> <%= command.id %> \"My Custom Name\"",
8648
- "<%= config.bin %> <%= command.id %> # Interactive prompt",
8649
- "<%= config.bin %> <%= command.id %> --reset",
8650
- "<%= config.bin %> <%= command.id %> --machine # JSON mode for agents"
8656
+ "<%= config.bin %> telemetry status"
8651
8657
  ],
8652
8658
  "flags": {
8653
- "reset": {
8654
- "char": "r",
8655
- "description": "Reset terminal title to default",
8656
- "name": "reset",
8657
- "allowNo": false,
8658
- "type": "boolean"
8659
- },
8660
8659
  "json": {
8661
8660
  "description": "Output as JSON for AI agents/scripts",
8662
8661
  "name": "json",
@@ -8673,17 +8672,18 @@
8673
8672
  },
8674
8673
  "hasDynamicHelp": false,
8675
8674
  "hiddenAliases": [],
8676
- "id": "terminal:title",
8675
+ "id": "telemetry:status",
8677
8676
  "pluginAlias": "@proletariat/cli",
8678
8677
  "pluginName": "@proletariat/cli",
8679
8678
  "pluginType": "core",
8680
8679
  "strict": true,
8680
+ "enableJsonFlag": false,
8681
8681
  "isESM": true,
8682
8682
  "relativePath": [
8683
8683
  "dist",
8684
8684
  "commands",
8685
- "terminal",
8686
- "title.js"
8685
+ "telemetry",
8686
+ "status.js"
8687
8687
  ]
8688
8688
  },
8689
8689
  "theme:add-names": {
@@ -9749,32 +9749,258 @@
9749
9749
  "multiple": false,
9750
9750
  "type": "option"
9751
9751
  },
9752
- "status": {
9753
- "char": "s",
9754
- "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
9755
- "name": "status",
9752
+ "status": {
9753
+ "char": "s",
9754
+ "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
9755
+ "name": "status",
9756
+ "hasDynamicHelp": false,
9757
+ "multiple": false,
9758
+ "type": "option"
9759
+ },
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": {
9768
+ "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
+ "trello:configure": {
9791
+ "aliases": [],
9792
+ "args": {},
9793
+ "description": "Connect to Trello and configure authentication",
9794
+ "examples": [
9795
+ "<%= config.bin %> <%= command.id %>",
9796
+ "<%= config.bin %> <%= command.id %> --check",
9797
+ "<%= config.bin %> <%= command.id %> --force",
9798
+ "<%= config.bin %> <%= command.id %> --disconnect",
9799
+ "TRELLO_API_KEY=... TRELLO_API_TOKEN=... <%= config.bin %> <%= command.id %>",
9800
+ "<%= config.bin %> <%= command.id %> --json"
9801
+ ],
9802
+ "flags": {
9803
+ "project": {
9804
+ "char": "P",
9805
+ "description": "Project ID (uses first project if only one exists)",
9806
+ "name": "project",
9807
+ "hasDynamicHelp": false,
9808
+ "multiple": false,
9809
+ "type": "option"
9810
+ },
9811
+ "json": {
9812
+ "description": "Output as JSON for AI agents/scripts",
9813
+ "name": "json",
9814
+ "allowNo": false,
9815
+ "type": "boolean"
9816
+ },
9817
+ "machine": {
9818
+ "char": "m",
9819
+ "description": "Output as JSON for AI agents/scripts",
9820
+ "name": "machine",
9821
+ "allowNo": false,
9822
+ "type": "boolean"
9823
+ },
9824
+ "check": {
9825
+ "description": "Only check if Trello credentials are valid (do not prompt)",
9826
+ "name": "check",
9827
+ "allowNo": false,
9828
+ "type": "boolean"
9829
+ },
9830
+ "force": {
9831
+ "description": "Force re-authentication even if credentials exist",
9832
+ "name": "force",
9833
+ "allowNo": false,
9834
+ "type": "boolean"
9835
+ },
9836
+ "disconnect": {
9837
+ "description": "Remove stored Trello credentials and configuration",
9838
+ "name": "disconnect",
9839
+ "allowNo": false,
9840
+ "type": "boolean"
9841
+ },
9842
+ "board": {
9843
+ "description": "Default board ID or name",
9844
+ "name": "board",
9845
+ "hasDynamicHelp": false,
9846
+ "multiple": false,
9847
+ "type": "option"
9848
+ }
9849
+ },
9850
+ "hasDynamicHelp": false,
9851
+ "hiddenAliases": [],
9852
+ "id": "trello:configure",
9853
+ "pluginAlias": "@proletariat/cli",
9854
+ "pluginName": "@proletariat/cli",
9855
+ "pluginType": "core",
9856
+ "strict": true,
9857
+ "isESM": true,
9858
+ "relativePath": [
9859
+ "dist",
9860
+ "commands",
9861
+ "trello",
9862
+ "configure.js"
9863
+ ]
9864
+ },
9865
+ "trello:import": {
9866
+ "aliases": [],
9867
+ "args": {},
9868
+ "description": "Import Trello cards into PMO as tickets",
9869
+ "examples": [
9870
+ "<%= config.bin %> <%= command.id %> # Interactive: select cards from board",
9871
+ "<%= config.bin %> <%= command.id %> --limit 50 # Import up to 50 cards",
9872
+ "<%= config.bin %> <%= command.id %> --all # Import all matching cards",
9873
+ "<%= config.bin %> <%= command.id %> --dry-run # Preview what would be imported",
9874
+ "<%= config.bin %> <%= command.id %> --json # JSON output for scripting"
9875
+ ],
9876
+ "flags": {
9877
+ "project": {
9878
+ "char": "P",
9879
+ "description": "Project ID (uses first project if only one exists)",
9880
+ "name": "project",
9881
+ "hasDynamicHelp": false,
9882
+ "multiple": false,
9883
+ "type": "option"
9884
+ },
9885
+ "json": {
9886
+ "description": "Output as JSON for AI agents/scripts",
9887
+ "name": "json",
9888
+ "allowNo": false,
9889
+ "type": "boolean"
9890
+ },
9891
+ "machine": {
9892
+ "char": "m",
9893
+ "description": "Output as JSON for AI agents/scripts",
9894
+ "name": "machine",
9895
+ "allowNo": false,
9896
+ "type": "boolean"
9897
+ },
9898
+ "limit": {
9899
+ "char": "n",
9900
+ "description": "Maximum number of cards to import",
9901
+ "name": "limit",
9902
+ "default": 50,
9903
+ "hasDynamicHelp": false,
9904
+ "multiple": false,
9905
+ "type": "option"
9906
+ },
9907
+ "all": {
9908
+ "char": "a",
9909
+ "description": "Import all matching cards without interactive selection",
9910
+ "name": "all",
9911
+ "allowNo": false,
9912
+ "type": "boolean"
9913
+ },
9914
+ "dry-run": {
9915
+ "description": "Preview cards that would be imported without creating tickets",
9916
+ "name": "dry-run",
9917
+ "allowNo": false,
9918
+ "type": "boolean"
9919
+ }
9920
+ },
9921
+ "hasDynamicHelp": false,
9922
+ "hiddenAliases": [],
9923
+ "id": "trello:import",
9924
+ "pluginAlias": "@proletariat/cli",
9925
+ "pluginName": "@proletariat/cli",
9926
+ "pluginType": "core",
9927
+ "strict": true,
9928
+ "isESM": true,
9929
+ "relativePath": [
9930
+ "dist",
9931
+ "commands",
9932
+ "trello",
9933
+ "import.js"
9934
+ ]
9935
+ },
9936
+ "trello:sync": {
9937
+ "aliases": [],
9938
+ "args": {},
9939
+ "description": "Sync PMO tickets to Trello cards",
9940
+ "examples": [
9941
+ "<%= config.bin %> <%= command.id %> --ticket TKT-001 --card abc123",
9942
+ "<%= config.bin %> <%= command.id %> --ticket TKT-001 --create-missing",
9943
+ "<%= config.bin %> <%= command.id %> --dry-run"
9944
+ ],
9945
+ "flags": {
9946
+ "project": {
9947
+ "char": "P",
9948
+ "description": "Project ID (uses first project if only one exists)",
9949
+ "name": "project",
9950
+ "hasDynamicHelp": false,
9951
+ "multiple": false,
9952
+ "type": "option"
9953
+ },
9954
+ "json": {
9955
+ "description": "Output as JSON for AI agents/scripts",
9956
+ "name": "json",
9957
+ "allowNo": false,
9958
+ "type": "boolean"
9959
+ },
9960
+ "machine": {
9961
+ "char": "m",
9962
+ "description": "Output as JSON for AI agents/scripts",
9963
+ "name": "machine",
9964
+ "allowNo": false,
9965
+ "type": "boolean"
9966
+ },
9967
+ "ticket": {
9968
+ "description": "PMO ticket ID to sync (syncs all mapped tickets if omitted)",
9969
+ "name": "ticket",
9970
+ "hasDynamicHelp": false,
9971
+ "multiple": false,
9972
+ "type": "option"
9973
+ },
9974
+ "card": {
9975
+ "description": "Trello card ID to map to --ticket",
9976
+ "name": "card",
9977
+ "hasDynamicHelp": false,
9978
+ "multiple": false,
9979
+ "type": "option"
9980
+ },
9981
+ "list": {
9982
+ "description": "Trello list ID used with --create-missing",
9983
+ "name": "list",
9756
9984
  "hasDynamicHelp": false,
9757
9985
  "multiple": false,
9758
9986
  "type": "option"
9759
9987
  },
9760
- "bulk": {
9761
- "char": "b",
9762
- "description": "Enable bulk mode to update multiple tickets",
9763
- "name": "bulk",
9988
+ "create-missing": {
9989
+ "description": "Create Trello card when no mapping exists (requires list)",
9990
+ "name": "create-missing",
9764
9991
  "allowNo": false,
9765
9992
  "type": "boolean"
9766
9993
  },
9767
- "force": {
9768
- "char": "f",
9769
- "description": "Skip confirmation prompt",
9770
- "name": "force",
9994
+ "dry-run": {
9995
+ "description": "Preview sync operations without making changes",
9996
+ "name": "dry-run",
9771
9997
  "allowNo": false,
9772
9998
  "type": "boolean"
9773
9999
  }
9774
10000
  },
9775
10001
  "hasDynamicHelp": false,
9776
10002
  "hiddenAliases": [],
9777
- "id": "ticket:update",
10003
+ "id": "trello:sync",
9778
10004
  "pluginAlias": "@proletariat/cli",
9779
10005
  "pluginName": "@proletariat/cli",
9780
10006
  "pluginType": "core",
@@ -9783,8 +10009,8 @@
9783
10009
  "relativePath": [
9784
10010
  "dist",
9785
10011
  "commands",
9786
- "ticket",
9787
- "update.js"
10012
+ "trello",
10013
+ "sync.js"
9788
10014
  ]
9789
10015
  },
9790
10016
  "tools:add": {
@@ -10055,232 +10281,6 @@
10055
10281
  "remove.js"
10056
10282
  ]
10057
10283
  },
10058
- "trello:configure": {
10059
- "aliases": [],
10060
- "args": {},
10061
- "description": "Connect to Trello and configure authentication",
10062
- "examples": [
10063
- "<%= config.bin %> <%= command.id %>",
10064
- "<%= config.bin %> <%= command.id %> --check",
10065
- "<%= config.bin %> <%= command.id %> --force",
10066
- "<%= config.bin %> <%= command.id %> --disconnect",
10067
- "TRELLO_API_KEY=... TRELLO_API_TOKEN=... <%= config.bin %> <%= command.id %>",
10068
- "<%= config.bin %> <%= command.id %> --json"
10069
- ],
10070
- "flags": {
10071
- "project": {
10072
- "char": "P",
10073
- "description": "Project ID (uses first project if only one exists)",
10074
- "name": "project",
10075
- "hasDynamicHelp": false,
10076
- "multiple": false,
10077
- "type": "option"
10078
- },
10079
- "json": {
10080
- "description": "Output as JSON for AI agents/scripts",
10081
- "name": "json",
10082
- "allowNo": false,
10083
- "type": "boolean"
10084
- },
10085
- "machine": {
10086
- "char": "m",
10087
- "description": "Output as JSON for AI agents/scripts",
10088
- "name": "machine",
10089
- "allowNo": false,
10090
- "type": "boolean"
10091
- },
10092
- "check": {
10093
- "description": "Only check if Trello credentials are valid (do not prompt)",
10094
- "name": "check",
10095
- "allowNo": false,
10096
- "type": "boolean"
10097
- },
10098
- "force": {
10099
- "description": "Force re-authentication even if credentials exist",
10100
- "name": "force",
10101
- "allowNo": false,
10102
- "type": "boolean"
10103
- },
10104
- "disconnect": {
10105
- "description": "Remove stored Trello credentials and configuration",
10106
- "name": "disconnect",
10107
- "allowNo": false,
10108
- "type": "boolean"
10109
- },
10110
- "board": {
10111
- "description": "Default board ID or name",
10112
- "name": "board",
10113
- "hasDynamicHelp": false,
10114
- "multiple": false,
10115
- "type": "option"
10116
- }
10117
- },
10118
- "hasDynamicHelp": false,
10119
- "hiddenAliases": [],
10120
- "id": "trello:configure",
10121
- "pluginAlias": "@proletariat/cli",
10122
- "pluginName": "@proletariat/cli",
10123
- "pluginType": "core",
10124
- "strict": true,
10125
- "isESM": true,
10126
- "relativePath": [
10127
- "dist",
10128
- "commands",
10129
- "trello",
10130
- "configure.js"
10131
- ]
10132
- },
10133
- "trello:import": {
10134
- "aliases": [],
10135
- "args": {},
10136
- "description": "Import Trello cards into PMO as tickets",
10137
- "examples": [
10138
- "<%= config.bin %> <%= command.id %> # Interactive: select cards from board",
10139
- "<%= config.bin %> <%= command.id %> --limit 50 # Import up to 50 cards",
10140
- "<%= config.bin %> <%= command.id %> --all # Import all matching cards",
10141
- "<%= config.bin %> <%= command.id %> --dry-run # Preview what would be imported",
10142
- "<%= config.bin %> <%= command.id %> --json # JSON output for scripting"
10143
- ],
10144
- "flags": {
10145
- "project": {
10146
- "char": "P",
10147
- "description": "Project ID (uses first project if only one exists)",
10148
- "name": "project",
10149
- "hasDynamicHelp": false,
10150
- "multiple": false,
10151
- "type": "option"
10152
- },
10153
- "json": {
10154
- "description": "Output as JSON for AI agents/scripts",
10155
- "name": "json",
10156
- "allowNo": false,
10157
- "type": "boolean"
10158
- },
10159
- "machine": {
10160
- "char": "m",
10161
- "description": "Output as JSON for AI agents/scripts",
10162
- "name": "machine",
10163
- "allowNo": false,
10164
- "type": "boolean"
10165
- },
10166
- "limit": {
10167
- "char": "n",
10168
- "description": "Maximum number of cards to import",
10169
- "name": "limit",
10170
- "default": 50,
10171
- "hasDynamicHelp": false,
10172
- "multiple": false,
10173
- "type": "option"
10174
- },
10175
- "all": {
10176
- "char": "a",
10177
- "description": "Import all matching cards without interactive selection",
10178
- "name": "all",
10179
- "allowNo": false,
10180
- "type": "boolean"
10181
- },
10182
- "dry-run": {
10183
- "description": "Preview cards that would be imported without creating tickets",
10184
- "name": "dry-run",
10185
- "allowNo": false,
10186
- "type": "boolean"
10187
- }
10188
- },
10189
- "hasDynamicHelp": false,
10190
- "hiddenAliases": [],
10191
- "id": "trello:import",
10192
- "pluginAlias": "@proletariat/cli",
10193
- "pluginName": "@proletariat/cli",
10194
- "pluginType": "core",
10195
- "strict": true,
10196
- "isESM": true,
10197
- "relativePath": [
10198
- "dist",
10199
- "commands",
10200
- "trello",
10201
- "import.js"
10202
- ]
10203
- },
10204
- "trello:sync": {
10205
- "aliases": [],
10206
- "args": {},
10207
- "description": "Sync PMO tickets to Trello cards",
10208
- "examples": [
10209
- "<%= config.bin %> <%= command.id %> --ticket TKT-001 --card abc123",
10210
- "<%= config.bin %> <%= command.id %> --ticket TKT-001 --create-missing",
10211
- "<%= config.bin %> <%= command.id %> --dry-run"
10212
- ],
10213
- "flags": {
10214
- "project": {
10215
- "char": "P",
10216
- "description": "Project ID (uses first project if only one exists)",
10217
- "name": "project",
10218
- "hasDynamicHelp": false,
10219
- "multiple": false,
10220
- "type": "option"
10221
- },
10222
- "json": {
10223
- "description": "Output as JSON for AI agents/scripts",
10224
- "name": "json",
10225
- "allowNo": false,
10226
- "type": "boolean"
10227
- },
10228
- "machine": {
10229
- "char": "m",
10230
- "description": "Output as JSON for AI agents/scripts",
10231
- "name": "machine",
10232
- "allowNo": false,
10233
- "type": "boolean"
10234
- },
10235
- "ticket": {
10236
- "description": "PMO ticket ID to sync (syncs all mapped tickets if omitted)",
10237
- "name": "ticket",
10238
- "hasDynamicHelp": false,
10239
- "multiple": false,
10240
- "type": "option"
10241
- },
10242
- "card": {
10243
- "description": "Trello card ID to map to --ticket",
10244
- "name": "card",
10245
- "hasDynamicHelp": false,
10246
- "multiple": false,
10247
- "type": "option"
10248
- },
10249
- "list": {
10250
- "description": "Trello list ID used with --create-missing",
10251
- "name": "list",
10252
- "hasDynamicHelp": false,
10253
- "multiple": false,
10254
- "type": "option"
10255
- },
10256
- "create-missing": {
10257
- "description": "Create Trello card when no mapping exists (requires list)",
10258
- "name": "create-missing",
10259
- "allowNo": false,
10260
- "type": "boolean"
10261
- },
10262
- "dry-run": {
10263
- "description": "Preview sync operations without making changes",
10264
- "name": "dry-run",
10265
- "allowNo": false,
10266
- "type": "boolean"
10267
- }
10268
- },
10269
- "hasDynamicHelp": false,
10270
- "hiddenAliases": [],
10271
- "id": "trello:sync",
10272
- "pluginAlias": "@proletariat/cli",
10273
- "pluginName": "@proletariat/cli",
10274
- "pluginType": "core",
10275
- "strict": true,
10276
- "isESM": true,
10277
- "relativePath": [
10278
- "dist",
10279
- "commands",
10280
- "trello",
10281
- "sync.js"
10282
- ]
10283
- },
10284
10284
  "version:bump": {
10285
10285
  "aliases": [],
10286
10286
  "args": {
@@ -13913,5 +13913,5 @@
13913
13913
  ]
13914
13914
  }
13915
13915
  },
13916
- "version": "0.3.101"
13916
+ "version": "0.3.103"
13917
13917
  }