@proletariat/cli 0.3.101 → 0.3.102

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.
@@ -6843,99 +6843,6 @@
6843
6843
  "view.js"
6844
6844
  ]
6845
6845
  },
6846
- "run": {
6847
- "aliases": [],
6848
- "args": {
6849
- "task": {
6850
- "description": "Task description for the agent",
6851
- "name": "task",
6852
- "required": true
6853
- }
6854
- },
6855
- "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
6856
- "examples": [
6857
- "<%= config.bin %> run \"fix the login bug\"",
6858
- "<%= config.bin %> run --runner claude-code \"add dark mode\"",
6859
- "<%= config.bin %> run -d \"fix the bug\"",
6860
- "<%= config.bin %> run --runner codex \"add tests\""
6861
- ],
6862
- "flags": {
6863
- "json": {
6864
- "description": "Output as JSON for AI agents/scripts",
6865
- "name": "json",
6866
- "allowNo": false,
6867
- "type": "boolean"
6868
- },
6869
- "machine": {
6870
- "char": "m",
6871
- "description": "Output as JSON for AI agents/scripts",
6872
- "name": "machine",
6873
- "allowNo": false,
6874
- "type": "boolean"
6875
- },
6876
- "runner": {
6877
- "char": "r",
6878
- "description": "Runner to use (claude-code, codex, pi)",
6879
- "name": "runner",
6880
- "hasDynamicHelp": false,
6881
- "multiple": false,
6882
- "type": "option"
6883
- },
6884
- "detached": {
6885
- "char": "d",
6886
- "description": "Run in background (detached)",
6887
- "name": "detached",
6888
- "allowNo": false,
6889
- "type": "boolean"
6890
- },
6891
- "directory": {
6892
- "description": "Working directory (default: cwd)",
6893
- "name": "directory",
6894
- "hasDynamicHelp": false,
6895
- "multiple": false,
6896
- "type": "option"
6897
- },
6898
- "permission-mode": {
6899
- "char": "p",
6900
- "description": "Permission mode (danger: skip prompts, safe: require approval)",
6901
- "name": "permission-mode",
6902
- "hasDynamicHelp": false,
6903
- "multiple": false,
6904
- "options": [
6905
- "danger",
6906
- "safe"
6907
- ],
6908
- "type": "option"
6909
- },
6910
- "environment": {
6911
- "char": "e",
6912
- "description": "Environment to run in",
6913
- "name": "environment",
6914
- "hasDynamicHelp": false,
6915
- "multiple": false,
6916
- "options": [
6917
- "host",
6918
- "docker",
6919
- "podman"
6920
- ],
6921
- "type": "option"
6922
- }
6923
- },
6924
- "hasDynamicHelp": false,
6925
- "hiddenAliases": [],
6926
- "id": "run",
6927
- "pluginAlias": "@proletariat/cli",
6928
- "pluginName": "@proletariat/cli",
6929
- "pluginType": "core",
6930
- "strict": true,
6931
- "isESM": true,
6932
- "relativePath": [
6933
- "dist",
6934
- "commands",
6935
- "run",
6936
- "index.js"
6937
- ]
6938
- },
6939
6846
  "shortcut:connect": {
6940
6847
  "aliases": [],
6941
6848
  "args": {},
@@ -8196,6 +8103,99 @@
8196
8103
  "logs.js"
8197
8104
  ]
8198
8105
  },
8106
+ "run": {
8107
+ "aliases": [],
8108
+ "args": {
8109
+ "task": {
8110
+ "description": "Task description for the agent",
8111
+ "name": "task",
8112
+ "required": true
8113
+ }
8114
+ },
8115
+ "description": "Spawn an agent to work on a task (works anywhere, no HQ required)",
8116
+ "examples": [
8117
+ "<%= config.bin %> run \"fix the login bug\"",
8118
+ "<%= config.bin %> run --runner claude-code \"add dark mode\"",
8119
+ "<%= config.bin %> run -d \"fix the bug\"",
8120
+ "<%= config.bin %> run --runner codex \"add tests\""
8121
+ ],
8122
+ "flags": {
8123
+ "json": {
8124
+ "description": "Output as JSON for AI agents/scripts",
8125
+ "name": "json",
8126
+ "allowNo": false,
8127
+ "type": "boolean"
8128
+ },
8129
+ "machine": {
8130
+ "char": "m",
8131
+ "description": "Output as JSON for AI agents/scripts",
8132
+ "name": "machine",
8133
+ "allowNo": false,
8134
+ "type": "boolean"
8135
+ },
8136
+ "runner": {
8137
+ "char": "r",
8138
+ "description": "Runner to use (claude-code, codex, pi)",
8139
+ "name": "runner",
8140
+ "hasDynamicHelp": false,
8141
+ "multiple": false,
8142
+ "type": "option"
8143
+ },
8144
+ "detached": {
8145
+ "char": "d",
8146
+ "description": "Run in background (detached)",
8147
+ "name": "detached",
8148
+ "allowNo": false,
8149
+ "type": "boolean"
8150
+ },
8151
+ "directory": {
8152
+ "description": "Working directory (default: cwd)",
8153
+ "name": "directory",
8154
+ "hasDynamicHelp": false,
8155
+ "multiple": false,
8156
+ "type": "option"
8157
+ },
8158
+ "permission-mode": {
8159
+ "char": "p",
8160
+ "description": "Permission mode (danger: skip prompts, safe: require approval)",
8161
+ "name": "permission-mode",
8162
+ "hasDynamicHelp": false,
8163
+ "multiple": false,
8164
+ "options": [
8165
+ "danger",
8166
+ "safe"
8167
+ ],
8168
+ "type": "option"
8169
+ },
8170
+ "environment": {
8171
+ "char": "e",
8172
+ "description": "Environment to run in",
8173
+ "name": "environment",
8174
+ "hasDynamicHelp": false,
8175
+ "multiple": false,
8176
+ "options": [
8177
+ "host",
8178
+ "docker",
8179
+ "podman"
8180
+ ],
8181
+ "type": "option"
8182
+ }
8183
+ },
8184
+ "hasDynamicHelp": false,
8185
+ "hiddenAliases": [],
8186
+ "id": "run",
8187
+ "pluginAlias": "@proletariat/cli",
8188
+ "pluginName": "@proletariat/cli",
8189
+ "pluginType": "core",
8190
+ "strict": true,
8191
+ "isESM": true,
8192
+ "relativePath": [
8193
+ "dist",
8194
+ "commands",
8195
+ "run",
8196
+ "index.js"
8197
+ ]
8198
+ },
8199
8199
  "sync": {
8200
8200
  "aliases": [],
8201
8201
  "args": {},
@@ -8919,32 +8919,30 @@
8919
8919
  "set.js"
8920
8920
  ]
8921
8921
  },
8922
- "ticket:create": {
8922
+ "tools:add": {
8923
8923
  "aliases": [],
8924
- "args": {},
8925
- "description": "Create a new ticket (routes to Linear when configured, or local PMO)",
8924
+ "args": {
8925
+ "type": {
8926
+ "description": "Tool type (mcp or cli)",
8927
+ "name": "type",
8928
+ "options": [
8929
+ "mcp",
8930
+ "cli"
8931
+ ],
8932
+ "required": true
8933
+ },
8934
+ "name": {
8935
+ "description": "Tool name (unique identifier)",
8936
+ "name": "name",
8937
+ "required": true
8938
+ }
8939
+ },
8940
+ "description": "Register an MCP server or CLI tool",
8926
8941
  "examples": [
8927
- "<%= config.bin %> <%= command.id %>",
8928
- "<%= config.bin %> <%= command.id %> --title \"Fix login bug\" --column Backlog",
8929
- "<%= config.bin %> <%= command.id %> -t \"Add feature\" -c \"In Progress\" -p P1",
8930
- "<%= config.bin %> <%= command.id %> --project mobile-app -t \"New feature\"",
8931
- "<%= config.bin %> <%= command.id %> --epic EPIC-001 -t \"Implement auth flow\"",
8932
- "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file ./ticket-desc.md",
8933
- "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file - # Read from stdin",
8934
- "<%= config.bin %> <%= command.id %> --json # Output column choices as JSON",
8935
- "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating",
8936
- "<%= config.bin %> <%= command.id %> --source linear -t \"Fix bug\" --team ENG",
8937
- "<%= config.bin %> <%= command.id %> --source pmo -t \"Local task\" -c Backlog"
8942
+ "<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description \"Arcade integrations\"",
8943
+ "<%= config.bin %> tools add cli gh --command gh --detect \"which gh\" --install \"brew install gh\" --description \"GitHub CLI\""
8938
8944
  ],
8939
8945
  "flags": {
8940
- "project": {
8941
- "char": "P",
8942
- "description": "Project ID (uses first project if only one exists)",
8943
- "name": "project",
8944
- "hasDynamicHelp": false,
8945
- "multiple": false,
8946
- "type": "option"
8947
- },
8948
8946
  "json": {
8949
8947
  "description": "Output as JSON for AI agents/scripts",
8950
8948
  "name": "json",
@@ -8958,119 +8956,46 @@
8958
8956
  "allowNo": false,
8959
8957
  "type": "boolean"
8960
8958
  },
8961
- "title": {
8962
- "char": "t",
8963
- "description": "Ticket title [required for non-interactive]",
8964
- "name": "title",
8959
+ "url": {
8960
+ "description": "MCP server URL (for remote servers)",
8961
+ "name": "url",
8965
8962
  "hasDynamicHelp": false,
8966
8963
  "multiple": false,
8967
8964
  "type": "option"
8968
8965
  },
8969
- "column": {
8970
- "char": "c",
8971
- "description": "Column to place the ticket in",
8972
- "name": "column",
8966
+ "command": {
8967
+ "description": "Command to run (MCP server command or CLI tool binary)",
8968
+ "name": "command",
8973
8969
  "hasDynamicHelp": false,
8974
8970
  "multiple": false,
8975
8971
  "type": "option"
8976
8972
  },
8977
- "priority": {
8978
- "char": "p",
8979
- "description": "Ticket priority (uses workspace priority scale)",
8980
- "name": "priority",
8973
+ "auth": {
8974
+ "description": "Environment variable for authentication (e.g., ARCADE_API_KEY)",
8975
+ "name": "auth",
8981
8976
  "hasDynamicHelp": false,
8982
8977
  "multiple": false,
8983
8978
  "type": "option"
8984
8979
  },
8985
- "category": {
8986
- "description": "Ticket category (e.g., bug, feature, refactor)",
8987
- "name": "category",
8980
+ "detect": {
8981
+ "description": "Shell command to detect if CLI tool is installed",
8982
+ "name": "detect",
8988
8983
  "hasDynamicHelp": false,
8989
8984
  "multiple": false,
8990
8985
  "type": "option"
8991
8986
  },
8992
- "description": {
8993
- "char": "d",
8994
- "description": "Ticket description",
8995
- "name": "description",
8996
- "hasDynamicHelp": false,
8997
- "multiple": false,
8998
- "type": "option"
8999
- },
9000
- "description-file": {
9001
- "char": "D",
9002
- "description": "Path to a markdown file for the ticket description (use - for stdin)",
9003
- "exclusive": [
9004
- "description"
9005
- ],
9006
- "name": "description-file",
9007
- "hasDynamicHelp": false,
9008
- "multiple": false,
9009
- "type": "option"
9010
- },
9011
- "id": {
9012
- "description": "Custom ticket ID (auto-generated if not provided)",
9013
- "name": "id",
9014
- "hasDynamicHelp": false,
9015
- "multiple": false,
9016
- "type": "option"
9017
- },
9018
- "interactive": {
9019
- "char": "i",
9020
- "description": "Interactive mode",
9021
- "name": "interactive",
9022
- "allowNo": false,
9023
- "type": "boolean"
9024
- },
9025
- "epic": {
9026
- "char": "e",
9027
- "description": "Link ticket to an epic (e.g., EPIC-001)",
9028
- "name": "epic",
9029
- "hasDynamicHelp": false,
9030
- "multiple": false,
9031
- "type": "option"
9032
- },
9033
- "template": {
9034
- "char": "T",
9035
- "description": "Create from a template (e.g., bug-report, feature-request)",
9036
- "name": "template",
9037
- "hasDynamicHelp": false,
9038
- "multiple": false,
9039
- "type": "option"
9040
- },
9041
- "labels": {
9042
- "aliases": [
9043
- "label"
9044
- ],
9045
- "char": "l",
9046
- "description": "Labels (comma-separated)",
9047
- "name": "labels",
9048
- "hasDynamicHelp": false,
9049
- "multiple": false,
9050
- "type": "option"
9051
- },
9052
- "dry-run": {
9053
- "description": "Validate inputs without creating ticket (use with --json for structured output)",
9054
- "name": "dry-run",
9055
- "allowNo": false,
9056
- "type": "boolean"
9057
- },
9058
- "source": {
9059
- "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
9060
- "name": "source",
9061
- "default": "auto",
8987
+ "install": {
8988
+ "description": "Shell command to install the CLI tool",
8989
+ "name": "install",
9062
8990
  "hasDynamicHelp": false,
9063
8991
  "multiple": false,
9064
- "options": [
9065
- "auto",
9066
- "pmo",
9067
- "linear"
9068
- ],
9069
8992
  "type": "option"
9070
8993
  },
9071
- "team": {
9072
- "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
9073
- "name": "team",
8994
+ "description": {
8995
+ "char": "d",
8996
+ "description": "Human-readable description",
8997
+ "name": "description",
8998
+ "required": true,
9074
8999
  "hasDynamicHelp": false,
9075
9000
  "multiple": false,
9076
9001
  "type": "option"
@@ -9078,7 +9003,7 @@
9078
9003
  },
9079
9004
  "hasDynamicHelp": false,
9080
9005
  "hiddenAliases": [],
9081
- "id": "ticket:create",
9006
+ "id": "tools:add",
9082
9007
  "pluginAlias": "@proletariat/cli",
9083
9008
  "pluginName": "@proletariat/cli",
9084
9009
  "pluginType": "core",
@@ -9087,36 +9012,19 @@
9087
9012
  "relativePath": [
9088
9013
  "dist",
9089
9014
  "commands",
9090
- "ticket",
9091
- "create.js"
9015
+ "tools",
9016
+ "add.js"
9092
9017
  ]
9093
9018
  },
9094
- "ticket:delete": {
9019
+ "tools:check": {
9095
9020
  "aliases": [],
9096
- "args": {
9097
- "ticketId": {
9098
- "description": "Ticket ID to delete - prompts with dropdown if not provided",
9099
- "name": "ticketId",
9100
- "required": false
9101
- }
9102
- },
9103
- "description": "Delete ticket(s) permanently",
9021
+ "args": {},
9022
+ "description": "Verify all registered tools are available and healthy",
9104
9023
  "examples": [
9105
- "<%= config.bin %> <%= command.id %> TICK-001",
9106
- "<%= config.bin %> <%= command.id %> TICK-001 --force",
9107
- "<%= config.bin %> <%= command.id %> # Interactive mode",
9108
- "<%= config.bin %> <%= command.id %> --bulk",
9109
- "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
9024
+ "<%= config.bin %> tools check",
9025
+ "<%= config.bin %> tools check --json"
9110
9026
  ],
9111
9027
  "flags": {
9112
- "project": {
9113
- "char": "P",
9114
- "description": "Project ID (uses first project if only one exists)",
9115
- "name": "project",
9116
- "hasDynamicHelp": false,
9117
- "multiple": false,
9118
- "type": "option"
9119
- },
9120
9028
  "json": {
9121
9029
  "description": "Output as JSON for AI agents/scripts",
9122
9030
  "name": "json",
@@ -9129,64 +9037,34 @@
9129
9037
  "name": "machine",
9130
9038
  "allowNo": false,
9131
9039
  "type": "boolean"
9132
- },
9133
- "force": {
9134
- "char": "f",
9135
- "description": "Skip confirmation prompt",
9136
- "name": "force",
9137
- "allowNo": false,
9138
- "type": "boolean"
9139
- },
9140
- "bulk": {
9141
- "char": "b",
9142
- "description": "Enable bulk mode to delete multiple tickets",
9143
- "name": "bulk",
9144
- "allowNo": false,
9145
- "type": "boolean"
9146
9040
  }
9147
9041
  },
9148
9042
  "hasDynamicHelp": false,
9149
9043
  "hiddenAliases": [],
9150
- "id": "ticket:delete",
9044
+ "id": "tools:check",
9151
9045
  "pluginAlias": "@proletariat/cli",
9152
9046
  "pluginName": "@proletariat/cli",
9153
9047
  "pluginType": "core",
9154
9048
  "strict": true,
9049
+ "enableJsonFlag": false,
9155
9050
  "isESM": true,
9156
9051
  "relativePath": [
9157
9052
  "dist",
9158
9053
  "commands",
9159
- "ticket",
9160
- "delete.js"
9054
+ "tools",
9055
+ "check.js"
9161
9056
  ]
9162
9057
  },
9163
- "ticket:edit": {
9058
+ "tools:detect": {
9164
9059
  "aliases": [],
9165
- "args": {
9166
- "ticketId": {
9167
- "description": "Ticket ID to edit - prompts with dropdown if not provided",
9168
- "name": "ticketId",
9169
- "required": false
9170
- }
9171
- },
9172
- "description": "Edit an existing ticket",
9060
+ "args": {},
9061
+ "description": "Auto-detect common CLI tools on the system and register them",
9173
9062
  "examples": [
9174
- "<%= config.bin %> <%= command.id %> TICK-001",
9175
- "<%= config.bin %> <%= command.id %> TICK-001 --title \"New title\"",
9176
- "<%= config.bin %> <%= command.id %> TICK-001 --priority P1 --category bug",
9177
- "<%= config.bin %> <%= command.id %> TICK-001 --add-subtask \"Implement feature\" --add-subtask \"Write tests\"",
9178
- "<%= config.bin %> <%= command.id %> TICK-001 --owner \"john\" --assignee \"agent-1\"",
9179
- "<%= config.bin %> <%= command.id %> # Interactive mode"
9063
+ "<%= config.bin %> tools detect",
9064
+ "<%= config.bin %> tools detect --auto",
9065
+ "<%= config.bin %> tools detect --json"
9180
9066
  ],
9181
9067
  "flags": {
9182
- "project": {
9183
- "char": "P",
9184
- "description": "Project ID (uses first project if only one exists)",
9185
- "name": "project",
9186
- "hasDynamicHelp": false,
9187
- "multiple": false,
9188
- "type": "option"
9189
- },
9190
9068
  "json": {
9191
9069
  "description": "Output as JSON for AI agents/scripts",
9192
9070
  "name": "json",
@@ -9200,122 +9078,83 @@
9200
9078
  "allowNo": false,
9201
9079
  "type": "boolean"
9202
9080
  },
9203
- "title": {
9204
- "char": "t",
9205
- "description": "New ticket title",
9206
- "name": "title",
9207
- "hasDynamicHelp": false,
9208
- "multiple": false,
9209
- "type": "option"
9210
- },
9211
- "description": {
9212
- "char": "d",
9213
- "description": "New ticket description",
9214
- "name": "description",
9215
- "hasDynamicHelp": false,
9216
- "multiple": false,
9217
- "type": "option"
9218
- },
9219
- "priority": {
9220
- "char": "p",
9221
- "description": "New ticket priority (uses workspace priority scale, \"none\" to clear)",
9222
- "name": "priority",
9223
- "hasDynamicHelp": false,
9224
- "multiple": false,
9225
- "type": "option"
9226
- },
9227
- "category": {
9228
- "description": "New ticket category",
9229
- "name": "category",
9230
- "hasDynamicHelp": false,
9231
- "multiple": false,
9232
- "type": "option"
9233
- },
9234
- "owner": {
9235
- "char": "o",
9236
- "description": "Ticket owner (human responsible)",
9237
- "name": "owner",
9238
- "hasDynamicHelp": false,
9239
- "multiple": false,
9240
- "type": "option"
9241
- },
9242
- "assignee": {
9243
- "char": "a",
9244
- "description": "Ticket assignee (who executes)",
9245
- "name": "assignee",
9246
- "hasDynamicHelp": false,
9247
- "multiple": false,
9248
- "type": "option"
9249
- },
9250
- "add-subtask": {
9251
- "description": "Add a subtask (can be used multiple times)",
9252
- "name": "add-subtask",
9253
- "hasDynamicHelp": false,
9254
- "multiple": true,
9255
- "type": "option"
9256
- },
9257
- "clear-subtasks": {
9258
- "description": "Clear all existing subtasks before adding new ones",
9259
- "name": "clear-subtasks",
9081
+ "auto": {
9082
+ "description": "Automatically register all detected tools without prompting",
9083
+ "name": "auto",
9260
9084
  "allowNo": false,
9261
9085
  "type": "boolean"
9262
- },
9263
- "add-label": {
9264
- "description": "Add a label (can be used multiple times)",
9265
- "name": "add-label",
9266
- "hasDynamicHelp": false,
9267
- "multiple": true,
9268
- "type": "option"
9269
- },
9270
- "remove-label": {
9271
- "description": "Remove a label",
9272
- "name": "remove-label",
9273
- "hasDynamicHelp": false,
9274
- "multiple": true,
9275
- "type": "option"
9276
- },
9277
- "add-ac": {
9278
- "description": "Add an acceptance criterion (can be used multiple times)",
9279
- "name": "add-ac",
9280
- "hasDynamicHelp": false,
9281
- "multiple": true,
9282
- "type": "option"
9283
- },
9284
- "clear-ac": {
9285
- "description": "Clear all existing acceptance criteria before adding new ones",
9286
- "name": "clear-ac",
9086
+ }
9087
+ },
9088
+ "hasDynamicHelp": false,
9089
+ "hiddenAliases": [],
9090
+ "id": "tools:detect",
9091
+ "pluginAlias": "@proletariat/cli",
9092
+ "pluginName": "@proletariat/cli",
9093
+ "pluginType": "core",
9094
+ "strict": true,
9095
+ "enableJsonFlag": false,
9096
+ "isESM": true,
9097
+ "relativePath": [
9098
+ "dist",
9099
+ "commands",
9100
+ "tools",
9101
+ "detect.js"
9102
+ ]
9103
+ },
9104
+ "tools": {
9105
+ "aliases": [
9106
+ "tools:list"
9107
+ ],
9108
+ "args": {},
9109
+ "description": "Show all registered MCP servers and CLI tools",
9110
+ "examples": [
9111
+ "<%= config.bin %> tools",
9112
+ "<%= config.bin %> tools --json"
9113
+ ],
9114
+ "flags": {
9115
+ "json": {
9116
+ "description": "Output as JSON for AI agents/scripts",
9117
+ "name": "json",
9287
9118
  "allowNo": false,
9288
9119
  "type": "boolean"
9289
9120
  },
9290
- "interactive": {
9291
- "char": "i",
9292
- "description": "Interactive mode - prompts for all fields",
9293
- "name": "interactive",
9121
+ "machine": {
9122
+ "char": "m",
9123
+ "description": "Output as JSON for AI agents/scripts",
9124
+ "name": "machine",
9294
9125
  "allowNo": false,
9295
9126
  "type": "boolean"
9296
9127
  }
9297
9128
  },
9298
9129
  "hasDynamicHelp": false,
9299
9130
  "hiddenAliases": [],
9300
- "id": "ticket:edit",
9131
+ "id": "tools",
9301
9132
  "pluginAlias": "@proletariat/cli",
9302
9133
  "pluginName": "@proletariat/cli",
9303
9134
  "pluginType": "core",
9304
9135
  "strict": true,
9136
+ "enableJsonFlag": false,
9305
9137
  "isESM": true,
9306
9138
  "relativePath": [
9307
9139
  "dist",
9308
9140
  "commands",
9309
- "ticket",
9310
- "edit.js"
9141
+ "tools",
9142
+ "index.js"
9311
9143
  ]
9312
9144
  },
9313
- "ticket": {
9145
+ "tools:remove": {
9314
9146
  "aliases": [],
9315
- "args": {},
9316
- "description": "Interactive menu for ticket operations",
9147
+ "args": {
9148
+ "name": {
9149
+ "description": "Tool name to remove",
9150
+ "name": "name",
9151
+ "required": true
9152
+ }
9153
+ },
9154
+ "description": "Remove a tool from the registry",
9317
9155
  "examples": [
9318
- "<%= config.bin %> <%= command.id %>"
9156
+ "<%= config.bin %> tools remove arcade",
9157
+ "<%= config.bin %> tools remove ffmpeg"
9319
9158
  ],
9320
9159
  "flags": {
9321
9160
  "json": {
@@ -9334,35 +9173,36 @@
9334
9173
  },
9335
9174
  "hasDynamicHelp": false,
9336
9175
  "hiddenAliases": [],
9337
- "id": "ticket",
9176
+ "id": "tools:remove",
9338
9177
  "pluginAlias": "@proletariat/cli",
9339
9178
  "pluginName": "@proletariat/cli",
9340
9179
  "pluginType": "core",
9341
9180
  "strict": true,
9181
+ "enableJsonFlag": false,
9342
9182
  "isESM": true,
9343
9183
  "relativePath": [
9344
9184
  "dist",
9345
9185
  "commands",
9346
- "ticket",
9347
- "index.js"
9186
+ "tools",
9187
+ "remove.js"
9348
9188
  ]
9349
9189
  },
9350
- "ticket:list": {
9190
+ "ticket:create": {
9351
9191
  "aliases": [],
9352
9192
  "args": {},
9353
- "description": "List tickets from the PMO board",
9193
+ "description": "Create a new ticket (routes to Linear when configured, or local PMO)",
9354
9194
  "examples": [
9355
9195
  "<%= config.bin %> <%= command.id %>",
9356
- "<%= config.bin %> <%= command.id %> --column Backlog",
9357
- "<%= config.bin %> <%= command.id %> --priority P0",
9358
- "<%= config.bin %> <%= command.id %> --category bug",
9359
- "<%= config.bin %> <%= command.id %> --search \"login\"",
9360
- "<%= config.bin %> <%= command.id %> --project mobile-app",
9361
- "<%= config.bin %> <%= command.id %> --all",
9362
- "<%= config.bin %> <%= command.id %> --all --group-by priority",
9363
- "<%= config.bin %> <%= command.id %> -g priority",
9364
- "<%= config.bin %> <%= command.id %> --limit 10",
9365
- "<%= config.bin %> <%= command.id %> --limit 10 --offset 20"
9196
+ "<%= config.bin %> <%= command.id %> --title \"Fix login bug\" --column Backlog",
9197
+ "<%= config.bin %> <%= command.id %> -t \"Add feature\" -c \"In Progress\" -p P1",
9198
+ "<%= config.bin %> <%= command.id %> --project mobile-app -t \"New feature\"",
9199
+ "<%= config.bin %> <%= command.id %> --epic EPIC-001 -t \"Implement auth flow\"",
9200
+ "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file ./ticket-desc.md",
9201
+ "<%= config.bin %> <%= command.id %> --title \"My ticket\" --description-file - # Read from stdin",
9202
+ "<%= config.bin %> <%= command.id %> --json # Output column choices as JSON",
9203
+ "<%= config.bin %> <%= command.id %> --title \"Test\" -P PROJ-001 --dry-run --json # Validate without creating",
9204
+ "<%= config.bin %> <%= command.id %> --source linear -t \"Fix bug\" --team ENG",
9205
+ "<%= config.bin %> <%= command.id %> --source pmo -t \"Local task\" -c Backlog"
9366
9206
  ],
9367
9207
  "flags": {
9368
9208
  "project": {
@@ -9386,9 +9226,17 @@
9386
9226
  "allowNo": false,
9387
9227
  "type": "boolean"
9388
9228
  },
9229
+ "title": {
9230
+ "char": "t",
9231
+ "description": "Ticket title [required for non-interactive]",
9232
+ "name": "title",
9233
+ "hasDynamicHelp": false,
9234
+ "multiple": false,
9235
+ "type": "option"
9236
+ },
9389
9237
  "column": {
9390
9238
  "char": "c",
9391
- "description": "Filter by column",
9239
+ "description": "Column to place the ticket in",
9392
9240
  "name": "column",
9393
9241
  "hasDynamicHelp": false,
9394
9242
  "multiple": false,
@@ -9396,82 +9244,84 @@
9396
9244
  },
9397
9245
  "priority": {
9398
9246
  "char": "p",
9399
- "description": "Filter by priority (uses workspace priority scale)",
9247
+ "description": "Ticket priority (uses workspace priority scale)",
9400
9248
  "name": "priority",
9401
9249
  "hasDynamicHelp": false,
9402
9250
  "multiple": false,
9403
9251
  "type": "option"
9404
9252
  },
9405
9253
  "category": {
9406
- "description": "Filter by category",
9254
+ "description": "Ticket category (e.g., bug, feature, refactor)",
9407
9255
  "name": "category",
9408
9256
  "hasDynamicHelp": false,
9409
9257
  "multiple": false,
9410
9258
  "type": "option"
9411
9259
  },
9412
- "search": {
9413
- "char": "s",
9414
- "description": "Search in title and description",
9415
- "name": "search",
9260
+ "description": {
9261
+ "char": "d",
9262
+ "description": "Ticket description",
9263
+ "name": "description",
9264
+ "hasDynamicHelp": false,
9265
+ "multiple": false,
9266
+ "type": "option"
9267
+ },
9268
+ "description-file": {
9269
+ "char": "D",
9270
+ "description": "Path to a markdown file for the ticket description (use - for stdin)",
9271
+ "exclusive": [
9272
+ "description"
9273
+ ],
9274
+ "name": "description-file",
9416
9275
  "hasDynamicHelp": false,
9417
9276
  "multiple": false,
9418
9277
  "type": "option"
9419
9278
  },
9420
- "format": {
9421
- "char": "f",
9422
- "description": "Output format",
9423
- "name": "format",
9424
- "default": "table",
9279
+ "id": {
9280
+ "description": "Custom ticket ID (auto-generated if not provided)",
9281
+ "name": "id",
9425
9282
  "hasDynamicHelp": false,
9426
9283
  "multiple": false,
9427
- "options": [
9428
- "table",
9429
- "compact",
9430
- "json"
9431
- ],
9432
9284
  "type": "option"
9433
9285
  },
9434
- "all": {
9435
- "char": "a",
9436
- "description": "Show tickets across all projects",
9437
- "name": "all",
9286
+ "interactive": {
9287
+ "char": "i",
9288
+ "description": "Interactive mode",
9289
+ "name": "interactive",
9438
9290
  "allowNo": false,
9439
9291
  "type": "boolean"
9440
9292
  },
9441
- "label": {
9442
- "description": "Filter by label name",
9443
- "name": "label",
9293
+ "epic": {
9294
+ "char": "e",
9295
+ "description": "Link ticket to an epic (e.g., EPIC-001)",
9296
+ "name": "epic",
9444
9297
  "hasDynamicHelp": false,
9445
9298
  "multiple": false,
9446
9299
  "type": "option"
9447
9300
  },
9448
- "group-by": {
9449
- "char": "g",
9450
- "description": "Group tickets by field",
9451
- "name": "group-by",
9452
- "default": "status",
9301
+ "template": {
9302
+ "char": "T",
9303
+ "description": "Create from a template (e.g., bug-report, feature-request)",
9304
+ "name": "template",
9453
9305
  "hasDynamicHelp": false,
9454
9306
  "multiple": false,
9455
- "options": [
9456
- "status",
9457
- "priority"
9458
- ],
9459
9307
  "type": "option"
9460
9308
  },
9461
- "limit": {
9309
+ "labels": {
9310
+ "aliases": [
9311
+ "label"
9312
+ ],
9462
9313
  "char": "l",
9463
- "description": "Maximum number of tickets to display",
9464
- "name": "limit",
9314
+ "description": "Labels (comma-separated)",
9315
+ "name": "labels",
9465
9316
  "hasDynamicHelp": false,
9466
9317
  "multiple": false,
9467
9318
  "type": "option"
9468
9319
  },
9469
- "offset": {
9470
- "description": "Skip first N tickets (for pagination)",
9471
- "name": "offset",
9472
- "hasDynamicHelp": false,
9473
- "multiple": false,
9474
- "type": "option"
9320
+ "dry-run": {
9321
+ "description": "Validate inputs without creating ticket (use with --json for structured output)",
9322
+ "name": "dry-run",
9323
+ "allowNo": false,
9324
+ "type": "boolean"
9475
9325
  },
9476
9326
  "source": {
9477
9327
  "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
@@ -9496,42 +9346,105 @@
9496
9346
  },
9497
9347
  "hasDynamicHelp": false,
9498
9348
  "hiddenAliases": [],
9499
- "id": "ticket:list",
9349
+ "id": "ticket:create",
9500
9350
  "pluginAlias": "@proletariat/cli",
9501
9351
  "pluginName": "@proletariat/cli",
9502
9352
  "pluginType": "core",
9503
9353
  "strict": true,
9504
- "enableJsonFlag": false,
9505
9354
  "isESM": true,
9506
9355
  "relativePath": [
9507
9356
  "dist",
9508
9357
  "commands",
9509
9358
  "ticket",
9510
- "list.js"
9359
+ "create.js"
9511
9360
  ]
9512
9361
  },
9513
- "ticket:move": {
9362
+ "ticket:delete": {
9514
9363
  "aliases": [],
9515
9364
  "args": {
9516
9365
  "ticketId": {
9517
- "description": "Ticket ID - prompts with dropdown if not provided",
9366
+ "description": "Ticket ID to delete - prompts with dropdown if not provided",
9518
9367
  "name": "ticketId",
9519
9368
  "required": false
9369
+ }
9370
+ },
9371
+ "description": "Delete ticket(s) permanently",
9372
+ "examples": [
9373
+ "<%= config.bin %> <%= command.id %> TICK-001",
9374
+ "<%= config.bin %> <%= command.id %> TICK-001 --force",
9375
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
9376
+ "<%= config.bin %> <%= command.id %> --bulk",
9377
+ "<%= config.bin %> <%= command.id %> --json # Output choices as JSON"
9378
+ ],
9379
+ "flags": {
9380
+ "project": {
9381
+ "char": "P",
9382
+ "description": "Project ID (uses first project if only one exists)",
9383
+ "name": "project",
9384
+ "hasDynamicHelp": false,
9385
+ "multiple": false,
9386
+ "type": "option"
9520
9387
  },
9521
- "column": {
9522
- "description": "Target column - prompts with dropdown if not provided",
9523
- "name": "column",
9388
+ "json": {
9389
+ "description": "Output as JSON for AI agents/scripts",
9390
+ "name": "json",
9391
+ "allowNo": false,
9392
+ "type": "boolean"
9393
+ },
9394
+ "machine": {
9395
+ "char": "m",
9396
+ "description": "Output as JSON for AI agents/scripts",
9397
+ "name": "machine",
9398
+ "allowNo": false,
9399
+ "type": "boolean"
9400
+ },
9401
+ "force": {
9402
+ "char": "f",
9403
+ "description": "Skip confirmation prompt",
9404
+ "name": "force",
9405
+ "allowNo": false,
9406
+ "type": "boolean"
9407
+ },
9408
+ "bulk": {
9409
+ "char": "b",
9410
+ "description": "Enable bulk mode to delete multiple tickets",
9411
+ "name": "bulk",
9412
+ "allowNo": false,
9413
+ "type": "boolean"
9414
+ }
9415
+ },
9416
+ "hasDynamicHelp": false,
9417
+ "hiddenAliases": [],
9418
+ "id": "ticket:delete",
9419
+ "pluginAlias": "@proletariat/cli",
9420
+ "pluginName": "@proletariat/cli",
9421
+ "pluginType": "core",
9422
+ "strict": true,
9423
+ "isESM": true,
9424
+ "relativePath": [
9425
+ "dist",
9426
+ "commands",
9427
+ "ticket",
9428
+ "delete.js"
9429
+ ]
9430
+ },
9431
+ "ticket:edit": {
9432
+ "aliases": [],
9433
+ "args": {
9434
+ "ticketId": {
9435
+ "description": "Ticket ID to edit - prompts with dropdown if not provided",
9436
+ "name": "ticketId",
9524
9437
  "required": false
9525
9438
  }
9526
9439
  },
9527
- "description": "Move ticket(s) to a different column",
9440
+ "description": "Edit an existing ticket",
9528
9441
  "examples": [
9529
- "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
9530
- "<%= config.bin %> <%= command.id %> implement-auth Done",
9531
- "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
9532
- "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
9533
- "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
9534
- "<%= config.bin %> <%= command.id %> --bulk"
9442
+ "<%= config.bin %> <%= command.id %> TICK-001",
9443
+ "<%= config.bin %> <%= command.id %> TICK-001 --title \"New title\"",
9444
+ "<%= config.bin %> <%= command.id %> TICK-001 --priority P1 --category bug",
9445
+ "<%= config.bin %> <%= command.id %> TICK-001 --add-subtask \"Implement feature\" --add-subtask \"Write tests\"",
9446
+ "<%= config.bin %> <%= command.id %> TICK-001 --owner \"john\" --assignee \"agent-1\"",
9447
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
9535
9448
  ],
9536
9449
  "flags": {
9537
9450
  "project": {
@@ -9555,46 +9468,104 @@
9555
9468
  "allowNo": false,
9556
9469
  "type": "boolean"
9557
9470
  },
9558
- "status": {
9559
- "char": "s",
9560
- "description": "Target status/column (alternative to positional column argument)",
9561
- "name": "status",
9471
+ "title": {
9472
+ "char": "t",
9473
+ "description": "New ticket title",
9474
+ "name": "title",
9562
9475
  "hasDynamicHelp": false,
9563
9476
  "multiple": false,
9564
9477
  "type": "option"
9565
9478
  },
9566
- "position": {
9567
- "description": "Position within the column (0 = top)",
9568
- "name": "position",
9479
+ "description": {
9480
+ "char": "d",
9481
+ "description": "New ticket description",
9482
+ "name": "description",
9569
9483
  "hasDynamicHelp": false,
9570
9484
  "multiple": false,
9571
9485
  "type": "option"
9572
9486
  },
9573
- "to-project": {
9574
- "description": "Move ticket to a different project (uses Backlog/default column)",
9575
- "name": "to-project",
9487
+ "priority": {
9488
+ "char": "p",
9489
+ "description": "New ticket priority (uses workspace priority scale, \"none\" to clear)",
9490
+ "name": "priority",
9576
9491
  "hasDynamicHelp": false,
9577
9492
  "multiple": false,
9578
9493
  "type": "option"
9579
9494
  },
9580
- "bulk": {
9581
- "char": "b",
9582
- "description": "Enable bulk mode to move multiple tickets",
9583
- "name": "bulk",
9495
+ "category": {
9496
+ "description": "New ticket category",
9497
+ "name": "category",
9498
+ "hasDynamicHelp": false,
9499
+ "multiple": false,
9500
+ "type": "option"
9501
+ },
9502
+ "owner": {
9503
+ "char": "o",
9504
+ "description": "Ticket owner (human responsible)",
9505
+ "name": "owner",
9506
+ "hasDynamicHelp": false,
9507
+ "multiple": false,
9508
+ "type": "option"
9509
+ },
9510
+ "assignee": {
9511
+ "char": "a",
9512
+ "description": "Ticket assignee (who executes)",
9513
+ "name": "assignee",
9514
+ "hasDynamicHelp": false,
9515
+ "multiple": false,
9516
+ "type": "option"
9517
+ },
9518
+ "add-subtask": {
9519
+ "description": "Add a subtask (can be used multiple times)",
9520
+ "name": "add-subtask",
9521
+ "hasDynamicHelp": false,
9522
+ "multiple": true,
9523
+ "type": "option"
9524
+ },
9525
+ "clear-subtasks": {
9526
+ "description": "Clear all existing subtasks before adding new ones",
9527
+ "name": "clear-subtasks",
9584
9528
  "allowNo": false,
9585
9529
  "type": "boolean"
9586
9530
  },
9587
- "force": {
9588
- "char": "f",
9589
- "description": "Skip confirmation prompt (bulk mode only)",
9590
- "name": "force",
9531
+ "add-label": {
9532
+ "description": "Add a label (can be used multiple times)",
9533
+ "name": "add-label",
9534
+ "hasDynamicHelp": false,
9535
+ "multiple": true,
9536
+ "type": "option"
9537
+ },
9538
+ "remove-label": {
9539
+ "description": "Remove a label",
9540
+ "name": "remove-label",
9541
+ "hasDynamicHelp": false,
9542
+ "multiple": true,
9543
+ "type": "option"
9544
+ },
9545
+ "add-ac": {
9546
+ "description": "Add an acceptance criterion (can be used multiple times)",
9547
+ "name": "add-ac",
9548
+ "hasDynamicHelp": false,
9549
+ "multiple": true,
9550
+ "type": "option"
9551
+ },
9552
+ "clear-ac": {
9553
+ "description": "Clear all existing acceptance criteria before adding new ones",
9554
+ "name": "clear-ac",
9555
+ "allowNo": false,
9556
+ "type": "boolean"
9557
+ },
9558
+ "interactive": {
9559
+ "char": "i",
9560
+ "description": "Interactive mode - prompts for all fields",
9561
+ "name": "interactive",
9591
9562
  "allowNo": false,
9592
9563
  "type": "boolean"
9593
9564
  }
9594
9565
  },
9595
9566
  "hasDynamicHelp": false,
9596
9567
  "hiddenAliases": [],
9597
- "id": "ticket:move",
9568
+ "id": "ticket:edit",
9598
9569
  "pluginAlias": "@proletariat/cli",
9599
9570
  "pluginName": "@proletariat/cli",
9600
9571
  "pluginType": "core",
@@ -9604,32 +9575,17 @@
9604
9575
  "dist",
9605
9576
  "commands",
9606
9577
  "ticket",
9607
- "move.js"
9578
+ "edit.js"
9608
9579
  ]
9609
9580
  },
9610
- "ticket:show": {
9581
+ "ticket": {
9611
9582
  "aliases": [],
9612
- "args": {
9613
- "ticketId": {
9614
- "description": "Ticket ID to view - prompts with dropdown if not provided",
9615
- "name": "ticketId",
9616
- "required": false
9617
- }
9618
- },
9619
- "description": "View detailed ticket information",
9583
+ "args": {},
9584
+ "description": "Interactive menu for ticket operations",
9620
9585
  "examples": [
9621
- "<%= config.bin %> <%= command.id %> TICK-001",
9622
- "<%= config.bin %> <%= command.id %> # Interactive mode"
9586
+ "<%= config.bin %> <%= command.id %>"
9623
9587
  ],
9624
9588
  "flags": {
9625
- "project": {
9626
- "char": "P",
9627
- "description": "Project ID (uses first project if only one exists)",
9628
- "name": "project",
9629
- "hasDynamicHelp": false,
9630
- "multiple": false,
9631
- "type": "option"
9632
- },
9633
9589
  "json": {
9634
9590
  "description": "Output as JSON for AI agents/scripts",
9635
9591
  "name": "json",
@@ -9646,7 +9602,7 @@
9646
9602
  },
9647
9603
  "hasDynamicHelp": false,
9648
9604
  "hiddenAliases": [],
9649
- "id": "ticket:show",
9605
+ "id": "ticket",
9650
9606
  "pluginAlias": "@proletariat/cli",
9651
9607
  "pluginName": "@proletariat/cli",
9652
9608
  "pluginType": "core",
@@ -9656,29 +9612,25 @@
9656
9612
  "dist",
9657
9613
  "commands",
9658
9614
  "ticket",
9659
- "show.js"
9615
+ "index.js"
9660
9616
  ]
9661
9617
  },
9662
- "ticket:update": {
9618
+ "ticket:list": {
9663
9619
  "aliases": [],
9664
- "args": {
9665
- "ticketId": {
9666
- "description": "Ticket ID - prompts with dropdown if not provided",
9667
- "name": "ticketId",
9668
- "required": false
9669
- }
9670
- },
9671
- "description": "Update ticket fields (title, description, priority, category, labels, status)",
9620
+ "args": {},
9621
+ "description": "List tickets from the PMO board",
9672
9622
  "examples": [
9673
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
9674
- "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
9675
- "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
9676
- "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
9677
- "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
9678
- "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
9679
- "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
9680
- "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
9681
- "<%= config.bin %> <%= command.id %> --bulk --priority P1"
9623
+ "<%= config.bin %> <%= command.id %>",
9624
+ "<%= config.bin %> <%= command.id %> --column Backlog",
9625
+ "<%= config.bin %> <%= command.id %> --priority P0",
9626
+ "<%= config.bin %> <%= command.id %> --category bug",
9627
+ "<%= config.bin %> <%= command.id %> --search \"login\"",
9628
+ "<%= config.bin %> <%= command.id %> --project mobile-app",
9629
+ "<%= config.bin %> <%= command.id %> --all",
9630
+ "<%= config.bin %> <%= command.id %> --all --group-by priority",
9631
+ "<%= config.bin %> <%= command.id %> -g priority",
9632
+ "<%= config.bin %> <%= command.id %> --limit 10",
9633
+ "<%= config.bin %> <%= command.id %> --limit 10 --offset 20"
9682
9634
  ],
9683
9635
  "flags": {
9684
9636
  "project": {
@@ -9702,214 +9654,117 @@
9702
9654
  "allowNo": false,
9703
9655
  "type": "boolean"
9704
9656
  },
9705
- "title": {
9706
- "char": "t",
9707
- "description": "Set ticket title",
9708
- "name": "title",
9709
- "hasDynamicHelp": false,
9710
- "multiple": false,
9711
- "type": "option"
9712
- },
9713
- "description": {
9714
- "char": "d",
9715
- "description": "Set ticket description",
9716
- "name": "description",
9717
- "hasDynamicHelp": false,
9718
- "multiple": false,
9719
- "type": "option"
9720
- },
9721
- "description-file": {
9722
- "description": "Read ticket description from a file",
9723
- "name": "description-file",
9657
+ "column": {
9658
+ "char": "c",
9659
+ "description": "Filter by column",
9660
+ "name": "column",
9724
9661
  "hasDynamicHelp": false,
9725
9662
  "multiple": false,
9726
9663
  "type": "option"
9727
9664
  },
9728
9665
  "priority": {
9729
9666
  "char": "p",
9730
- "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
9667
+ "description": "Filter by priority (uses workspace priority scale)",
9731
9668
  "name": "priority",
9732
9669
  "hasDynamicHelp": false,
9733
9670
  "multiple": false,
9734
9671
  "type": "option"
9735
9672
  },
9736
9673
  "category": {
9737
- "char": "c",
9738
- "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
9674
+ "description": "Filter by category",
9739
9675
  "name": "category",
9740
9676
  "hasDynamicHelp": false,
9741
9677
  "multiple": false,
9742
9678
  "type": "option"
9743
9679
  },
9744
- "labels": {
9745
- "char": "l",
9746
- "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
9747
- "name": "labels",
9748
- "hasDynamicHelp": false,
9749
- "multiple": false,
9750
- "type": "option"
9751
- },
9752
- "status": {
9680
+ "search": {
9753
9681
  "char": "s",
9754
- "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
9755
- "name": "status",
9682
+ "description": "Search in title and description",
9683
+ "name": "search",
9756
9684
  "hasDynamicHelp": false,
9757
9685
  "multiple": false,
9758
9686
  "type": "option"
9759
9687
  },
9760
- "bulk": {
9761
- "char": "b",
9762
- "description": "Enable bulk mode to update multiple tickets",
9763
- "name": "bulk",
9764
- "allowNo": false,
9765
- "type": "boolean"
9766
- },
9767
- "force": {
9688
+ "format": {
9768
9689
  "char": "f",
9769
- "description": "Skip confirmation prompt",
9770
- "name": "force",
9771
- "allowNo": false,
9772
- "type": "boolean"
9773
- }
9774
- },
9775
- "hasDynamicHelp": false,
9776
- "hiddenAliases": [],
9777
- "id": "ticket:update",
9778
- "pluginAlias": "@proletariat/cli",
9779
- "pluginName": "@proletariat/cli",
9780
- "pluginType": "core",
9781
- "strict": true,
9782
- "isESM": true,
9783
- "relativePath": [
9784
- "dist",
9785
- "commands",
9786
- "ticket",
9787
- "update.js"
9788
- ]
9789
- },
9790
- "tools:add": {
9791
- "aliases": [],
9792
- "args": {
9793
- "type": {
9794
- "description": "Tool type (mcp or cli)",
9795
- "name": "type",
9690
+ "description": "Output format",
9691
+ "name": "format",
9692
+ "default": "table",
9693
+ "hasDynamicHelp": false,
9694
+ "multiple": false,
9796
9695
  "options": [
9797
- "mcp",
9798
- "cli"
9696
+ "table",
9697
+ "compact",
9698
+ "json"
9799
9699
  ],
9800
- "required": true
9801
- },
9802
- "name": {
9803
- "description": "Tool name (unique identifier)",
9804
- "name": "name",
9805
- "required": true
9806
- }
9807
- },
9808
- "description": "Register an MCP server or CLI tool",
9809
- "examples": [
9810
- "<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description \"Arcade integrations\"",
9811
- "<%= config.bin %> tools add cli gh --command gh --detect \"which gh\" --install \"brew install gh\" --description \"GitHub CLI\""
9812
- ],
9813
- "flags": {
9814
- "json": {
9815
- "description": "Output as JSON for AI agents/scripts",
9816
- "name": "json",
9817
- "allowNo": false,
9818
- "type": "boolean"
9700
+ "type": "option"
9819
9701
  },
9820
- "machine": {
9821
- "char": "m",
9822
- "description": "Output as JSON for AI agents/scripts",
9823
- "name": "machine",
9702
+ "all": {
9703
+ "char": "a",
9704
+ "description": "Show tickets across all projects",
9705
+ "name": "all",
9824
9706
  "allowNo": false,
9825
9707
  "type": "boolean"
9826
9708
  },
9827
- "url": {
9828
- "description": "MCP server URL (for remote servers)",
9829
- "name": "url",
9830
- "hasDynamicHelp": false,
9831
- "multiple": false,
9832
- "type": "option"
9833
- },
9834
- "command": {
9835
- "description": "Command to run (MCP server command or CLI tool binary)",
9836
- "name": "command",
9837
- "hasDynamicHelp": false,
9838
- "multiple": false,
9839
- "type": "option"
9840
- },
9841
- "auth": {
9842
- "description": "Environment variable for authentication (e.g., ARCADE_API_KEY)",
9843
- "name": "auth",
9709
+ "label": {
9710
+ "description": "Filter by label name",
9711
+ "name": "label",
9844
9712
  "hasDynamicHelp": false,
9845
9713
  "multiple": false,
9846
9714
  "type": "option"
9847
9715
  },
9848
- "detect": {
9849
- "description": "Shell command to detect if CLI tool is installed",
9850
- "name": "detect",
9716
+ "group-by": {
9717
+ "char": "g",
9718
+ "description": "Group tickets by field",
9719
+ "name": "group-by",
9720
+ "default": "status",
9851
9721
  "hasDynamicHelp": false,
9852
9722
  "multiple": false,
9723
+ "options": [
9724
+ "status",
9725
+ "priority"
9726
+ ],
9853
9727
  "type": "option"
9854
9728
  },
9855
- "install": {
9856
- "description": "Shell command to install the CLI tool",
9857
- "name": "install",
9729
+ "limit": {
9730
+ "char": "l",
9731
+ "description": "Maximum number of tickets to display",
9732
+ "name": "limit",
9858
9733
  "hasDynamicHelp": false,
9859
9734
  "multiple": false,
9860
9735
  "type": "option"
9861
9736
  },
9862
- "description": {
9863
- "char": "d",
9864
- "description": "Human-readable description",
9865
- "name": "description",
9866
- "required": true,
9867
- "hasDynamicHelp": false,
9868
- "multiple": false,
9869
- "type": "option"
9870
- }
9871
- },
9872
- "hasDynamicHelp": false,
9873
- "hiddenAliases": [],
9874
- "id": "tools:add",
9875
- "pluginAlias": "@proletariat/cli",
9876
- "pluginName": "@proletariat/cli",
9877
- "pluginType": "core",
9878
- "strict": true,
9879
- "isESM": true,
9880
- "relativePath": [
9881
- "dist",
9882
- "commands",
9883
- "tools",
9884
- "add.js"
9885
- ]
9886
- },
9887
- "tools:check": {
9888
- "aliases": [],
9889
- "args": {},
9890
- "description": "Verify all registered tools are available and healthy",
9891
- "examples": [
9892
- "<%= config.bin %> tools check",
9893
- "<%= config.bin %> tools check --json"
9894
- ],
9895
- "flags": {
9896
- "json": {
9897
- "description": "Output as JSON for AI agents/scripts",
9898
- "name": "json",
9899
- "allowNo": false,
9900
- "type": "boolean"
9737
+ "offset": {
9738
+ "description": "Skip first N tickets (for pagination)",
9739
+ "name": "offset",
9740
+ "hasDynamicHelp": false,
9741
+ "multiple": false,
9742
+ "type": "option"
9901
9743
  },
9902
- "machine": {
9903
- "char": "m",
9904
- "description": "Output as JSON for AI agents/scripts",
9905
- "name": "machine",
9906
- "allowNo": false,
9907
- "type": "boolean"
9744
+ "source": {
9745
+ "description": "Ticket source: \"pmo\" for local DB, \"linear\" for Linear API, or \"auto\" to detect (default: auto)",
9746
+ "name": "source",
9747
+ "default": "auto",
9748
+ "hasDynamicHelp": false,
9749
+ "multiple": false,
9750
+ "options": [
9751
+ "auto",
9752
+ "pmo",
9753
+ "linear"
9754
+ ],
9755
+ "type": "option"
9756
+ },
9757
+ "team": {
9758
+ "description": "Linear team key (fallback: PRLT_LINEAR_TEAM)",
9759
+ "name": "team",
9760
+ "hasDynamicHelp": false,
9761
+ "multiple": false,
9762
+ "type": "option"
9908
9763
  }
9909
9764
  },
9910
9765
  "hasDynamicHelp": false,
9911
9766
  "hiddenAliases": [],
9912
- "id": "tools:check",
9767
+ "id": "ticket:list",
9913
9768
  "pluginAlias": "@proletariat/cli",
9914
9769
  "pluginName": "@proletariat/cli",
9915
9770
  "pluginType": "core",
@@ -9919,20 +9774,42 @@
9919
9774
  "relativePath": [
9920
9775
  "dist",
9921
9776
  "commands",
9922
- "tools",
9923
- "check.js"
9777
+ "ticket",
9778
+ "list.js"
9924
9779
  ]
9925
9780
  },
9926
- "tools:detect": {
9781
+ "ticket:move": {
9927
9782
  "aliases": [],
9928
- "args": {},
9929
- "description": "Auto-detect common CLI tools on the system and register them",
9783
+ "args": {
9784
+ "ticketId": {
9785
+ "description": "Ticket ID - prompts with dropdown if not provided",
9786
+ "name": "ticketId",
9787
+ "required": false
9788
+ },
9789
+ "column": {
9790
+ "description": "Target column - prompts with dropdown if not provided",
9791
+ "name": "column",
9792
+ "required": false
9793
+ }
9794
+ },
9795
+ "description": "Move ticket(s) to a different column",
9930
9796
  "examples": [
9931
- "<%= config.bin %> tools detect",
9932
- "<%= config.bin %> tools detect --auto",
9933
- "<%= config.bin %> tools detect --json"
9797
+ "<%= config.bin %> <%= command.id %> my-ticket \"In Progress\"",
9798
+ "<%= config.bin %> <%= command.id %> implement-auth Done",
9799
+ "<%= config.bin %> <%= command.id %> TKT-123 --status \"In Review\"",
9800
+ "<%= config.bin %> <%= command.id %> fix-bug \"In Review\" --position 0",
9801
+ "<%= config.bin %> <%= command.id %> TKT-123 --to-project PROJ-002",
9802
+ "<%= config.bin %> <%= command.id %> --bulk"
9934
9803
  ],
9935
9804
  "flags": {
9805
+ "project": {
9806
+ "char": "P",
9807
+ "description": "Project ID (uses first project if only one exists)",
9808
+ "name": "project",
9809
+ "hasDynamicHelp": false,
9810
+ "multiple": false,
9811
+ "type": "option"
9812
+ },
9936
9813
  "json": {
9937
9814
  "description": "Output as JSON for AI agents/scripts",
9938
9815
  "name": "json",
@@ -9946,40 +9823,81 @@
9946
9823
  "allowNo": false,
9947
9824
  "type": "boolean"
9948
9825
  },
9949
- "auto": {
9950
- "description": "Automatically register all detected tools without prompting",
9951
- "name": "auto",
9826
+ "status": {
9827
+ "char": "s",
9828
+ "description": "Target status/column (alternative to positional column argument)",
9829
+ "name": "status",
9830
+ "hasDynamicHelp": false,
9831
+ "multiple": false,
9832
+ "type": "option"
9833
+ },
9834
+ "position": {
9835
+ "description": "Position within the column (0 = top)",
9836
+ "name": "position",
9837
+ "hasDynamicHelp": false,
9838
+ "multiple": false,
9839
+ "type": "option"
9840
+ },
9841
+ "to-project": {
9842
+ "description": "Move ticket to a different project (uses Backlog/default column)",
9843
+ "name": "to-project",
9844
+ "hasDynamicHelp": false,
9845
+ "multiple": false,
9846
+ "type": "option"
9847
+ },
9848
+ "bulk": {
9849
+ "char": "b",
9850
+ "description": "Enable bulk mode to move multiple tickets",
9851
+ "name": "bulk",
9852
+ "allowNo": false,
9853
+ "type": "boolean"
9854
+ },
9855
+ "force": {
9856
+ "char": "f",
9857
+ "description": "Skip confirmation prompt (bulk mode only)",
9858
+ "name": "force",
9952
9859
  "allowNo": false,
9953
9860
  "type": "boolean"
9954
9861
  }
9955
9862
  },
9956
9863
  "hasDynamicHelp": false,
9957
9864
  "hiddenAliases": [],
9958
- "id": "tools:detect",
9865
+ "id": "ticket:move",
9959
9866
  "pluginAlias": "@proletariat/cli",
9960
9867
  "pluginName": "@proletariat/cli",
9961
9868
  "pluginType": "core",
9962
9869
  "strict": true,
9963
- "enableJsonFlag": false,
9964
9870
  "isESM": true,
9965
9871
  "relativePath": [
9966
9872
  "dist",
9967
9873
  "commands",
9968
- "tools",
9969
- "detect.js"
9874
+ "ticket",
9875
+ "move.js"
9970
9876
  ]
9971
9877
  },
9972
- "tools": {
9973
- "aliases": [
9974
- "tools:list"
9975
- ],
9976
- "args": {},
9977
- "description": "Show all registered MCP servers and CLI tools",
9878
+ "ticket:show": {
9879
+ "aliases": [],
9880
+ "args": {
9881
+ "ticketId": {
9882
+ "description": "Ticket ID to view - prompts with dropdown if not provided",
9883
+ "name": "ticketId",
9884
+ "required": false
9885
+ }
9886
+ },
9887
+ "description": "View detailed ticket information",
9978
9888
  "examples": [
9979
- "<%= config.bin %> tools",
9980
- "<%= config.bin %> tools --json"
9889
+ "<%= config.bin %> <%= command.id %> TICK-001",
9890
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
9981
9891
  ],
9982
9892
  "flags": {
9893
+ "project": {
9894
+ "char": "P",
9895
+ "description": "Project ID (uses first project if only one exists)",
9896
+ "name": "project",
9897
+ "hasDynamicHelp": false,
9898
+ "multiple": false,
9899
+ "type": "option"
9900
+ },
9983
9901
  "json": {
9984
9902
  "description": "Output as JSON for AI agents/scripts",
9985
9903
  "name": "json",
@@ -9996,35 +9914,49 @@
9996
9914
  },
9997
9915
  "hasDynamicHelp": false,
9998
9916
  "hiddenAliases": [],
9999
- "id": "tools",
9917
+ "id": "ticket:show",
10000
9918
  "pluginAlias": "@proletariat/cli",
10001
9919
  "pluginName": "@proletariat/cli",
10002
9920
  "pluginType": "core",
10003
9921
  "strict": true,
10004
- "enableJsonFlag": false,
10005
9922
  "isESM": true,
10006
9923
  "relativePath": [
10007
9924
  "dist",
10008
9925
  "commands",
10009
- "tools",
10010
- "index.js"
9926
+ "ticket",
9927
+ "show.js"
10011
9928
  ]
10012
9929
  },
10013
- "tools:remove": {
9930
+ "ticket:update": {
10014
9931
  "aliases": [],
10015
9932
  "args": {
10016
- "name": {
10017
- "description": "Tool name to remove",
10018
- "name": "name",
10019
- "required": true
9933
+ "ticketId": {
9934
+ "description": "Ticket ID - prompts with dropdown if not provided",
9935
+ "name": "ticketId",
9936
+ "required": false
10020
9937
  }
10021
9938
  },
10022
- "description": "Remove a tool from the registry",
9939
+ "description": "Update ticket fields (title, description, priority, category, labels, status)",
10023
9940
  "examples": [
10024
- "<%= config.bin %> tools remove arcade",
10025
- "<%= config.bin %> tools remove ffmpeg"
9941
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"New title\"",
9942
+ "<%= config.bin %> <%= command.id %> TKT-001 --description \"Updated description\"",
9943
+ "<%= config.bin %> <%= command.id %> TKT-001 --description-file ./spec.md",
9944
+ "<%= config.bin %> <%= command.id %> TKT-001 --priority P1",
9945
+ "<%= config.bin %> <%= command.id %> TKT-001 --category bug",
9946
+ "<%= config.bin %> <%= command.id %> TKT-001 --labels frontend,urgent",
9947
+ "<%= config.bin %> <%= command.id %> TKT-001 --status \"In Progress\"",
9948
+ "<%= config.bin %> <%= command.id %> TKT-001 --title \"Fix auth\" --priority P0 --status \"In Progress\" --json",
9949
+ "<%= config.bin %> <%= command.id %> --bulk --priority P1"
10026
9950
  ],
10027
9951
  "flags": {
9952
+ "project": {
9953
+ "char": "P",
9954
+ "description": "Project ID (uses first project if only one exists)",
9955
+ "name": "project",
9956
+ "hasDynamicHelp": false,
9957
+ "multiple": false,
9958
+ "type": "option"
9959
+ },
10028
9960
  "json": {
10029
9961
  "description": "Output as JSON for AI agents/scripts",
10030
9962
  "name": "json",
@@ -10037,22 +9969,90 @@
10037
9969
  "name": "machine",
10038
9970
  "allowNo": false,
10039
9971
  "type": "boolean"
9972
+ },
9973
+ "title": {
9974
+ "char": "t",
9975
+ "description": "Set ticket title",
9976
+ "name": "title",
9977
+ "hasDynamicHelp": false,
9978
+ "multiple": false,
9979
+ "type": "option"
9980
+ },
9981
+ "description": {
9982
+ "char": "d",
9983
+ "description": "Set ticket description",
9984
+ "name": "description",
9985
+ "hasDynamicHelp": false,
9986
+ "multiple": false,
9987
+ "type": "option"
9988
+ },
9989
+ "description-file": {
9990
+ "description": "Read ticket description from a file",
9991
+ "name": "description-file",
9992
+ "hasDynamicHelp": false,
9993
+ "multiple": false,
9994
+ "type": "option"
9995
+ },
9996
+ "priority": {
9997
+ "char": "p",
9998
+ "description": "Set priority (uses workspace priority scale, \"none\" to clear)",
9999
+ "name": "priority",
10000
+ "hasDynamicHelp": false,
10001
+ "multiple": false,
10002
+ "type": "option"
10003
+ },
10004
+ "category": {
10005
+ "char": "c",
10006
+ "description": "Set category (e.g., feature, bug, refactor, \"none\" to clear)",
10007
+ "name": "category",
10008
+ "hasDynamicHelp": false,
10009
+ "multiple": false,
10010
+ "type": "option"
10011
+ },
10012
+ "labels": {
10013
+ "char": "l",
10014
+ "description": "Set labels (comma-separated, replaces existing labels; use \"\" to clear)",
10015
+ "name": "labels",
10016
+ "hasDynamicHelp": false,
10017
+ "multiple": false,
10018
+ "type": "option"
10019
+ },
10020
+ "status": {
10021
+ "char": "s",
10022
+ "description": "Set status/column (e.g., \"In Progress\", \"Done\")",
10023
+ "name": "status",
10024
+ "hasDynamicHelp": false,
10025
+ "multiple": false,
10026
+ "type": "option"
10027
+ },
10028
+ "bulk": {
10029
+ "char": "b",
10030
+ "description": "Enable bulk mode to update multiple tickets",
10031
+ "name": "bulk",
10032
+ "allowNo": false,
10033
+ "type": "boolean"
10034
+ },
10035
+ "force": {
10036
+ "char": "f",
10037
+ "description": "Skip confirmation prompt",
10038
+ "name": "force",
10039
+ "allowNo": false,
10040
+ "type": "boolean"
10040
10041
  }
10041
10042
  },
10042
10043
  "hasDynamicHelp": false,
10043
10044
  "hiddenAliases": [],
10044
- "id": "tools:remove",
10045
+ "id": "ticket:update",
10045
10046
  "pluginAlias": "@proletariat/cli",
10046
10047
  "pluginName": "@proletariat/cli",
10047
10048
  "pluginType": "core",
10048
10049
  "strict": true,
10049
- "enableJsonFlag": false,
10050
10050
  "isESM": true,
10051
10051
  "relativePath": [
10052
10052
  "dist",
10053
10053
  "commands",
10054
- "tools",
10055
- "remove.js"
10054
+ "ticket",
10055
+ "update.js"
10056
10056
  ]
10057
10057
  },
10058
10058
  "trello:configure": {
@@ -13913,5 +13913,5 @@
13913
13913
  ]
13914
13914
  }
13915
13915
  },
13916
- "version": "0.3.101"
13916
+ "version": "0.3.102"
13917
13917
  }