@proletariat/cli 0.3.49 → 0.3.50

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.
@@ -3636,19 +3636,88 @@
3636
3636
  "sync.js"
3637
3637
  ]
3638
3638
  },
3639
- "epic:activate": {
3639
+ "execution:config": {
3640
3640
  "aliases": [],
3641
- "args": {
3642
- "id": {
3643
- "description": "Epic ID",
3644
- "name": "id",
3645
- "required": false
3641
+ "args": {},
3642
+ "description": "View and update execution preferences",
3643
+ "examples": [
3644
+ "<%= config.bin %> execution config # Interactive menu",
3645
+ "<%= config.bin %> execution config --json # Output current config as JSON",
3646
+ "<%= config.bin %> execution config --list # Show all settings",
3647
+ "<%= config.bin %> execution config --set defaultEnvironment host",
3648
+ "<%= config.bin %> execution config --set outputMode interactive",
3649
+ "<%= config.bin %> execution config --set permissionMode safe",
3650
+ "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
3651
+ ],
3652
+ "flags": {
3653
+ "project": {
3654
+ "char": "P",
3655
+ "description": "Project ID (uses first project if only one exists)",
3656
+ "name": "project",
3657
+ "hasDynamicHelp": false,
3658
+ "multiple": false,
3659
+ "type": "option"
3660
+ },
3661
+ "json": {
3662
+ "description": "Output as JSON for AI agents/scripts",
3663
+ "name": "json",
3664
+ "allowNo": false,
3665
+ "type": "boolean"
3666
+ },
3667
+ "machine": {
3668
+ "char": "m",
3669
+ "description": "Output as JSON for AI agents/scripts",
3670
+ "name": "machine",
3671
+ "allowNo": false,
3672
+ "type": "boolean"
3673
+ },
3674
+ "set": {
3675
+ "char": "s",
3676
+ "description": "Set a config value (format: key value)",
3677
+ "name": "set",
3678
+ "hasDynamicHelp": false,
3679
+ "multiple": true,
3680
+ "type": "option"
3681
+ },
3682
+ "list": {
3683
+ "char": "l",
3684
+ "description": "List all configuration values",
3685
+ "name": "list",
3686
+ "allowNo": false,
3687
+ "type": "boolean"
3688
+ },
3689
+ "setting": {
3690
+ "description": "Navigate to a specific setting prompt (for agent navigation)",
3691
+ "name": "setting",
3692
+ "hasDynamicHelp": false,
3693
+ "multiple": false,
3694
+ "type": "option"
3646
3695
  }
3647
3696
  },
3648
- "description": "Activate a draft or archived epic",
3697
+ "hasDynamicHelp": false,
3698
+ "hiddenAliases": [],
3699
+ "id": "execution:config",
3700
+ "pluginAlias": "@proletariat/cli",
3701
+ "pluginName": "@proletariat/cli",
3702
+ "pluginType": "core",
3703
+ "strict": true,
3704
+ "isESM": true,
3705
+ "relativePath": [
3706
+ "dist",
3707
+ "commands",
3708
+ "execution",
3709
+ "config.js"
3710
+ ]
3711
+ },
3712
+ "execution": {
3713
+ "aliases": [],
3714
+ "args": {},
3715
+ "description": "Single execution operations (view, logs, stop)",
3649
3716
  "examples": [
3650
- "<%= config.bin %> <%= command.id %> EPIC-004",
3651
- "<%= config.bin %> <%= command.id %>"
3717
+ "<%= config.bin %> <%= command.id %>",
3718
+ "<%= config.bin %> <%= command.id %> view WORK-001",
3719
+ "<%= config.bin %> <%= command.id %> logs WORK-001",
3720
+ "<%= config.bin %> <%= command.id %> stop WORK-001"
3652
3721
  ],
3653
3722
  "flags": {
3654
3723
  "project": {
@@ -3675,7 +3744,7 @@
3675
3744
  },
3676
3745
  "hasDynamicHelp": false,
3677
3746
  "hiddenAliases": [],
3678
- "id": "epic:activate",
3747
+ "id": "execution",
3679
3748
  "pluginAlias": "@proletariat/cli",
3680
3749
  "pluginName": "@proletariat/cli",
3681
3750
  "pluginType": "core",
@@ -3684,23 +3753,27 @@
3684
3753
  "relativePath": [
3685
3754
  "dist",
3686
3755
  "commands",
3687
- "epic",
3688
- "activate.js"
3756
+ "execution",
3757
+ "index.js"
3689
3758
  ]
3690
3759
  },
3691
- "epic:archive": {
3760
+ "execution:kill": {
3692
3761
  "aliases": [],
3693
3762
  "args": {
3694
3763
  "id": {
3695
- "description": "Epic ID",
3764
+ "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3696
3765
  "name": "id",
3697
3766
  "required": false
3698
3767
  }
3699
3768
  },
3700
- "description": "Archive a completed epic",
3769
+ "description": "Stop running execution(s) (alias for \"execution stop\")",
3701
3770
  "examples": [
3702
- "<%= config.bin %> <%= command.id %> EPIC-002",
3703
- "<%= config.bin %> <%= command.id %> --force"
3771
+ "<%= config.bin %> <%= command.id %> WORK-001",
3772
+ "<%= config.bin %> <%= command.id %> WORK-001 --force",
3773
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
3774
+ "<%= config.bin %> <%= command.id %> --all",
3775
+ "<%= config.bin %> <%= command.id %> --all --force",
3776
+ "<%= config.bin %> <%= command.id %> --agent altman"
3704
3777
  ],
3705
3778
  "flags": {
3706
3779
  "project": {
@@ -3726,37 +3799,49 @@
3726
3799
  },
3727
3800
  "force": {
3728
3801
  "char": "f",
3729
- "description": "Skip ticket completion check",
3802
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
3730
3803
  "name": "force",
3731
3804
  "allowNo": false,
3732
3805
  "type": "boolean"
3806
+ },
3807
+ "all": {
3808
+ "description": "Stop all running executions",
3809
+ "name": "all",
3810
+ "allowNo": false,
3811
+ "type": "boolean"
3812
+ },
3813
+ "agent": {
3814
+ "char": "a",
3815
+ "description": "Stop all executions for a specific agent",
3816
+ "name": "agent",
3817
+ "hasDynamicHelp": false,
3818
+ "multiple": false,
3819
+ "type": "option"
3733
3820
  }
3734
3821
  },
3735
3822
  "hasDynamicHelp": false,
3736
3823
  "hiddenAliases": [],
3737
- "id": "epic:archive",
3824
+ "id": "execution:kill",
3738
3825
  "pluginAlias": "@proletariat/cli",
3739
3826
  "pluginName": "@proletariat/cli",
3740
3827
  "pluginType": "core",
3741
- "strict": true,
3742
3828
  "isESM": true,
3743
3829
  "relativePath": [
3744
3830
  "dist",
3745
3831
  "commands",
3746
- "epic",
3747
- "archive.js"
3832
+ "execution",
3833
+ "kill.js"
3748
3834
  ]
3749
3835
  },
3750
- "epic:create": {
3836
+ "execution:list": {
3751
3837
  "aliases": [],
3752
3838
  "args": {},
3753
- "description": "Create a new epic",
3839
+ "description": "List running and recent executions",
3754
3840
  "examples": [
3755
3841
  "<%= 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"
3842
+ "<%= config.bin %> <%= command.id %> --status running",
3843
+ "<%= config.bin %> <%= command.id %> --agent alice",
3844
+ "<%= config.bin %> <%= command.id %> --limit 50"
3760
3845
  ],
3761
3846
  "flags": {
3762
3847
  "project": {
@@ -3780,52 +3865,42 @@
3780
3865
  "allowNo": false,
3781
3866
  "type": "boolean"
3782
3867
  },
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"
3790
- },
3791
3868
  "status": {
3792
3869
  "char": "s",
3793
- "description": "Initial status",
3870
+ "description": "Filter by status",
3794
3871
  "name": "status",
3795
- "default": "active",
3796
3872
  "hasDynamicHelp": false,
3797
3873
  "multiple": false,
3798
3874
  "options": [
3799
- "active",
3800
- "draft"
3875
+ "starting",
3876
+ "running",
3877
+ "completed",
3878
+ "failed",
3879
+ "stopped"
3801
3880
  ],
3802
3881
  "type": "option"
3803
3882
  },
3804
- "description": {
3805
- "char": "d",
3806
- "description": "Epic description",
3807
- "name": "description",
3883
+ "agent": {
3884
+ "char": "a",
3885
+ "description": "Filter by agent name",
3886
+ "name": "agent",
3808
3887
  "hasDynamicHelp": false,
3809
3888
  "multiple": false,
3810
3889
  "type": "option"
3811
3890
  },
3812
- "spec": {
3813
- "description": "Link to spec ID (the design spec that describes this epic)",
3814
- "name": "spec",
3891
+ "limit": {
3892
+ "char": "l",
3893
+ "description": "Number of results",
3894
+ "name": "limit",
3895
+ "default": 20,
3815
3896
  "hasDynamicHelp": false,
3816
3897
  "multiple": false,
3817
3898
  "type": "option"
3818
- },
3819
- "dry-run": {
3820
- "description": "Validate inputs without creating epic (use with --json for structured output)",
3821
- "name": "dry-run",
3822
- "allowNo": false,
3823
- "type": "boolean"
3824
3899
  }
3825
3900
  },
3826
3901
  "hasDynamicHelp": false,
3827
3902
  "hiddenAliases": [],
3828
- "id": "epic:create",
3903
+ "id": "execution:list",
3829
3904
  "pluginAlias": "@proletariat/cli",
3830
3905
  "pluginName": "@proletariat/cli",
3831
3906
  "pluginType": "core",
@@ -3834,23 +3909,24 @@
3834
3909
  "relativePath": [
3835
3910
  "dist",
3836
3911
  "commands",
3837
- "epic",
3838
- "create.js"
3912
+ "execution",
3913
+ "list.js"
3839
3914
  ]
3840
3915
  },
3841
- "epic:delete": {
3916
+ "execution:logs": {
3842
3917
  "aliases": [],
3843
3918
  "args": {
3844
3919
  "id": {
3845
- "description": "Epic ID to delete",
3920
+ "description": "Execution ID - prompts if not provided",
3846
3921
  "name": "id",
3847
3922
  "required": false
3848
3923
  }
3849
3924
  },
3850
- "description": "Delete an epic permanently",
3925
+ "description": "View execution logs",
3851
3926
  "examples": [
3852
- "<%= config.bin %> <%= command.id %> EPIC-001",
3853
- "<%= config.bin %> <%= command.id %> EPIC-001 --force",
3927
+ "<%= config.bin %> <%= command.id %> WORK-001",
3928
+ "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3929
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3854
3930
  "<%= config.bin %> <%= command.id %> # Interactive mode"
3855
3931
  ],
3856
3932
  "flags": {
@@ -3863,7 +3939,7 @@
3863
3939
  "type": "option"
3864
3940
  },
3865
3941
  "json": {
3866
- "description": "Output prompt configuration as JSON (for AI agents/scripts)",
3942
+ "description": "Output as JSON for AI agents/scripts",
3867
3943
  "name": "json",
3868
3944
  "allowNo": false,
3869
3945
  "type": "boolean"
@@ -3875,17 +3951,25 @@
3875
3951
  "allowNo": false,
3876
3952
  "type": "boolean"
3877
3953
  },
3878
- "force": {
3954
+ "follow": {
3879
3955
  "char": "f",
3880
- "description": "Skip confirmation prompt",
3881
- "name": "force",
3956
+ "description": "Stream logs in real-time",
3957
+ "name": "follow",
3882
3958
  "allowNo": false,
3883
3959
  "type": "boolean"
3960
+ },
3961
+ "tail": {
3962
+ "char": "n",
3963
+ "description": "Show last n lines",
3964
+ "name": "tail",
3965
+ "hasDynamicHelp": false,
3966
+ "multiple": false,
3967
+ "type": "option"
3884
3968
  }
3885
3969
  },
3886
3970
  "hasDynamicHelp": false,
3887
3971
  "hiddenAliases": [],
3888
- "id": "epic:delete",
3972
+ "id": "execution:logs",
3889
3973
  "pluginAlias": "@proletariat/cli",
3890
3974
  "pluginName": "@proletariat/cli",
3891
3975
  "pluginType": "core",
@@ -3894,16 +3978,27 @@
3894
3978
  "relativePath": [
3895
3979
  "dist",
3896
3980
  "commands",
3897
- "epic",
3898
- "delete.js"
3981
+ "execution",
3982
+ "logs.js"
3899
3983
  ]
3900
3984
  },
3901
- "epic": {
3985
+ "execution:stop": {
3902
3986
  "aliases": [],
3903
- "args": {},
3904
- "description": "Interactive menu for epic operations",
3987
+ "args": {
3988
+ "id": {
3989
+ "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3990
+ "name": "id",
3991
+ "required": false
3992
+ }
3993
+ },
3994
+ "description": "Stop running execution(s)",
3905
3995
  "examples": [
3906
- "<%= config.bin %> <%= command.id %>"
3996
+ "<%= config.bin %> <%= command.id %> WORK-001",
3997
+ "<%= config.bin %> <%= command.id %> WORK-001 --force",
3998
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
3999
+ "<%= config.bin %> <%= command.id %> --all",
4000
+ "<%= config.bin %> <%= command.id %> --all --force",
4001
+ "<%= config.bin %> <%= command.id %> --agent altman"
3907
4002
  ],
3908
4003
  "flags": {
3909
4004
  "project": {
@@ -3926,72 +4021,32 @@
3926
4021
  "name": "machine",
3927
4022
  "allowNo": false,
3928
4023
  "type": "boolean"
3929
- }
3930
- },
3931
- "hasDynamicHelp": false,
3932
- "hiddenAliases": [],
3933
- "id": "epic",
3934
- "pluginAlias": "@proletariat/cli",
3935
- "pluginName": "@proletariat/cli",
3936
- "pluginType": "core",
3937
- "strict": true,
3938
- "isESM": true,
3939
- "relativePath": [
3940
- "dist",
3941
- "commands",
3942
- "epic",
3943
- "index.js"
3944
- ]
3945
- },
3946
- "epic:list": {
3947
- "aliases": [],
3948
- "args": {},
3949
- "description": "List all epics",
3950
- "examples": [
3951
- "<%= config.bin %> <%= command.id %>",
3952
- "<%= config.bin %> <%= command.id %> --status active"
3953
- ],
3954
- "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
4024
  },
3963
- "json": {
3964
- "description": "Output as JSON for AI agents/scripts",
3965
- "name": "json",
4025
+ "force": {
4026
+ "char": "f",
4027
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
4028
+ "name": "force",
3966
4029
  "allowNo": false,
3967
4030
  "type": "boolean"
3968
4031
  },
3969
- "machine": {
3970
- "char": "m",
3971
- "description": "Output as JSON for AI agents/scripts",
3972
- "name": "machine",
4032
+ "all": {
4033
+ "description": "Stop all running executions",
4034
+ "name": "all",
3973
4035
  "allowNo": false,
3974
4036
  "type": "boolean"
3975
4037
  },
3976
- "status": {
3977
- "char": "s",
3978
- "description": "Filter by status",
3979
- "name": "status",
4038
+ "agent": {
4039
+ "char": "a",
4040
+ "description": "Stop all executions for a specific agent",
4041
+ "name": "agent",
3980
4042
  "hasDynamicHelp": false,
3981
4043
  "multiple": false,
3982
- "options": [
3983
- "active",
3984
- "draft",
3985
- "complete",
3986
- "dropped",
3987
- "future"
3988
- ],
3989
4044
  "type": "option"
3990
4045
  }
3991
4046
  },
3992
4047
  "hasDynamicHelp": false,
3993
4048
  "hiddenAliases": [],
3994
- "id": "epic:list",
4049
+ "id": "execution:stop",
3995
4050
  "pluginAlias": "@proletariat/cli",
3996
4051
  "pluginName": "@proletariat/cli",
3997
4052
  "pluginType": "core",
@@ -4000,35 +4055,23 @@
4000
4055
  "relativePath": [
4001
4056
  "dist",
4002
4057
  "commands",
4003
- "epic",
4004
- "list.js"
4058
+ "execution",
4059
+ "stop.js"
4005
4060
  ]
4006
4061
  },
4007
- "epic:move": {
4062
+ "execution:view": {
4008
4063
  "aliases": [],
4009
4064
  "args": {
4010
4065
  "id": {
4011
- "description": "Epic ID",
4066
+ "description": "Execution ID - prompts if not provided",
4012
4067
  "name": "id",
4013
4068
  "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
4069
  }
4027
4070
  },
4028
- "description": "Move epic between status folders",
4071
+ "description": "View details of a specific execution",
4029
4072
  "examples": [
4030
- "<%= config.bin %> <%= command.id %> EPIC-002 complete",
4031
- "<%= config.bin %> <%= command.id %> --force"
4073
+ "<%= config.bin %> <%= command.id %> WORK-001",
4074
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
4032
4075
  ],
4033
4076
  "flags": {
4034
4077
  "project": {
@@ -4051,18 +4094,11 @@
4051
4094
  "name": "machine",
4052
4095
  "allowNo": false,
4053
4096
  "type": "boolean"
4054
- },
4055
- "force": {
4056
- "char": "f",
4057
- "description": "Skip validation checks",
4058
- "name": "force",
4059
- "allowNo": false,
4060
- "type": "boolean"
4061
4097
  }
4062
4098
  },
4063
4099
  "hasDynamicHelp": false,
4064
4100
  "hiddenAliases": [],
4065
- "id": "epic:move",
4101
+ "id": "execution:view",
4066
4102
  "pluginAlias": "@proletariat/cli",
4067
4103
  "pluginName": "@proletariat/cli",
4068
4104
  "pluginType": "core",
@@ -4071,11 +4107,11 @@
4071
4107
  "relativePath": [
4072
4108
  "dist",
4073
4109
  "commands",
4074
- "epic",
4075
- "move.js"
4110
+ "execution",
4111
+ "view.js"
4076
4112
  ]
4077
4113
  },
4078
- "epic:progress": {
4114
+ "epic:activate": {
4079
4115
  "aliases": [],
4080
4116
  "args": {
4081
4117
  "id": {
@@ -4084,10 +4120,10 @@
4084
4120
  "required": false
4085
4121
  }
4086
4122
  },
4087
- "description": "Show epic completion progress",
4123
+ "description": "Activate a draft or archived epic",
4088
4124
  "examples": [
4089
- "<%= config.bin %> <%= command.id %> EPIC-001",
4090
- "<%= config.bin %> <%= command.id %> --all"
4125
+ "<%= config.bin %> <%= command.id %> EPIC-004",
4126
+ "<%= config.bin %> <%= command.id %>"
4091
4127
  ],
4092
4128
  "flags": {
4093
4129
  "project": {
@@ -4110,18 +4146,11 @@
4110
4146
  "name": "machine",
4111
4147
  "allowNo": false,
4112
4148
  "type": "boolean"
4113
- },
4114
- "all": {
4115
- "char": "a",
4116
- "description": "Show progress for all epics",
4117
- "name": "all",
4118
- "allowNo": false,
4119
- "type": "boolean"
4120
4149
  }
4121
4150
  },
4122
4151
  "hasDynamicHelp": false,
4123
4152
  "hiddenAliases": [],
4124
- "id": "epic:progress",
4153
+ "id": "epic:activate",
4125
4154
  "pluginAlias": "@proletariat/cli",
4126
4155
  "pluginName": "@proletariat/cli",
4127
4156
  "pluginType": "core",
@@ -4131,29 +4160,22 @@
4131
4160
  "dist",
4132
4161
  "commands",
4133
4162
  "epic",
4134
- "progress.js"
4163
+ "activate.js"
4135
4164
  ]
4136
4165
  },
4137
- "epic:project": {
4166
+ "epic:archive": {
4138
4167
  "aliases": [],
4139
4168
  "args": {
4140
- "epicId": {
4169
+ "id": {
4141
4170
  "description": "Epic ID",
4142
- "name": "epicId",
4143
- "required": false
4144
- },
4145
- "targetProject": {
4146
- "description": "Target project ID",
4147
- "name": "targetProject",
4171
+ "name": "id",
4148
4172
  "required": false
4149
4173
  }
4150
4174
  },
4151
- "description": "Move an epic to a different project (optionally with its tickets)",
4175
+ "description": "Archive a completed epic",
4152
4176
  "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 %>"
4177
+ "<%= config.bin %> <%= command.id %> EPIC-002",
4178
+ "<%= config.bin %> <%= command.id %> --force"
4157
4179
  ],
4158
4180
  "flags": {
4159
4181
  "project": {
@@ -4177,17 +4199,17 @@
4177
4199
  "allowNo": false,
4178
4200
  "type": "boolean"
4179
4201
  },
4180
- "with-tickets": {
4181
- "char": "t",
4182
- "description": "Also move all tickets assigned to this epic",
4183
- "name": "with-tickets",
4202
+ "force": {
4203
+ "char": "f",
4204
+ "description": "Skip ticket completion check",
4205
+ "name": "force",
4184
4206
  "allowNo": false,
4185
4207
  "type": "boolean"
4186
4208
  }
4187
4209
  },
4188
4210
  "hasDynamicHelp": false,
4189
4211
  "hiddenAliases": [],
4190
- "id": "epic:project",
4212
+ "id": "epic:archive",
4191
4213
  "pluginAlias": "@proletariat/cli",
4192
4214
  "pluginName": "@proletariat/cli",
4193
4215
  "pluginType": "core",
@@ -4197,28 +4219,19 @@
4197
4219
  "dist",
4198
4220
  "commands",
4199
4221
  "epic",
4200
- "project.js"
4222
+ "archive.js"
4201
4223
  ]
4202
4224
  },
4203
- "epic:reorder": {
4225
+ "epic:create": {
4204
4226
  "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",
4227
+ "args": {},
4228
+ "description": "Create a new epic",
4218
4229
  "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"
4230
+ "<%= config.bin %> <%= command.id %>",
4231
+ "<%= config.bin %> <%= command.id %> --title \"User Authentication System\"",
4232
+ "<%= config.bin %> <%= command.id %> -t \"API Design\" --status draft",
4233
+ "<%= config.bin %> <%= command.id %> -t \"Implement Auth\" --spec SPEC-001",
4234
+ "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating"
4222
4235
  ],
4223
4236
  "flags": {
4224
4237
  "project": {
@@ -4242,56 +4255,52 @@
4242
4255
  "allowNo": false,
4243
4256
  "type": "boolean"
4244
4257
  },
4245
- "first": {
4246
- "description": "Move to first position (highest priority)",
4247
- "exclusive": [
4248
- "last",
4249
- "after",
4250
- "before"
4251
- ],
4252
- "name": "first",
4253
- "allowNo": false,
4254
- "type": "boolean"
4258
+ "title": {
4259
+ "char": "t",
4260
+ "description": "Epic title [required for non-interactive]",
4261
+ "name": "title",
4262
+ "hasDynamicHelp": false,
4263
+ "multiple": false,
4264
+ "type": "option"
4255
4265
  },
4256
- "last": {
4257
- "description": "Move to last position (lowest priority)",
4258
- "exclusive": [
4259
- "first",
4260
- "after",
4261
- "before"
4266
+ "status": {
4267
+ "char": "s",
4268
+ "description": "Initial status",
4269
+ "name": "status",
4270
+ "default": "active",
4271
+ "hasDynamicHelp": false,
4272
+ "multiple": false,
4273
+ "options": [
4274
+ "active",
4275
+ "draft"
4262
4276
  ],
4263
- "name": "last",
4264
- "allowNo": false,
4265
- "type": "boolean"
4277
+ "type": "option"
4266
4278
  },
4267
- "after": {
4268
- "description": "Move after this epic ID",
4269
- "exclusive": [
4270
- "first",
4271
- "last",
4272
- "before"
4273
- ],
4274
- "name": "after",
4279
+ "description": {
4280
+ "char": "d",
4281
+ "description": "Epic description",
4282
+ "name": "description",
4275
4283
  "hasDynamicHelp": false,
4276
4284
  "multiple": false,
4277
4285
  "type": "option"
4278
4286
  },
4279
- "before": {
4280
- "description": "Move before this epic ID",
4281
- "exclusive": [
4282
- "first",
4283
- "last",
4284
- "after"
4285
- ],
4286
- "name": "before",
4287
+ "spec": {
4288
+ "description": "Link to spec ID (the design spec that describes this epic)",
4289
+ "name": "spec",
4287
4290
  "hasDynamicHelp": false,
4288
4291
  "multiple": false,
4289
4292
  "type": "option"
4293
+ },
4294
+ "dry-run": {
4295
+ "description": "Validate inputs without creating epic (use with --json for structured output)",
4296
+ "name": "dry-run",
4297
+ "allowNo": false,
4298
+ "type": "boolean"
4290
4299
  }
4291
4300
  },
4292
4301
  "hasDynamicHelp": false,
4293
4302
  "hiddenAliases": [],
4294
- "id": "epic:reorder",
4303
+ "id": "epic:create",
4295
4304
  "pluginAlias": "@proletariat/cli",
4296
4305
  "pluginName": "@proletariat/cli",
4297
4306
  "pluginType": "core",
@@ -4301,22 +4310,23 @@
4301
4310
  "dist",
4302
4311
  "commands",
4303
4312
  "epic",
4304
- "reorder.js"
4313
+ "create.js"
4305
4314
  ]
4306
4315
  },
4307
- "epic:show": {
4316
+ "epic:delete": {
4308
4317
  "aliases": [],
4309
4318
  "args": {
4310
4319
  "id": {
4311
- "description": "Epic ID",
4320
+ "description": "Epic ID to delete",
4312
4321
  "name": "id",
4313
4322
  "required": false
4314
4323
  }
4315
4324
  },
4316
- "description": "View epic details and linked tickets (alias for epic view)",
4325
+ "description": "Delete an epic permanently",
4317
4326
  "examples": [
4318
4327
  "<%= config.bin %> <%= command.id %> EPIC-001",
4319
- "<%= config.bin %> <%= command.id %>"
4328
+ "<%= config.bin %> <%= command.id %> EPIC-001 --force",
4329
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
4320
4330
  ],
4321
4331
  "flags": {
4322
4332
  "project": {
@@ -4328,7 +4338,7 @@
4328
4338
  "type": "option"
4329
4339
  },
4330
4340
  "json": {
4331
- "description": "Output as JSON for AI agents/scripts",
4341
+ "description": "Output prompt configuration as JSON (for AI agents/scripts)",
4332
4342
  "name": "json",
4333
4343
  "allowNo": false,
4334
4344
  "type": "boolean"
@@ -4339,43 +4349,36 @@
4339
4349
  "name": "machine",
4340
4350
  "allowNo": false,
4341
4351
  "type": "boolean"
4352
+ },
4353
+ "force": {
4354
+ "char": "f",
4355
+ "description": "Skip confirmation prompt",
4356
+ "name": "force",
4357
+ "allowNo": false,
4358
+ "type": "boolean"
4342
4359
  }
4343
4360
  },
4344
4361
  "hasDynamicHelp": false,
4345
- "hidden": true,
4346
4362
  "hiddenAliases": [],
4347
- "id": "epic:show",
4363
+ "id": "epic:delete",
4348
4364
  "pluginAlias": "@proletariat/cli",
4349
4365
  "pluginName": "@proletariat/cli",
4350
4366
  "pluginType": "core",
4367
+ "strict": true,
4351
4368
  "isESM": true,
4352
4369
  "relativePath": [
4353
4370
  "dist",
4354
4371
  "commands",
4355
4372
  "epic",
4356
- "show.js"
4373
+ "delete.js"
4357
4374
  ]
4358
4375
  },
4359
- "epic:spec": {
4376
+ "epic": {
4360
4377
  "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)",
4378
+ "args": {},
4379
+ "description": "Interactive menu for epic operations",
4374
4380
  "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"
4381
+ "<%= config.bin %> <%= command.id %>"
4379
4382
  ],
4380
4383
  "flags": {
4381
4384
  "project": {
@@ -4398,24 +4401,11 @@
4398
4401
  "name": "machine",
4399
4402
  "allowNo": false,
4400
4403
  "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
4404
  }
4415
4405
  },
4416
4406
  "hasDynamicHelp": false,
4417
4407
  "hiddenAliases": [],
4418
- "id": "epic:spec",
4408
+ "id": "epic",
4419
4409
  "pluginAlias": "@proletariat/cli",
4420
4410
  "pluginName": "@proletariat/cli",
4421
4411
  "pluginType": "core",
@@ -4425,30 +4415,16 @@
4425
4415
  "dist",
4426
4416
  "commands",
4427
4417
  "epic",
4428
- "spec.js"
4418
+ "index.js"
4429
4419
  ]
4430
4420
  },
4431
- "epic:ticket": {
4421
+ "epic:list": {
4432
4422
  "aliases": [],
4433
- "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
4443
- }
4444
- },
4445
- "description": "Assign tickets to an epic, or link epic to a spec (parent-child)",
4423
+ "args": {},
4424
+ "description": "List all epics",
4446
4425
  "examples": [
4447
- "<%= config.bin %> <%= command.id %> EPIC-001 TKT-001 TKT-002",
4448
- "<%= config.bin %> <%= command.id %> EPIC-001",
4449
4426
  "<%= config.bin %> <%= command.id %>",
4450
- "<%= config.bin %> <%= command.id %> EPIC-001 --unlink TKT-001",
4451
- "<%= config.bin %> <%= command.id %> EPIC-001 --spec SPEC-001"
4427
+ "<%= config.bin %> <%= command.id %> --status active"
4452
4428
  ],
4453
4429
  "flags": {
4454
4430
  "project": {
@@ -4472,74 +4448,62 @@
4472
4448
  "allowNo": false,
4473
4449
  "type": "boolean"
4474
4450
  },
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": {
4451
+ "status": {
4483
4452
  "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",
4493
- "allowNo": false,
4494
- "type": "boolean"
4495
- },
4496
- "reconcile": {
4497
- "description": "How to handle spec mismatch: keep (keep ticket spec), epic (use epic spec), skip",
4498
- "name": "reconcile",
4453
+ "description": "Filter by status",
4454
+ "name": "status",
4499
4455
  "hasDynamicHelp": false,
4500
4456
  "multiple": false,
4501
4457
  "options": [
4502
- "keep",
4503
- "epic",
4504
- "skip"
4458
+ "active",
4459
+ "draft",
4460
+ "complete",
4461
+ "dropped",
4462
+ "future"
4505
4463
  ],
4506
4464
  "type": "option"
4507
- },
4508
- "inherit-spec": {
4509
- "description": "Inherit spec from epic when ticket has no spec",
4510
- "name": "inherit-spec",
4511
- "allowNo": true,
4512
- "type": "boolean"
4513
4465
  }
4514
4466
  },
4515
4467
  "hasDynamicHelp": false,
4516
4468
  "hiddenAliases": [],
4517
- "id": "epic:ticket",
4469
+ "id": "epic:list",
4518
4470
  "pluginAlias": "@proletariat/cli",
4519
4471
  "pluginName": "@proletariat/cli",
4520
4472
  "pluginType": "core",
4521
- "strict": false,
4473
+ "strict": true,
4522
4474
  "isESM": true,
4523
4475
  "relativePath": [
4524
4476
  "dist",
4525
4477
  "commands",
4526
4478
  "epic",
4527
- "ticket.js"
4479
+ "list.js"
4528
4480
  ]
4529
4481
  },
4530
- "epic:view": {
4482
+ "epic:move": {
4531
4483
  "aliases": [],
4532
4484
  "args": {
4533
4485
  "id": {
4534
4486
  "description": "Epic ID",
4535
4487
  "name": "id",
4536
4488
  "required": false
4489
+ },
4490
+ "status": {
4491
+ "description": "Target status",
4492
+ "name": "status",
4493
+ "options": [
4494
+ "active",
4495
+ "draft",
4496
+ "complete",
4497
+ "dropped",
4498
+ "future"
4499
+ ],
4500
+ "required": false
4537
4501
  }
4538
4502
  },
4539
- "description": "View epic details and linked tickets",
4503
+ "description": "Move epic between status folders",
4540
4504
  "examples": [
4541
- "<%= config.bin %> <%= command.id %> EPIC-001",
4542
- "<%= config.bin %> <%= command.id %>"
4505
+ "<%= config.bin %> <%= command.id %> EPIC-002 complete",
4506
+ "<%= config.bin %> <%= command.id %> --force"
4543
4507
  ],
4544
4508
  "flags": {
4545
4509
  "project": {
@@ -4562,11 +4526,18 @@
4562
4526
  "name": "machine",
4563
4527
  "allowNo": false,
4564
4528
  "type": "boolean"
4529
+ },
4530
+ "force": {
4531
+ "char": "f",
4532
+ "description": "Skip validation checks",
4533
+ "name": "force",
4534
+ "allowNo": false,
4535
+ "type": "boolean"
4565
4536
  }
4566
4537
  },
4567
4538
  "hasDynamicHelp": false,
4568
4539
  "hiddenAliases": [],
4569
- "id": "epic:view",
4540
+ "id": "epic:move",
4570
4541
  "pluginAlias": "@proletariat/cli",
4571
4542
  "pluginName": "@proletariat/cli",
4572
4543
  "pluginType": "core",
@@ -4576,18 +4547,32 @@
4576
4547
  "dist",
4577
4548
  "commands",
4578
4549
  "epic",
4579
- "view.js"
4550
+ "move.js"
4580
4551
  ]
4581
4552
  },
4582
- "feedback": {
4553
+ "epic:progress": {
4583
4554
  "aliases": [],
4584
- "args": {},
4585
- "description": "Interactive menu for feedback and issue operations",
4555
+ "args": {
4556
+ "id": {
4557
+ "description": "Epic ID",
4558
+ "name": "id",
4559
+ "required": false
4560
+ }
4561
+ },
4562
+ "description": "Show epic completion progress",
4586
4563
  "examples": [
4587
- "<%= config.bin %> <%= command.id %>",
4588
- "<%= config.bin %> <%= command.id %> --action submit"
4564
+ "<%= config.bin %> <%= command.id %> EPIC-001",
4565
+ "<%= config.bin %> <%= command.id %> --all"
4589
4566
  ],
4590
4567
  "flags": {
4568
+ "project": {
4569
+ "char": "P",
4570
+ "description": "Project ID (uses first project if only one exists)",
4571
+ "name": "project",
4572
+ "hasDynamicHelp": false,
4573
+ "multiple": false,
4574
+ "type": "option"
4575
+ },
4591
4576
  "json": {
4592
4577
  "description": "Output as JSON for AI agents/scripts",
4593
4578
  "name": "json",
@@ -4601,47 +4586,59 @@
4601
4586
  "allowNo": false,
4602
4587
  "type": "boolean"
4603
4588
  },
4604
- "action": {
4589
+ "all": {
4605
4590
  "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"
4591
+ "description": "Show progress for all epics",
4592
+ "name": "all",
4593
+ "allowNo": false,
4594
+ "type": "boolean"
4616
4595
  }
4617
4596
  },
4618
4597
  "hasDynamicHelp": false,
4619
4598
  "hiddenAliases": [],
4620
- "id": "feedback",
4599
+ "id": "epic:progress",
4621
4600
  "pluginAlias": "@proletariat/cli",
4622
4601
  "pluginName": "@proletariat/cli",
4623
4602
  "pluginType": "core",
4624
4603
  "strict": true,
4625
- "enableJsonFlag": false,
4626
4604
  "isESM": true,
4627
4605
  "relativePath": [
4628
4606
  "dist",
4629
4607
  "commands",
4630
- "feedback",
4631
- "index.js"
4608
+ "epic",
4609
+ "progress.js"
4632
4610
  ]
4633
4611
  },
4634
- "feedback:list": {
4612
+ "epic:project": {
4635
4613
  "aliases": [],
4636
- "args": {},
4637
- "description": "List recent feedback issues from the repository",
4614
+ "args": {
4615
+ "epicId": {
4616
+ "description": "Epic ID",
4617
+ "name": "epicId",
4618
+ "required": false
4619
+ },
4620
+ "targetProject": {
4621
+ "description": "Target project ID",
4622
+ "name": "targetProject",
4623
+ "required": false
4624
+ }
4625
+ },
4626
+ "description": "Move an epic to a different project (optionally with its tickets)",
4638
4627
  "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"
4628
+ "<%= config.bin %> <%= command.id %> EPIC-001 new-project",
4629
+ "<%= config.bin %> <%= command.id %> EPIC-001 new-project --with-tickets",
4630
+ "<%= config.bin %> <%= command.id %> EPIC-001",
4631
+ "<%= config.bin %> <%= command.id %>"
4643
4632
  ],
4644
4633
  "flags": {
4634
+ "project": {
4635
+ "char": "P",
4636
+ "description": "Project ID (uses first project if only one exists)",
4637
+ "name": "project",
4638
+ "hasDynamicHelp": false,
4639
+ "multiple": false,
4640
+ "type": "option"
4641
+ },
4645
4642
  "json": {
4646
4643
  "description": "Output as JSON for AI agents/scripts",
4647
4644
  "name": "json",
@@ -4655,69 +4652,58 @@
4655
4652
  "allowNo": false,
4656
4653
  "type": "boolean"
4657
4654
  },
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
- }
4694
- },
4695
- "hasDynamicHelp": false,
4696
- "hiddenAliases": [],
4697
- "id": "feedback:list",
4655
+ "with-tickets": {
4656
+ "char": "t",
4657
+ "description": "Also move all tickets assigned to this epic",
4658
+ "name": "with-tickets",
4659
+ "allowNo": false,
4660
+ "type": "boolean"
4661
+ }
4662
+ },
4663
+ "hasDynamicHelp": false,
4664
+ "hiddenAliases": [],
4665
+ "id": "epic:project",
4698
4666
  "pluginAlias": "@proletariat/cli",
4699
4667
  "pluginName": "@proletariat/cli",
4700
4668
  "pluginType": "core",
4701
4669
  "strict": true,
4702
- "enableJsonFlag": false,
4703
4670
  "isESM": true,
4704
4671
  "relativePath": [
4705
4672
  "dist",
4706
4673
  "commands",
4707
- "feedback",
4708
- "list.js"
4674
+ "epic",
4675
+ "project.js"
4709
4676
  ]
4710
4677
  },
4711
- "feedback:submit": {
4678
+ "epic:reorder": {
4712
4679
  "aliases": [],
4713
- "args": {},
4714
- "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
4680
+ "args": {
4681
+ "id": {
4682
+ "description": "Epic ID to reorder",
4683
+ "name": "id",
4684
+ "required": false
4685
+ },
4686
+ "position": {
4687
+ "description": "New position (1-based rank)",
4688
+ "name": "position",
4689
+ "required": false
4690
+ }
4691
+ },
4692
+ "description": "Reorder epic priority/rank",
4715
4693
  "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"
4694
+ "<%= config.bin %> <%= command.id %> EPIC-001 1",
4695
+ "<%= config.bin %> <%= command.id %> EPIC-003 --first",
4696
+ "<%= config.bin %> <%= command.id %> EPIC-002 --after EPIC-001"
4719
4697
  ],
4720
4698
  "flags": {
4699
+ "project": {
4700
+ "char": "P",
4701
+ "description": "Project ID (uses first project if only one exists)",
4702
+ "name": "project",
4703
+ "hasDynamicHelp": false,
4704
+ "multiple": false,
4705
+ "type": "option"
4706
+ },
4721
4707
  "json": {
4722
4708
  "description": "Output as JSON for AI agents/scripts",
4723
4709
  "name": "json",
@@ -4731,39 +4717,56 @@
4731
4717
  "allowNo": false,
4732
4718
  "type": "boolean"
4733
4719
  },
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"
4720
+ "first": {
4721
+ "description": "Move to first position (highest priority)",
4722
+ "exclusive": [
4723
+ "last",
4724
+ "after",
4725
+ "before"
4726
+ ],
4727
+ "name": "first",
4728
+ "allowNo": false,
4729
+ "type": "boolean"
4741
4730
  },
4742
- "body": {
4743
- "char": "b",
4744
- "description": "Issue description [required for non-interactive]",
4745
- "name": "body",
4731
+ "last": {
4732
+ "description": "Move to last position (lowest priority)",
4733
+ "exclusive": [
4734
+ "first",
4735
+ "after",
4736
+ "before"
4737
+ ],
4738
+ "name": "last",
4739
+ "allowNo": false,
4740
+ "type": "boolean"
4741
+ },
4742
+ "after": {
4743
+ "description": "Move after this epic ID",
4744
+ "exclusive": [
4745
+ "first",
4746
+ "last",
4747
+ "before"
4748
+ ],
4749
+ "name": "after",
4746
4750
  "hasDynamicHelp": false,
4747
4751
  "multiple": false,
4748
4752
  "type": "option"
4749
4753
  },
4750
- "category": {
4751
- "char": "c",
4752
- "description": "Feedback category",
4753
- "name": "category",
4754
+ "before": {
4755
+ "description": "Move before this epic ID",
4756
+ "exclusive": [
4757
+ "first",
4758
+ "last",
4759
+ "after"
4760
+ ],
4761
+ "name": "before",
4754
4762
  "hasDynamicHelp": false,
4755
4763
  "multiple": false,
4756
- "options": [
4757
- "bug",
4758
- "feature",
4759
- "general"
4760
- ],
4761
4764
  "type": "option"
4762
4765
  }
4763
4766
  },
4764
4767
  "hasDynamicHelp": false,
4765
4768
  "hiddenAliases": [],
4766
- "id": "feedback:submit",
4769
+ "id": "epic:reorder",
4767
4770
  "pluginAlias": "@proletariat/cli",
4768
4771
  "pluginName": "@proletariat/cli",
4769
4772
  "pluginType": "core",
@@ -4772,25 +4775,33 @@
4772
4775
  "relativePath": [
4773
4776
  "dist",
4774
4777
  "commands",
4775
- "feedback",
4776
- "submit.js"
4778
+ "epic",
4779
+ "reorder.js"
4777
4780
  ]
4778
4781
  },
4779
- "feedback:view": {
4782
+ "epic:show": {
4780
4783
  "aliases": [],
4781
4784
  "args": {
4782
- "number": {
4783
- "description": "Issue number to view",
4784
- "name": "number",
4785
- "required": true
4785
+ "id": {
4786
+ "description": "Epic ID",
4787
+ "name": "id",
4788
+ "required": false
4786
4789
  }
4787
4790
  },
4788
- "description": "View details of a specific feedback issue",
4791
+ "description": "View epic details and linked tickets (alias for epic view)",
4789
4792
  "examples": [
4790
- "<%= config.bin %> <%= command.id %> 123",
4791
- "<%= config.bin %> <%= command.id %> 123 --json"
4793
+ "<%= config.bin %> <%= command.id %> EPIC-001",
4794
+ "<%= config.bin %> <%= command.id %>"
4792
4795
  ],
4793
4796
  "flags": {
4797
+ "project": {
4798
+ "char": "P",
4799
+ "description": "Project ID (uses first project if only one exists)",
4800
+ "name": "project",
4801
+ "hasDynamicHelp": false,
4802
+ "multiple": false,
4803
+ "type": "option"
4804
+ },
4794
4805
  "json": {
4795
4806
  "description": "Output as JSON for AI agents/scripts",
4796
4807
  "name": "json",
@@ -4806,33 +4817,40 @@
4806
4817
  }
4807
4818
  },
4808
4819
  "hasDynamicHelp": false,
4820
+ "hidden": true,
4809
4821
  "hiddenAliases": [],
4810
- "id": "feedback:view",
4822
+ "id": "epic:show",
4811
4823
  "pluginAlias": "@proletariat/cli",
4812
4824
  "pluginName": "@proletariat/cli",
4813
4825
  "pluginType": "core",
4814
- "strict": true,
4815
- "enableJsonFlag": false,
4816
4826
  "isESM": true,
4817
4827
  "relativePath": [
4818
4828
  "dist",
4819
4829
  "commands",
4820
- "feedback",
4821
- "view.js"
4830
+ "epic",
4831
+ "show.js"
4822
4832
  ]
4823
4833
  },
4824
- "execution:config": {
4834
+ "epic:spec": {
4825
4835
  "aliases": [],
4826
- "args": {},
4827
- "description": "View and update execution preferences",
4836
+ "args": {
4837
+ "epicId": {
4838
+ "description": "Epic ID",
4839
+ "name": "epicId",
4840
+ "required": false
4841
+ },
4842
+ "specId": {
4843
+ "description": "Spec ID to link",
4844
+ "name": "specId",
4845
+ "required": false
4846
+ }
4847
+ },
4848
+ "description": "Assign a spec to an epic (design document)",
4828
4849
  "examples": [
4829
- "<%= config.bin %> execution config # Interactive menu",
4830
- "<%= config.bin %> execution config --json # Output current config as JSON",
4831
- "<%= config.bin %> execution config --list # Show all settings",
4832
- "<%= config.bin %> execution config --set defaultEnvironment host",
4833
- "<%= config.bin %> execution config --set outputMode interactive",
4834
- "<%= config.bin %> execution config --set permissionMode safe",
4835
- "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
4850
+ "<%= config.bin %> <%= command.id %> EPIC-001 SPEC-001",
4851
+ "<%= config.bin %> <%= command.id %> EPIC-001",
4852
+ "<%= config.bin %> <%= command.id %>",
4853
+ "<%= config.bin %> <%= command.id %> EPIC-001 --unlink"
4836
4854
  ],
4837
4855
  "flags": {
4838
4856
  "project": {
@@ -4856,32 +4874,23 @@
4856
4874
  "allowNo": false,
4857
4875
  "type": "boolean"
4858
4876
  },
4859
- "set": {
4860
- "char": "s",
4861
- "description": "Set a config value (format: key value)",
4862
- "name": "set",
4863
- "hasDynamicHelp": false,
4864
- "multiple": true,
4865
- "type": "option"
4866
- },
4867
- "list": {
4868
- "char": "l",
4869
- "description": "List all configuration values",
4870
- "name": "list",
4877
+ "unlink": {
4878
+ "char": "u",
4879
+ "description": "Remove spec from epic instead of adding",
4880
+ "name": "unlink",
4871
4881
  "allowNo": false,
4872
4882
  "type": "boolean"
4873
4883
  },
4874
- "setting": {
4875
- "description": "Navigate to a specific setting prompt (for agent navigation)",
4876
- "name": "setting",
4877
- "hasDynamicHelp": false,
4878
- "multiple": false,
4879
- "type": "option"
4884
+ "align-tickets": {
4885
+ "description": "Also update all tickets in the epic to use the same spec",
4886
+ "name": "align-tickets",
4887
+ "allowNo": false,
4888
+ "type": "boolean"
4880
4889
  }
4881
4890
  },
4882
4891
  "hasDynamicHelp": false,
4883
4892
  "hiddenAliases": [],
4884
- "id": "execution:config",
4893
+ "id": "epic:spec",
4885
4894
  "pluginAlias": "@proletariat/cli",
4886
4895
  "pluginName": "@proletariat/cli",
4887
4896
  "pluginType": "core",
@@ -4890,19 +4899,31 @@
4890
4899
  "relativePath": [
4891
4900
  "dist",
4892
4901
  "commands",
4893
- "execution",
4894
- "config.js"
4902
+ "epic",
4903
+ "spec.js"
4895
4904
  ]
4896
4905
  },
4897
- "execution": {
4906
+ "epic:ticket": {
4898
4907
  "aliases": [],
4899
- "args": {},
4900
- "description": "Single execution operations (view, logs, stop)",
4908
+ "args": {
4909
+ "id": {
4910
+ "description": "Epic ID",
4911
+ "name": "id",
4912
+ "required": false
4913
+ },
4914
+ "tickets": {
4915
+ "description": "Ticket IDs to link (space-separated)",
4916
+ "name": "tickets",
4917
+ "required": false
4918
+ }
4919
+ },
4920
+ "description": "Assign tickets to an epic, or link epic to a spec (parent-child)",
4901
4921
  "examples": [
4922
+ "<%= config.bin %> <%= command.id %> EPIC-001 TKT-001 TKT-002",
4923
+ "<%= config.bin %> <%= command.id %> EPIC-001",
4902
4924
  "<%= config.bin %> <%= command.id %>",
4903
- "<%= config.bin %> <%= command.id %> view WORK-001",
4904
- "<%= config.bin %> <%= command.id %> logs WORK-001",
4905
- "<%= config.bin %> <%= command.id %> stop WORK-001"
4925
+ "<%= config.bin %> <%= command.id %> EPIC-001 --unlink TKT-001",
4926
+ "<%= config.bin %> <%= command.id %> EPIC-001 --spec SPEC-001"
4906
4927
  ],
4907
4928
  "flags": {
4908
4929
  "project": {
@@ -4925,40 +4946,75 @@
4925
4946
  "name": "machine",
4926
4947
  "allowNo": false,
4927
4948
  "type": "boolean"
4949
+ },
4950
+ "unlink": {
4951
+ "char": "u",
4952
+ "description": "Remove tickets from this epic instead of adding",
4953
+ "name": "unlink",
4954
+ "allowNo": false,
4955
+ "type": "boolean"
4956
+ },
4957
+ "spec": {
4958
+ "char": "s",
4959
+ "description": "Link epic to a spec (design document)",
4960
+ "name": "spec",
4961
+ "hasDynamicHelp": false,
4962
+ "multiple": false,
4963
+ "type": "option"
4964
+ },
4965
+ "unlink-spec": {
4966
+ "description": "Remove spec link from epic",
4967
+ "name": "unlink-spec",
4968
+ "allowNo": false,
4969
+ "type": "boolean"
4970
+ },
4971
+ "reconcile": {
4972
+ "description": "How to handle spec mismatch: keep (keep ticket spec), epic (use epic spec), skip",
4973
+ "name": "reconcile",
4974
+ "hasDynamicHelp": false,
4975
+ "multiple": false,
4976
+ "options": [
4977
+ "keep",
4978
+ "epic",
4979
+ "skip"
4980
+ ],
4981
+ "type": "option"
4982
+ },
4983
+ "inherit-spec": {
4984
+ "description": "Inherit spec from epic when ticket has no spec",
4985
+ "name": "inherit-spec",
4986
+ "allowNo": true,
4987
+ "type": "boolean"
4928
4988
  }
4929
4989
  },
4930
4990
  "hasDynamicHelp": false,
4931
4991
  "hiddenAliases": [],
4932
- "id": "execution",
4992
+ "id": "epic:ticket",
4933
4993
  "pluginAlias": "@proletariat/cli",
4934
4994
  "pluginName": "@proletariat/cli",
4935
4995
  "pluginType": "core",
4936
- "strict": true,
4996
+ "strict": false,
4937
4997
  "isESM": true,
4938
4998
  "relativePath": [
4939
4999
  "dist",
4940
5000
  "commands",
4941
- "execution",
4942
- "index.js"
5001
+ "epic",
5002
+ "ticket.js"
4943
5003
  ]
4944
5004
  },
4945
- "execution:kill": {
5005
+ "epic:view": {
4946
5006
  "aliases": [],
4947
5007
  "args": {
4948
5008
  "id": {
4949
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
5009
+ "description": "Epic ID",
4950
5010
  "name": "id",
4951
5011
  "required": false
4952
5012
  }
4953
5013
  },
4954
- "description": "Stop running execution(s) (alias for \"execution stop\")",
5014
+ "description": "View epic details and linked tickets",
4955
5015
  "examples": [
4956
- "<%= config.bin %> <%= command.id %> WORK-001",
4957
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
4958
- "<%= config.bin %> <%= command.id %> # Interactive mode",
4959
- "<%= config.bin %> <%= command.id %> --all",
4960
- "<%= config.bin %> <%= command.id %> --all --force",
4961
- "<%= config.bin %> <%= command.id %> --agent altman"
5016
+ "<%= config.bin %> <%= command.id %> EPIC-001",
5017
+ "<%= config.bin %> <%= command.id %>"
4962
5018
  ],
4963
5019
  "flags": {
4964
5020
  "project": {
@@ -4981,62 +5037,32 @@
4981
5037
  "name": "machine",
4982
5038
  "allowNo": false,
4983
5039
  "type": "boolean"
4984
- },
4985
- "force": {
4986
- "char": "f",
4987
- "description": "Force kill (SIGKILL instead of SIGTERM)",
4988
- "name": "force",
4989
- "allowNo": false,
4990
- "type": "boolean"
4991
- },
4992
- "all": {
4993
- "description": "Stop all running executions",
4994
- "name": "all",
4995
- "allowNo": false,
4996
- "type": "boolean"
4997
- },
4998
- "agent": {
4999
- "char": "a",
5000
- "description": "Stop all executions for a specific agent",
5001
- "name": "agent",
5002
- "hasDynamicHelp": false,
5003
- "multiple": false,
5004
- "type": "option"
5005
5040
  }
5006
5041
  },
5007
5042
  "hasDynamicHelp": false,
5008
5043
  "hiddenAliases": [],
5009
- "id": "execution:kill",
5044
+ "id": "epic:view",
5010
5045
  "pluginAlias": "@proletariat/cli",
5011
5046
  "pluginName": "@proletariat/cli",
5012
5047
  "pluginType": "core",
5048
+ "strict": true,
5013
5049
  "isESM": true,
5014
5050
  "relativePath": [
5015
5051
  "dist",
5016
5052
  "commands",
5017
- "execution",
5018
- "kill.js"
5053
+ "epic",
5054
+ "view.js"
5019
5055
  ]
5020
5056
  },
5021
- "execution:list": {
5057
+ "feedback": {
5022
5058
  "aliases": [],
5023
5059
  "args": {},
5024
- "description": "List running and recent executions",
5060
+ "description": "Interactive menu for feedback and issue operations",
5025
5061
  "examples": [
5026
5062
  "<%= config.bin %> <%= command.id %>",
5027
- "<%= config.bin %> <%= command.id %> --status running",
5028
- "<%= config.bin %> <%= command.id %> --agent alice",
5029
- "<%= config.bin %> <%= command.id %> --limit 50"
5063
+ "<%= config.bin %> <%= command.id %> --action submit"
5030
5064
  ],
5031
5065
  "flags": {
5032
- "project": {
5033
- "char": "P",
5034
- "description": "Project ID (uses first project if only one exists)",
5035
- "name": "project",
5036
- "hasDynamicHelp": false,
5037
- "multiple": false,
5038
- "type": "option"
5039
- },
5040
5066
  "json": {
5041
5067
  "description": "Output as JSON for AI agents/scripts",
5042
5068
  "name": "json",
@@ -5048,81 +5074,49 @@
5048
5074
  "description": "Output as JSON for AI agents/scripts",
5049
5075
  "name": "machine",
5050
5076
  "allowNo": false,
5051
- "type": "boolean"
5052
- },
5053
- "status": {
5054
- "char": "s",
5055
- "description": "Filter by status",
5056
- "name": "status",
5057
- "hasDynamicHelp": false,
5058
- "multiple": false,
5059
- "options": [
5060
- "starting",
5061
- "running",
5062
- "completed",
5063
- "failed",
5064
- "stopped"
5065
- ],
5066
- "type": "option"
5067
- },
5068
- "agent": {
5069
- "char": "a",
5070
- "description": "Filter by agent name",
5071
- "name": "agent",
5072
- "hasDynamicHelp": false,
5073
- "multiple": false,
5074
- "type": "option"
5075
- },
5076
- "limit": {
5077
- "char": "l",
5078
- "description": "Number of results",
5079
- "name": "limit",
5080
- "default": 20,
5077
+ "type": "boolean"
5078
+ },
5079
+ "action": {
5080
+ "char": "a",
5081
+ "description": "Action to perform (submit, list, view)",
5082
+ "name": "action",
5081
5083
  "hasDynamicHelp": false,
5082
5084
  "multiple": false,
5085
+ "options": [
5086
+ "submit",
5087
+ "list",
5088
+ "view"
5089
+ ],
5083
5090
  "type": "option"
5084
5091
  }
5085
5092
  },
5086
5093
  "hasDynamicHelp": false,
5087
5094
  "hiddenAliases": [],
5088
- "id": "execution:list",
5095
+ "id": "feedback",
5089
5096
  "pluginAlias": "@proletariat/cli",
5090
5097
  "pluginName": "@proletariat/cli",
5091
5098
  "pluginType": "core",
5092
5099
  "strict": true,
5100
+ "enableJsonFlag": false,
5093
5101
  "isESM": true,
5094
5102
  "relativePath": [
5095
5103
  "dist",
5096
5104
  "commands",
5097
- "execution",
5098
- "list.js"
5105
+ "feedback",
5106
+ "index.js"
5099
5107
  ]
5100
5108
  },
5101
- "execution:logs": {
5109
+ "feedback:list": {
5102
5110
  "aliases": [],
5103
- "args": {
5104
- "id": {
5105
- "description": "Execution ID - prompts if not provided",
5106
- "name": "id",
5107
- "required": false
5108
- }
5109
- },
5110
- "description": "View execution logs",
5111
+ "args": {},
5112
+ "description": "List recent feedback issues from the repository",
5111
5113
  "examples": [
5112
- "<%= config.bin %> <%= command.id %> WORK-001",
5113
- "<%= config.bin %> <%= command.id %> WORK-001 --follow",
5114
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
5115
- "<%= config.bin %> <%= command.id %> # Interactive mode"
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"
5116
5118
  ],
5117
5119
  "flags": {
5118
- "project": {
5119
- "char": "P",
5120
- "description": "Project ID (uses first project if only one exists)",
5121
- "name": "project",
5122
- "hasDynamicHelp": false,
5123
- "multiple": false,
5124
- "type": "option"
5125
- },
5126
5120
  "json": {
5127
5121
  "description": "Output as JSON for AI agents/scripts",
5128
5122
  "name": "json",
@@ -5136,17 +5130,38 @@
5136
5130
  "allowNo": false,
5137
5131
  "type": "boolean"
5138
5132
  },
5139
- "follow": {
5140
- "char": "f",
5141
- "description": "Stream logs in real-time",
5142
- "name": "follow",
5143
- "allowNo": false,
5144
- "type": "boolean"
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
5145
  },
5146
- "tail": {
5147
- "char": "n",
5148
- "description": "Show last n lines",
5149
- "name": "tail",
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,
5150
5165
  "hasDynamicHelp": false,
5151
5166
  "multiple": false,
5152
5167
  "type": "option"
@@ -5154,46 +5169,30 @@
5154
5169
  },
5155
5170
  "hasDynamicHelp": false,
5156
5171
  "hiddenAliases": [],
5157
- "id": "execution:logs",
5172
+ "id": "feedback:list",
5158
5173
  "pluginAlias": "@proletariat/cli",
5159
5174
  "pluginName": "@proletariat/cli",
5160
5175
  "pluginType": "core",
5161
5176
  "strict": true,
5177
+ "enableJsonFlag": false,
5162
5178
  "isESM": true,
5163
5179
  "relativePath": [
5164
5180
  "dist",
5165
5181
  "commands",
5166
- "execution",
5167
- "logs.js"
5182
+ "feedback",
5183
+ "list.js"
5168
5184
  ]
5169
5185
  },
5170
- "execution:stop": {
5186
+ "feedback:submit": {
5171
5187
  "aliases": [],
5172
- "args": {
5173
- "id": {
5174
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
5175
- "name": "id",
5176
- "required": false
5177
- }
5178
- },
5179
- "description": "Stop running execution(s)",
5188
+ "args": {},
5189
+ "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
5180
5190
  "examples": [
5181
- "<%= config.bin %> <%= command.id %> WORK-001",
5182
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
5183
- "<%= config.bin %> <%= command.id %> # Interactive mode",
5184
- "<%= config.bin %> <%= command.id %> --all",
5185
- "<%= config.bin %> <%= command.id %> --all --force",
5186
- "<%= config.bin %> <%= command.id %> --agent altman"
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"
5187
5194
  ],
5188
5195
  "flags": {
5189
- "project": {
5190
- "char": "P",
5191
- "description": "Project ID (uses first project if only one exists)",
5192
- "name": "project",
5193
- "hasDynamicHelp": false,
5194
- "multiple": false,
5195
- "type": "option"
5196
- },
5197
5196
  "json": {
5198
5197
  "description": "Output as JSON for AI agents/scripts",
5199
5198
  "name": "json",
@@ -5207,31 +5206,39 @@
5207
5206
  "allowNo": false,
5208
5207
  "type": "boolean"
5209
5208
  },
5210
- "force": {
5211
- "char": "f",
5212
- "description": "Force kill (SIGKILL instead of SIGTERM)",
5213
- "name": "force",
5214
- "allowNo": false,
5215
- "type": "boolean"
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
  },
@@ -6203,15 +6203,98 @@
6203
6203
  },
6204
6204
  "description": "Remove a link (dependency) between two entities",
6205
6205
  "examples": [
6206
- "<%= config.bin %> <%= command.id %> TKT-001 TKT-002 # Remove link between tickets",
6207
- "<%= config.bin %> <%= command.id %> SPEC-001 SPEC-002 # Remove link between specs",
6208
- "<%= config.bin %> <%= command.id %> EPIC-001 EPIC-002 # Remove link between epics"
6206
+ "<%= config.bin %> <%= command.id %> TKT-001 TKT-002 # Remove link between tickets",
6207
+ "<%= config.bin %> <%= command.id %> SPEC-001 SPEC-002 # Remove link between specs",
6208
+ "<%= config.bin %> <%= command.id %> EPIC-001 EPIC-002 # Remove link between epics"
6209
+ ],
6210
+ "flags": {
6211
+ "project": {
6212
+ "char": "P",
6213
+ "description": "Project ID (uses first project if only one exists)",
6214
+ "name": "project",
6215
+ "hasDynamicHelp": false,
6216
+ "multiple": false,
6217
+ "type": "option"
6218
+ },
6219
+ "json": {
6220
+ "description": "Output as JSON for AI agents/scripts",
6221
+ "name": "json",
6222
+ "allowNo": false,
6223
+ "type": "boolean"
6224
+ },
6225
+ "machine": {
6226
+ "char": "m",
6227
+ "description": "Output as JSON for AI agents/scripts",
6228
+ "name": "machine",
6229
+ "allowNo": false,
6230
+ "type": "boolean"
6231
+ },
6232
+ "type": {
6233
+ "char": "t",
6234
+ "description": "Link type to remove (if not specified, removes any link)",
6235
+ "name": "type",
6236
+ "hasDynamicHelp": false,
6237
+ "multiple": false,
6238
+ "options": [
6239
+ "blocks",
6240
+ "relates",
6241
+ "duplicates",
6242
+ "depends"
6243
+ ],
6244
+ "type": "option"
6245
+ }
6246
+ },
6247
+ "hasDynamicHelp": false,
6248
+ "hiddenAliases": [],
6249
+ "id": "link:remove",
6250
+ "pluginAlias": "@proletariat/cli",
6251
+ "pluginName": "@proletariat/cli",
6252
+ "pluginType": "core",
6253
+ "strict": true,
6254
+ "isESM": true,
6255
+ "relativePath": [
6256
+ "dist",
6257
+ "commands",
6258
+ "link",
6259
+ "remove.js"
6260
+ ]
6261
+ },
6262
+ "pmo:init": {
6263
+ "aliases": [],
6264
+ "args": {},
6265
+ "description": "Initialize PMO (Project Management Org) in current directory or HQ",
6266
+ "examples": [
6267
+ "<%= config.bin %> <%= command.id %>",
6268
+ "<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool",
6269
+ "<%= config.bin %> <%= command.id %> --location separate --template linear"
6209
6270
  ],
6210
6271
  "flags": {
6211
- "project": {
6212
- "char": "P",
6213
- "description": "Project ID (uses first project if only one exists)",
6214
- "name": "project",
6272
+ "location": {
6273
+ "char": "l",
6274
+ "description": "PMO location (separate or repo:name)",
6275
+ "name": "location",
6276
+ "hasDynamicHelp": false,
6277
+ "multiple": false,
6278
+ "type": "option"
6279
+ },
6280
+ "template": {
6281
+ "char": "t",
6282
+ "description": "Board template",
6283
+ "name": "template",
6284
+ "hasDynamicHelp": false,
6285
+ "multiple": false,
6286
+ "options": [
6287
+ "kanban",
6288
+ "linear",
6289
+ "5-tool-founder",
6290
+ "custom"
6291
+ ],
6292
+ "type": "option"
6293
+ },
6294
+ "name": {
6295
+ "char": "n",
6296
+ "description": "Board name",
6297
+ "name": "name",
6215
6298
  "hasDynamicHelp": false,
6216
6299
  "multiple": false,
6217
6300
  "type": "option"
@@ -6229,24 +6312,30 @@
6229
6312
  "allowNo": false,
6230
6313
  "type": "boolean"
6231
6314
  },
6232
- "type": {
6233
- "char": "t",
6234
- "description": "Link type to remove (if not specified, removes any link)",
6235
- "name": "type",
6315
+ "action": {
6316
+ "description": "Action for existing PMO (cancel or reinitialize)",
6317
+ "hidden": true,
6318
+ "name": "action",
6236
6319
  "hasDynamicHelp": false,
6237
6320
  "multiple": false,
6238
6321
  "options": [
6239
- "blocks",
6240
- "relates",
6241
- "duplicates",
6242
- "depends"
6322
+ "cancel",
6323
+ "reinitialize"
6243
6324
  ],
6244
6325
  "type": "option"
6326
+ },
6327
+ "confirmation": {
6328
+ "description": "Confirmation text for destructive operations",
6329
+ "hidden": true,
6330
+ "name": "confirmation",
6331
+ "hasDynamicHelp": false,
6332
+ "multiple": false,
6333
+ "type": "option"
6245
6334
  }
6246
6335
  },
6247
6336
  "hasDynamicHelp": false,
6248
6337
  "hiddenAliases": [],
6249
- "id": "link:remove",
6338
+ "id": "pmo:init",
6250
6339
  "pluginAlias": "@proletariat/cli",
6251
6340
  "pluginName": "@proletariat/cli",
6252
6341
  "pluginType": "core",
@@ -6255,8 +6344,8 @@
6255
6344
  "relativePath": [
6256
6345
  "dist",
6257
6346
  "commands",
6258
- "link",
6259
- "remove.js"
6347
+ "pmo",
6348
+ "init.js"
6260
6349
  ]
6261
6350
  },
6262
6351
  "orchestrator:attach": {
@@ -6998,42 +7087,195 @@
6998
7087
  "update.js"
6999
7088
  ]
7000
7089
  },
7001
- "pmo:init": {
7090
+ "priority:add": {
7091
+ "aliases": [],
7092
+ "args": {
7093
+ "value": {
7094
+ "description": "Priority value to add",
7095
+ "name": "value",
7096
+ "required": true
7097
+ }
7098
+ },
7099
+ "description": "Add a priority value to the workspace scale",
7100
+ "examples": [
7101
+ "<%= config.bin %> <%= command.id %> Critical",
7102
+ "<%= config.bin %> <%= command.id %> \"Must Have\" --position 0",
7103
+ "<%= config.bin %> <%= command.id %> P4 --after P3"
7104
+ ],
7105
+ "flags": {
7106
+ "project": {
7107
+ "char": "P",
7108
+ "description": "Project ID (uses first project if only one exists)",
7109
+ "name": "project",
7110
+ "hasDynamicHelp": false,
7111
+ "multiple": false,
7112
+ "type": "option"
7113
+ },
7114
+ "json": {
7115
+ "description": "Output as JSON for AI agents/scripts",
7116
+ "name": "json",
7117
+ "allowNo": false,
7118
+ "type": "boolean"
7119
+ },
7120
+ "machine": {
7121
+ "char": "m",
7122
+ "description": "Output as JSON for AI agents/scripts",
7123
+ "name": "machine",
7124
+ "allowNo": false,
7125
+ "type": "boolean"
7126
+ },
7127
+ "position": {
7128
+ "description": "Position in the priority scale (0 = highest)",
7129
+ "name": "position",
7130
+ "hasDynamicHelp": false,
7131
+ "multiple": false,
7132
+ "type": "option"
7133
+ },
7134
+ "after": {
7135
+ "description": "Insert after this priority value",
7136
+ "exclusive": [
7137
+ "position"
7138
+ ],
7139
+ "name": "after",
7140
+ "hasDynamicHelp": false,
7141
+ "multiple": false,
7142
+ "type": "option"
7143
+ }
7144
+ },
7145
+ "hasDynamicHelp": false,
7146
+ "hiddenAliases": [],
7147
+ "id": "priority:add",
7148
+ "pluginAlias": "@proletariat/cli",
7149
+ "pluginName": "@proletariat/cli",
7150
+ "pluginType": "core",
7151
+ "strict": true,
7152
+ "isESM": true,
7153
+ "relativePath": [
7154
+ "dist",
7155
+ "commands",
7156
+ "priority",
7157
+ "add.js"
7158
+ ]
7159
+ },
7160
+ "priority:list": {
7002
7161
  "aliases": [],
7003
7162
  "args": {},
7004
- "description": "Initialize PMO (Project Management Org) in current directory or HQ",
7163
+ "description": "List the workspace priority scale",
7005
7164
  "examples": [
7006
7165
  "<%= config.bin %> <%= command.id %>",
7007
- "<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool",
7008
- "<%= config.bin %> <%= command.id %> --location separate --template linear"
7166
+ "<%= config.bin %> <%= command.id %> --json"
7009
7167
  ],
7010
7168
  "flags": {
7011
- "location": {
7012
- "char": "l",
7013
- "description": "PMO location (separate or repo:name)",
7014
- "name": "location",
7169
+ "project": {
7170
+ "char": "P",
7171
+ "description": "Project ID (uses first project if only one exists)",
7172
+ "name": "project",
7015
7173
  "hasDynamicHelp": false,
7016
7174
  "multiple": false,
7017
7175
  "type": "option"
7018
7176
  },
7019
- "template": {
7020
- "char": "t",
7021
- "description": "Board template",
7022
- "name": "template",
7177
+ "json": {
7178
+ "description": "Output as JSON for AI agents/scripts",
7179
+ "name": "json",
7180
+ "allowNo": false,
7181
+ "type": "boolean"
7182
+ },
7183
+ "machine": {
7184
+ "char": "m",
7185
+ "description": "Output as JSON for AI agents/scripts",
7186
+ "name": "machine",
7187
+ "allowNo": false,
7188
+ "type": "boolean"
7189
+ }
7190
+ },
7191
+ "hasDynamicHelp": false,
7192
+ "hiddenAliases": [],
7193
+ "id": "priority:list",
7194
+ "pluginAlias": "@proletariat/cli",
7195
+ "pluginName": "@proletariat/cli",
7196
+ "pluginType": "core",
7197
+ "strict": true,
7198
+ "isESM": true,
7199
+ "relativePath": [
7200
+ "dist",
7201
+ "commands",
7202
+ "priority",
7203
+ "list.js"
7204
+ ]
7205
+ },
7206
+ "priority:remove": {
7207
+ "aliases": [],
7208
+ "args": {
7209
+ "value": {
7210
+ "description": "Priority value to remove",
7211
+ "name": "value",
7212
+ "required": true
7213
+ }
7214
+ },
7215
+ "description": "Remove a priority value from the workspace scale",
7216
+ "examples": [
7217
+ "<%= config.bin %> <%= command.id %> P3",
7218
+ "<%= config.bin %> <%= command.id %> Low"
7219
+ ],
7220
+ "flags": {
7221
+ "project": {
7222
+ "char": "P",
7223
+ "description": "Project ID (uses first project if only one exists)",
7224
+ "name": "project",
7023
7225
  "hasDynamicHelp": false,
7024
7226
  "multiple": false,
7025
- "options": [
7026
- "kanban",
7027
- "linear",
7028
- "5-tool-founder",
7029
- "custom"
7030
- ],
7031
7227
  "type": "option"
7032
7228
  },
7033
- "name": {
7034
- "char": "n",
7035
- "description": "Board name",
7036
- "name": "name",
7229
+ "json": {
7230
+ "description": "Output as JSON for AI agents/scripts",
7231
+ "name": "json",
7232
+ "allowNo": false,
7233
+ "type": "boolean"
7234
+ },
7235
+ "machine": {
7236
+ "char": "m",
7237
+ "description": "Output as JSON for AI agents/scripts",
7238
+ "name": "machine",
7239
+ "allowNo": false,
7240
+ "type": "boolean"
7241
+ }
7242
+ },
7243
+ "hasDynamicHelp": false,
7244
+ "hiddenAliases": [],
7245
+ "id": "priority:remove",
7246
+ "pluginAlias": "@proletariat/cli",
7247
+ "pluginName": "@proletariat/cli",
7248
+ "pluginType": "core",
7249
+ "strict": true,
7250
+ "isESM": true,
7251
+ "relativePath": [
7252
+ "dist",
7253
+ "commands",
7254
+ "priority",
7255
+ "remove.js"
7256
+ ]
7257
+ },
7258
+ "priority:set": {
7259
+ "aliases": [],
7260
+ "args": {
7261
+ "priorities": {
7262
+ "description": "Priority values from highest to lowest (space-separated)",
7263
+ "name": "priorities",
7264
+ "required": false
7265
+ }
7266
+ },
7267
+ "description": "Set the workspace priority scale (replaces all existing priorities)",
7268
+ "examples": [
7269
+ "<%= config.bin %> <%= command.id %> P0 P1 P2 P3",
7270
+ "<%= config.bin %> <%= command.id %> Critical High Medium Low",
7271
+ "<%= config.bin %> <%= command.id %> Now Next Later",
7272
+ "<%= config.bin %> <%= command.id %> \"Must Have\" \"Should Have\" \"Nice to Have\""
7273
+ ],
7274
+ "flags": {
7275
+ "project": {
7276
+ "char": "P",
7277
+ "description": "Project ID (uses first project if only one exists)",
7278
+ "name": "project",
7037
7279
  "hasDynamicHelp": false,
7038
7280
  "multiple": false,
7039
7281
  "type": "option"
@@ -7050,41 +7292,21 @@
7050
7292
  "name": "machine",
7051
7293
  "allowNo": false,
7052
7294
  "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
7295
  }
7074
7296
  },
7075
7297
  "hasDynamicHelp": false,
7076
7298
  "hiddenAliases": [],
7077
- "id": "pmo:init",
7299
+ "id": "priority:set",
7078
7300
  "pluginAlias": "@proletariat/cli",
7079
7301
  "pluginName": "@proletariat/cli",
7080
7302
  "pluginType": "core",
7081
- "strict": true,
7303
+ "strict": false,
7082
7304
  "isESM": true,
7083
7305
  "relativePath": [
7084
7306
  "dist",
7085
7307
  "commands",
7086
- "pmo",
7087
- "init.js"
7308
+ "priority",
7309
+ "set.js"
7088
7310
  ]
7089
7311
  },
7090
7312
  "pr:create": {
@@ -7471,228 +7693,6 @@
7471
7693
  "status.js"
7472
7694
  ]
7473
7695
  },
7474
- "priority:add": {
7475
- "aliases": [],
7476
- "args": {
7477
- "value": {
7478
- "description": "Priority value to add",
7479
- "name": "value",
7480
- "required": true
7481
- }
7482
- },
7483
- "description": "Add a priority value to the workspace scale",
7484
- "examples": [
7485
- "<%= config.bin %> <%= command.id %> Critical",
7486
- "<%= config.bin %> <%= command.id %> \"Must Have\" --position 0",
7487
- "<%= config.bin %> <%= command.id %> P4 --after P3"
7488
- ],
7489
- "flags": {
7490
- "project": {
7491
- "char": "P",
7492
- "description": "Project ID (uses first project if only one exists)",
7493
- "name": "project",
7494
- "hasDynamicHelp": false,
7495
- "multiple": false,
7496
- "type": "option"
7497
- },
7498
- "json": {
7499
- "description": "Output as JSON for AI agents/scripts",
7500
- "name": "json",
7501
- "allowNo": false,
7502
- "type": "boolean"
7503
- },
7504
- "machine": {
7505
- "char": "m",
7506
- "description": "Output as JSON for AI agents/scripts",
7507
- "name": "machine",
7508
- "allowNo": false,
7509
- "type": "boolean"
7510
- },
7511
- "position": {
7512
- "description": "Position in the priority scale (0 = highest)",
7513
- "name": "position",
7514
- "hasDynamicHelp": false,
7515
- "multiple": false,
7516
- "type": "option"
7517
- },
7518
- "after": {
7519
- "description": "Insert after this priority value",
7520
- "exclusive": [
7521
- "position"
7522
- ],
7523
- "name": "after",
7524
- "hasDynamicHelp": false,
7525
- "multiple": false,
7526
- "type": "option"
7527
- }
7528
- },
7529
- "hasDynamicHelp": false,
7530
- "hiddenAliases": [],
7531
- "id": "priority:add",
7532
- "pluginAlias": "@proletariat/cli",
7533
- "pluginName": "@proletariat/cli",
7534
- "pluginType": "core",
7535
- "strict": true,
7536
- "isESM": true,
7537
- "relativePath": [
7538
- "dist",
7539
- "commands",
7540
- "priority",
7541
- "add.js"
7542
- ]
7543
- },
7544
- "priority:list": {
7545
- "aliases": [],
7546
- "args": {},
7547
- "description": "List the workspace priority scale",
7548
- "examples": [
7549
- "<%= config.bin %> <%= command.id %>",
7550
- "<%= config.bin %> <%= command.id %> --json"
7551
- ],
7552
- "flags": {
7553
- "project": {
7554
- "char": "P",
7555
- "description": "Project ID (uses first project if only one exists)",
7556
- "name": "project",
7557
- "hasDynamicHelp": false,
7558
- "multiple": false,
7559
- "type": "option"
7560
- },
7561
- "json": {
7562
- "description": "Output as JSON for AI agents/scripts",
7563
- "name": "json",
7564
- "allowNo": false,
7565
- "type": "boolean"
7566
- },
7567
- "machine": {
7568
- "char": "m",
7569
- "description": "Output as JSON for AI agents/scripts",
7570
- "name": "machine",
7571
- "allowNo": false,
7572
- "type": "boolean"
7573
- }
7574
- },
7575
- "hasDynamicHelp": false,
7576
- "hiddenAliases": [],
7577
- "id": "priority:list",
7578
- "pluginAlias": "@proletariat/cli",
7579
- "pluginName": "@proletariat/cli",
7580
- "pluginType": "core",
7581
- "strict": true,
7582
- "isESM": true,
7583
- "relativePath": [
7584
- "dist",
7585
- "commands",
7586
- "priority",
7587
- "list.js"
7588
- ]
7589
- },
7590
- "priority:remove": {
7591
- "aliases": [],
7592
- "args": {
7593
- "value": {
7594
- "description": "Priority value to remove",
7595
- "name": "value",
7596
- "required": true
7597
- }
7598
- },
7599
- "description": "Remove a priority value from the workspace scale",
7600
- "examples": [
7601
- "<%= config.bin %> <%= command.id %> P3",
7602
- "<%= config.bin %> <%= command.id %> Low"
7603
- ],
7604
- "flags": {
7605
- "project": {
7606
- "char": "P",
7607
- "description": "Project ID (uses first project if only one exists)",
7608
- "name": "project",
7609
- "hasDynamicHelp": false,
7610
- "multiple": false,
7611
- "type": "option"
7612
- },
7613
- "json": {
7614
- "description": "Output as JSON for AI agents/scripts",
7615
- "name": "json",
7616
- "allowNo": false,
7617
- "type": "boolean"
7618
- },
7619
- "machine": {
7620
- "char": "m",
7621
- "description": "Output as JSON for AI agents/scripts",
7622
- "name": "machine",
7623
- "allowNo": false,
7624
- "type": "boolean"
7625
- }
7626
- },
7627
- "hasDynamicHelp": false,
7628
- "hiddenAliases": [],
7629
- "id": "priority:remove",
7630
- "pluginAlias": "@proletariat/cli",
7631
- "pluginName": "@proletariat/cli",
7632
- "pluginType": "core",
7633
- "strict": true,
7634
- "isESM": true,
7635
- "relativePath": [
7636
- "dist",
7637
- "commands",
7638
- "priority",
7639
- "remove.js"
7640
- ]
7641
- },
7642
- "priority:set": {
7643
- "aliases": [],
7644
- "args": {
7645
- "priorities": {
7646
- "description": "Priority values from highest to lowest (space-separated)",
7647
- "name": "priorities",
7648
- "required": false
7649
- }
7650
- },
7651
- "description": "Set the workspace priority scale (replaces all existing priorities)",
7652
- "examples": [
7653
- "<%= config.bin %> <%= command.id %> P0 P1 P2 P3",
7654
- "<%= config.bin %> <%= command.id %> Critical High Medium Low",
7655
- "<%= config.bin %> <%= command.id %> Now Next Later",
7656
- "<%= config.bin %> <%= command.id %> \"Must Have\" \"Should Have\" \"Nice to Have\""
7657
- ],
7658
- "flags": {
7659
- "project": {
7660
- "char": "P",
7661
- "description": "Project ID (uses first project if only one exists)",
7662
- "name": "project",
7663
- "hasDynamicHelp": false,
7664
- "multiple": false,
7665
- "type": "option"
7666
- },
7667
- "json": {
7668
- "description": "Output as JSON for AI agents/scripts",
7669
- "name": "json",
7670
- "allowNo": false,
7671
- "type": "boolean"
7672
- },
7673
- "machine": {
7674
- "char": "m",
7675
- "description": "Output as JSON for AI agents/scripts",
7676
- "name": "machine",
7677
- "allowNo": false,
7678
- "type": "boolean"
7679
- }
7680
- },
7681
- "hasDynamicHelp": false,
7682
- "hiddenAliases": [],
7683
- "id": "priority:set",
7684
- "pluginAlias": "@proletariat/cli",
7685
- "pluginName": "@proletariat/cli",
7686
- "pluginType": "core",
7687
- "strict": false,
7688
- "isESM": true,
7689
- "relativePath": [
7690
- "dist",
7691
- "commands",
7692
- "priority",
7693
- "set.js"
7694
- ]
7695
- },
7696
7696
  "project:archive": {
7697
7697
  "aliases": [],
7698
7698
  "args": {
@@ -17814,5 +17814,5 @@
17814
17814
  ]
17815
17815
  }
17816
17816
  },
17817
- "version": "0.3.49"
17817
+ "version": "0.3.50"
17818
17818
  }