@vibescope/mcp-server 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +194 -138
  3. package/dist/api-client.d.ts +276 -8
  4. package/dist/api-client.js +123 -8
  5. package/dist/cli.d.ts +6 -3
  6. package/dist/cli.js +28 -10
  7. package/dist/handlers/blockers.d.ts +11 -0
  8. package/dist/handlers/blockers.js +37 -2
  9. package/dist/handlers/bodies-of-work.d.ts +2 -0
  10. package/dist/handlers/bodies-of-work.js +30 -1
  11. package/dist/handlers/connectors.js +2 -2
  12. package/dist/handlers/decisions.d.ts +11 -0
  13. package/dist/handlers/decisions.js +37 -2
  14. package/dist/handlers/deployment.d.ts +6 -0
  15. package/dist/handlers/deployment.js +33 -5
  16. package/dist/handlers/discovery.js +27 -11
  17. package/dist/handlers/fallback.js +12 -6
  18. package/dist/handlers/file-checkouts.d.ts +1 -0
  19. package/dist/handlers/file-checkouts.js +17 -2
  20. package/dist/handlers/findings.d.ts +5 -0
  21. package/dist/handlers/findings.js +19 -2
  22. package/dist/handlers/git-issues.js +4 -2
  23. package/dist/handlers/ideas.d.ts +5 -0
  24. package/dist/handlers/ideas.js +19 -2
  25. package/dist/handlers/progress.js +2 -2
  26. package/dist/handlers/project.d.ts +1 -0
  27. package/dist/handlers/project.js +35 -2
  28. package/dist/handlers/requests.js +6 -3
  29. package/dist/handlers/roles.js +13 -2
  30. package/dist/handlers/session.d.ts +12 -0
  31. package/dist/handlers/session.js +288 -25
  32. package/dist/handlers/sprints.d.ts +2 -0
  33. package/dist/handlers/sprints.js +30 -1
  34. package/dist/handlers/tasks.d.ts +25 -2
  35. package/dist/handlers/tasks.js +228 -35
  36. package/dist/handlers/tool-docs.js +834 -767
  37. package/dist/index.js +73 -73
  38. package/dist/knowledge.d.ts +6 -0
  39. package/dist/knowledge.js +218 -0
  40. package/dist/setup.d.ts +22 -0
  41. package/dist/setup.js +313 -0
  42. package/dist/templates/agent-guidelines.d.ts +18 -0
  43. package/dist/templates/agent-guidelines.js +207 -0
  44. package/dist/tools.js +527 -174
  45. package/dist/utils.d.ts +5 -2
  46. package/dist/utils.js +101 -62
  47. package/docs/TOOLS.md +2053 -2053
  48. package/package.json +51 -46
  49. package/scripts/generate-docs.ts +212 -212
  50. package/scripts/version-bump.ts +203 -0
  51. package/src/api-client.test.ts +723 -723
  52. package/src/api-client.ts +2499 -2140
  53. package/src/cli.ts +27 -10
  54. package/src/handlers/__test-setup__.ts +236 -231
  55. package/src/handlers/__test-utils__.ts +87 -87
  56. package/src/handlers/blockers.test.ts +468 -392
  57. package/src/handlers/blockers.ts +163 -109
  58. package/src/handlers/bodies-of-work.test.ts +704 -704
  59. package/src/handlers/bodies-of-work.ts +526 -468
  60. package/src/handlers/connectors.test.ts +834 -834
  61. package/src/handlers/connectors.ts +229 -229
  62. package/src/handlers/cost.test.ts +462 -462
  63. package/src/handlers/cost.ts +285 -285
  64. package/src/handlers/decisions.test.ts +382 -313
  65. package/src/handlers/decisions.ts +153 -99
  66. package/src/handlers/deployment.test.ts +551 -470
  67. package/src/handlers/deployment.ts +541 -508
  68. package/src/handlers/discovery.test.ts +206 -206
  69. package/src/handlers/discovery.ts +390 -374
  70. package/src/handlers/fallback.test.ts +537 -536
  71. package/src/handlers/fallback.ts +194 -188
  72. package/src/handlers/file-checkouts.test.ts +750 -670
  73. package/src/handlers/file-checkouts.ts +185 -165
  74. package/src/handlers/findings.test.ts +633 -633
  75. package/src/handlers/findings.ts +239 -203
  76. package/src/handlers/git-issues.test.ts +631 -631
  77. package/src/handlers/git-issues.ts +136 -134
  78. package/src/handlers/ideas.test.ts +644 -644
  79. package/src/handlers/ideas.ts +207 -175
  80. package/src/handlers/index.ts +84 -84
  81. package/src/handlers/milestones.test.ts +475 -475
  82. package/src/handlers/milestones.ts +180 -180
  83. package/src/handlers/organizations.test.ts +826 -826
  84. package/src/handlers/organizations.ts +315 -315
  85. package/src/handlers/progress.test.ts +269 -269
  86. package/src/handlers/progress.ts +77 -77
  87. package/src/handlers/project.test.ts +546 -546
  88. package/src/handlers/project.ts +239 -194
  89. package/src/handlers/requests.test.ts +303 -272
  90. package/src/handlers/requests.ts +99 -96
  91. package/src/handlers/roles.test.ts +303 -303
  92. package/src/handlers/roles.ts +226 -208
  93. package/src/handlers/session.test.ts +875 -576
  94. package/src/handlers/session.ts +738 -425
  95. package/src/handlers/sprints.test.ts +732 -732
  96. package/src/handlers/sprints.ts +537 -477
  97. package/src/handlers/tasks.test.ts +907 -980
  98. package/src/handlers/tasks.ts +945 -716
  99. package/src/handlers/tool-categories.test.ts +66 -66
  100. package/src/handlers/tool-docs.ts +1096 -1024
  101. package/src/handlers/types.test.ts +259 -0
  102. package/src/handlers/types.ts +175 -175
  103. package/src/handlers/validation.test.ts +582 -582
  104. package/src/handlers/validation.ts +97 -97
  105. package/src/index.ts +792 -792
  106. package/src/setup.test.ts +231 -0
  107. package/src/setup.ts +370 -0
  108. package/src/templates/agent-guidelines.ts +210 -0
  109. package/src/token-tracking.test.ts +453 -453
  110. package/src/token-tracking.ts +164 -164
  111. package/src/tools.ts +3562 -3208
  112. package/src/utils.test.ts +683 -681
  113. package/src/utils.ts +436 -392
  114. package/src/validators.test.ts +223 -223
  115. package/src/validators.ts +249 -249
  116. package/tsconfig.json +16 -16
  117. package/vitest.config.ts +14 -14
@@ -7,898 +7,965 @@
7
7
  * Token savings: ~8,000 tokens per schema load when this isn't bundled.
8
8
  */
9
9
  export const TOOL_INFO = {
10
- start_work_session: `# start_work_session
11
- Initialize agent session and get assigned work.
12
-
13
- **Parameters:**
14
- - project_id (optional): Project UUID
15
- - git_url (optional): Git URL to find project
16
- - mode: 'lite' (default) or 'full' for complete context
17
-
18
- **Returns:** session_id, persona, project info, next_task
19
-
10
+ start_work_session: `# start_work_session
11
+ Initialize agent session and get assigned work.
12
+
13
+ **Parameters:**
14
+ - project_id (optional): Project UUID
15
+ - git_url (optional): Git URL to find project
16
+ - mode: 'lite' (default) or 'full' for complete context
17
+
18
+ **Returns:** session_id, persona, project info, next_task
19
+
20
20
  **Example:** start_work_session(git_url: "https://github.com/org/repo")`,
21
- get_help: `# get_help
22
- Get workflow guidance on specific topics.
23
-
24
- **Parameters:**
25
- - topic (required): One of: getting_started, tasks, validation, deployment, git, blockers, milestones, fallback, session, tokens, topics
26
-
21
+ get_help: `# get_help
22
+ Get workflow guidance on specific topics.
23
+
24
+ **Parameters:**
25
+ - topic (required): One of: getting_started, tasks, validation, deployment, git, blockers, milestones, fallback, session, tokens, topics
26
+
27
27
  **Example:** get_help(topic: "deployment")`,
28
- get_token_usage: `# get_token_usage
29
- Get token usage statistics for current session.
30
-
28
+ get_token_usage: `# get_token_usage
29
+ Get token usage statistics for current session.
30
+
31
31
  **Returns:** total calls, total tokens, breakdown by tool, averages`,
32
- heartbeat: `# heartbeat
33
- Send heartbeat to maintain active status. Call every 30-60 seconds.
34
-
35
- **Parameters:**
36
- - session_id (optional): Uses current session if not provided
32
+ heartbeat: `# heartbeat
33
+ Send heartbeat to maintain active status. Call every 30-60 seconds.
34
+
35
+ **Parameters:**
36
+ - session_id (optional): Uses current session if not provided
37
37
  - current_worktree_path (optional): Report your current git worktree path (e.g., "../project-task-abc123")`,
38
- end_work_session: `# end_work_session
39
- End session and release claimed tasks.
40
-
41
- **Parameters:**
42
- - session_id (optional): Uses current session if not provided
43
-
38
+ end_work_session: `# end_work_session
39
+ End session and release claimed tasks.
40
+
41
+ **Parameters:**
42
+ - session_id (optional): Uses current session if not provided
43
+
44
44
  **Returns:** Session summary with tasks completed, time spent`,
45
- get_project_context: `# get_project_context
46
- Get full project context including goals, instructions, tasks, blockers, decisions.
47
-
48
- **Parameters:**
49
- - project_id (optional): Project UUID
50
- - git_url (optional): Git URL to find project
51
-
45
+ get_project_context: `# get_project_context
46
+ Get full project context including goals, instructions, tasks, blockers, decisions.
47
+
48
+ **Parameters:**
49
+ - project_id (optional): Project UUID
50
+ - git_url (optional): Git URL to find project
51
+
52
52
  Without params, lists all projects.`,
53
- get_git_workflow: `# get_git_workflow
54
- Get git workflow config and branching instructions.
55
-
56
- **Parameters:**
57
- - project_id (required): Project UUID
58
- - task_id (optional): Include branch naming suggestion
59
-
53
+ get_git_workflow: `# get_git_workflow
54
+ Get git workflow config and branching instructions.
55
+
56
+ **Parameters:**
57
+ - project_id (required): Project UUID
58
+ - task_id (optional): Include branch naming suggestion
59
+
60
60
  **Returns:** workflow type, branch names, auto-settings`,
61
- create_project: `# create_project
62
- Create a new project to track.
63
-
64
- **Parameters:**
65
- - name (required): Project display name
66
- - description: Brief description
67
- - goal: What "done" looks like
68
- - git_url: Repository URL
61
+ create_project: `# create_project
62
+ Create a new project to track.
63
+
64
+ **Parameters:**
65
+ - name (required): Project display name
66
+ - description: Brief description
67
+ - goal: What "done" looks like
68
+ - git_url: Repository URL
69
69
  - tech_stack: Array of technologies`,
70
- update_project: `# update_project
71
- Update project settings.
72
-
73
- **Parameters:**
74
- - project_id (required): Project UUID
75
- - name, description, goal, git_url, tech_stack, status
76
- - git_workflow: none, trunk-based, github-flow, git-flow
70
+ update_project: `# update_project
71
+ Update project settings.
72
+
73
+ **Parameters:**
74
+ - project_id (required): Project UUID
75
+ - name, description, goal, git_url, tech_stack, status
76
+ - git_workflow: none, trunk-based, github-flow, git-flow
77
77
  - git_main_branch, git_develop_branch, git_auto_branch, git_auto_tag`,
78
- update_project_readme: `# update_project_readme
79
- Sync README content to the dashboard.
80
-
81
- **Parameters:**
82
- - project_id (required): Project UUID
78
+ update_project_readme: `# update_project_readme
79
+ Sync README content to the dashboard.
80
+
81
+ **Parameters:**
82
+ - project_id (required): Project UUID
83
83
  - readme_content (required): Markdown content`,
84
- get_tasks: `# get_tasks
85
- Get tasks for a project.
86
-
87
- **Parameters:**
88
- - project_id (required): Project UUID
89
- - status (optional): pending, in_progress, completed, cancelled
90
- - limit (optional): Max tasks (default 50)`,
91
- get_next_task: `# get_next_task
92
- Get highest priority pending task not claimed by another agent.
93
-
94
- **Parameters:**
95
- - project_id (required): Project UUID
96
-
84
+ get_task: `# get_task
85
+ Get a single task by ID with optional subtasks and milestones.
86
+
87
+ **Parameters:**
88
+ - task_id (required): Task UUID
89
+ - include_subtasks (optional): Include subtasks array (default: false)
90
+ - include_milestones (optional): Include milestones array (default: false)`,
91
+ search_tasks: `# search_tasks
92
+ Search tasks by text query. Supports pagination.
93
+
94
+ **Parameters:**
95
+ - project_id (required): Project UUID
96
+ - query (required): Search query (min 2 chars)
97
+ - status (optional): Array of statuses to filter
98
+ - limit (optional): Max results per page (1-20, default: 10)
99
+ - offset (optional): Number of results to skip (default: 0)
100
+
101
+ **Returns:**
102
+ - tasks: Array of matching tasks
103
+ - total_matches: Total number of matching tasks
104
+ - has_more: Whether more results exist beyond current page
105
+ - offset: Current offset
106
+ - limit: Current limit`,
107
+ get_tasks_by_priority: `# get_tasks_by_priority
108
+ Get tasks filtered by priority. Supports pagination.
109
+
110
+ **Parameters:**
111
+ - project_id (required): Project UUID
112
+ - priority (optional): Exact priority (1-5)
113
+ - priority_max (optional): Max priority for range query
114
+ - status (optional): Filter by status (default: pending)
115
+ - limit (optional): Max results per page (1-20, default: 10)
116
+ - offset (optional): Number of results to skip (default: 0)
117
+
118
+ **Returns:**
119
+ - tasks: Array of matching tasks
120
+ - total_count: Total number of matching tasks
121
+ - has_more: Whether more results exist beyond current page
122
+ - offset: Current offset
123
+ - limit: Current limit`,
124
+ get_recent_tasks: `# get_recent_tasks
125
+ Get tasks ordered by creation date. Supports pagination.
126
+
127
+ **Parameters:**
128
+ - project_id (required): Project UUID
129
+ - order (optional): 'newest' or 'oldest' (default: newest)
130
+ - status (optional): Filter by status
131
+ - limit (optional): Max results per page (1-20, default: 10)
132
+ - offset (optional): Number of results to skip (default: 0)
133
+
134
+ **Returns:**
135
+ - tasks: Array of matching tasks
136
+ - total_count: Total number of matching tasks
137
+ - has_more: Whether more results exist beyond current page
138
+ - offset: Current offset
139
+ - limit: Current limit`,
140
+ get_task_stats: `# get_task_stats
141
+ Get aggregate task statistics. Most token-efficient way to understand project state.
142
+
143
+ **Parameters:**
144
+ - project_id (required): Project UUID
145
+
146
+ **Returns:** Counts by status and priority, no task data`,
147
+ get_next_task: `# get_next_task
148
+ Get highest priority pending task not claimed by another agent.
149
+
150
+ **Parameters:**
151
+ - project_id (required): Project UUID
152
+
97
153
  **Returns:** task or null, may suggest fallback activity`,
98
- add_task: `# add_task
99
- Create a new task.
100
-
101
- **Parameters:**
102
- - project_id (required): Project UUID
103
- - title (required): Task title
104
- - description: Detailed description
105
- - priority: 1-5 (1=highest, default 3)
154
+ add_task: `# add_task
155
+ Create a new task.
156
+
157
+ **Parameters:**
158
+ - project_id (required): Project UUID
159
+ - title (required): Task title
160
+ - description: Detailed description
161
+ - priority: 1-5 (1=highest, default 3)
106
162
  - estimated_minutes: Time estimate`,
107
- update_task: `# update_task
108
- Update task status, progress, or details.
109
-
110
- **Parameters:**
111
- - task_id (required): Task UUID
112
- - status: pending, in_progress, completed, cancelled
113
- - progress_percentage: 0-100
114
- - progress_note: Brief note (auto-logged)
115
- - title, description, priority, estimated_minutes, git_branch
116
-
163
+ update_task: `# update_task
164
+ Update task status, progress, or details.
165
+
166
+ **Parameters:**
167
+ - task_id (required): Task UUID
168
+ - status: pending, in_progress, completed, cancelled
169
+ - progress_percentage: 0-100
170
+ - progress_note: Brief note (auto-logged)
171
+ - title, description, priority, estimated_minutes, git_branch
172
+
117
173
  **Best practice:** Include progress_note with progress_percentage`,
118
- complete_task: `# complete_task
119
- Mark task as done.
120
-
121
- **Parameters:**
122
- - task_id (required): Task UUID
123
- - summary: What was done
124
-
174
+ complete_task: `# complete_task
175
+ Mark task as done.
176
+
177
+ **Parameters:**
178
+ - task_id (required): Task UUID
179
+ - summary: What was done
180
+
125
181
  **Returns:** next_task, validation_count, blockers_count, deployment_priority`,
126
- delete_task: `# delete_task
127
- Delete a task.
128
-
129
- **Parameters:**
182
+ delete_task: `# delete_task
183
+ Delete a task.
184
+
185
+ **Parameters:**
130
186
  - task_id (required): Task UUID`,
131
- batch_update_tasks: `# batch_update_tasks
132
- Update multiple tasks at once.
133
-
134
- **Parameters:**
187
+ cancel_task: `# cancel_task
188
+ Cancel a task with an optional reason. Use this when a task should be marked as cancelled rather than deleted (e.g., PR was closed, work was superseded). The task remains visible with a cancelled status for historical tracking.
189
+
190
+ **Parameters:**
191
+ - task_id (required): Task UUID
192
+ - cancelled_reason (optional): One of: pr_closed, superseded, user_cancelled, validation_failed, obsolete, blocked
193
+ - cancellation_note (optional): Additional context about the cancellation
194
+
195
+ **Returns:** task_id, cancelled_reason, message, sprint info (if auto-completed)
196
+
197
+ **Example:** cancel_task(task_id: "abc", cancelled_reason: "pr_closed", cancellation_note: "PR was closed without merging")`,
198
+ batch_update_tasks: `# batch_update_tasks
199
+ Update multiple tasks at once.
200
+
201
+ **Parameters:**
135
202
  - updates (required): Array of {task_id, status?, progress_percentage?, progress_note?, priority?}`,
136
- batch_complete_tasks: `# batch_complete_tasks
137
- Complete multiple tasks at once.
138
-
139
- **Parameters:**
203
+ batch_complete_tasks: `# batch_complete_tasks
204
+ Complete multiple tasks at once.
205
+
206
+ **Parameters:**
140
207
  - completions (required): Array of {task_id, summary?}`,
141
- add_task_reference: `# add_task_reference
142
- Add a reference URL to a task.
143
-
144
- **Parameters:**
145
- - task_id (required): Task UUID
146
- - url (required): Reference URL
208
+ add_task_reference: `# add_task_reference
209
+ Add a reference URL to a task.
210
+
211
+ **Parameters:**
212
+ - task_id (required): Task UUID
213
+ - url (required): Reference URL
147
214
  - label (optional): Display label`,
148
- remove_task_reference: `# remove_task_reference
149
- Remove a reference URL from a task.
150
-
151
- **Parameters:**
152
- - task_id (required): Task UUID
215
+ remove_task_reference: `# remove_task_reference
216
+ Remove a reference URL from a task.
217
+
218
+ **Parameters:**
219
+ - task_id (required): Task UUID
153
220
  - url (required): URL to remove`,
154
- add_milestone: `# add_milestone
155
- Add a milestone/step to a task.
156
-
157
- **Parameters:**
158
- - task_id (required): Task UUID
159
- - title (required): Milestone title
160
- - description (optional): Details
221
+ add_milestone: `# add_milestone
222
+ Add a milestone/step to a task.
223
+
224
+ **Parameters:**
225
+ - task_id (required): Task UUID
226
+ - title (required): Milestone title
227
+ - description (optional): Details
161
228
  - order_index (optional): Position (0-based)`,
162
- update_milestone: `# update_milestone
163
- Update a milestone.
164
-
165
- **Parameters:**
166
- - milestone_id (required): Milestone UUID
229
+ update_milestone: `# update_milestone
230
+ Update a milestone.
231
+
232
+ **Parameters:**
233
+ - milestone_id (required): Milestone UUID
167
234
  - title, description, status (pending/in_progress/completed), order_index`,
168
- complete_milestone: `# complete_milestone
169
- Mark milestone as completed.
170
-
171
- **Parameters:**
235
+ complete_milestone: `# complete_milestone
236
+ Mark milestone as completed.
237
+
238
+ **Parameters:**
172
239
  - milestone_id (required): Milestone UUID`,
173
- delete_milestone: `# delete_milestone
174
- Delete a milestone.
175
-
176
- **Parameters:**
240
+ delete_milestone: `# delete_milestone
241
+ Delete a milestone.
242
+
243
+ **Parameters:**
177
244
  - milestone_id (required): Milestone UUID`,
178
- get_milestones: `# get_milestones
179
- Get all milestones for a task.
180
-
181
- **Parameters:**
245
+ get_milestones: `# get_milestones
246
+ Get all milestones for a task.
247
+
248
+ **Parameters:**
182
249
  - task_id (required): Task UUID`,
183
- log_progress: `# log_progress
184
- Record a progress update.
185
-
186
- **Parameters:**
187
- - project_id (required): Project UUID
188
- - summary (required): Brief summary
189
- - task_id (optional): Link to task
250
+ log_progress: `# log_progress
251
+ Record a progress update.
252
+
253
+ **Parameters:**
254
+ - project_id (required): Project UUID
255
+ - summary (required): Brief summary
256
+ - task_id (optional): Link to task
190
257
  - details (optional): Extended notes`,
191
- get_activity_feed: `# get_activity_feed
192
- Get combined activity feed.
193
-
194
- **Parameters:**
195
- - project_id (required): Project UUID
196
- - types (optional): Array of task, progress, blocker, decision
197
- - created_by (optional): agent or user
198
- - since (optional): ISO date string
258
+ get_activity_feed: `# get_activity_feed
259
+ Get combined activity feed.
260
+
261
+ **Parameters:**
262
+ - project_id (required): Project UUID
263
+ - types (optional): Array of task, progress, blocker, decision
264
+ - created_by (optional): agent or user
265
+ - since (optional): ISO date string
199
266
  - limit (optional): Max items (default 50)`,
200
- add_blocker: `# add_blocker
201
- Record a blocker preventing progress.
202
-
203
- **Parameters:**
204
- - project_id (required): Project UUID
267
+ add_blocker: `# add_blocker
268
+ Record a blocker preventing progress.
269
+
270
+ **Parameters:**
271
+ - project_id (required): Project UUID
205
272
  - description (required): What is blocking`,
206
- resolve_blocker: `# resolve_blocker
207
- Mark a blocker as resolved.
208
-
209
- **Parameters:**
210
- - blocker_id (required): Blocker UUID
273
+ resolve_blocker: `# resolve_blocker
274
+ Mark a blocker as resolved.
275
+
276
+ **Parameters:**
277
+ - blocker_id (required): Blocker UUID
211
278
  - resolution_note (optional): How it was resolved`,
212
- get_blockers: `# get_blockers
213
- Get blockers for a project.
214
-
215
- **Parameters:**
216
- - project_id (required): Project UUID
279
+ get_blockers: `# get_blockers
280
+ Get blockers for a project.
281
+
282
+ **Parameters:**
283
+ - project_id (required): Project UUID
217
284
  - status (optional): open or resolved (default: open)`,
218
- delete_blocker: `# delete_blocker
219
- Delete a blocker.
220
-
221
- **Parameters:**
285
+ delete_blocker: `# delete_blocker
286
+ Delete a blocker.
287
+
288
+ **Parameters:**
222
289
  - blocker_id (required): Blocker UUID`,
223
- log_decision: `# log_decision
224
- Record an architectural decision.
225
-
226
- **Parameters:**
227
- - project_id (required): Project UUID
228
- - title (required): Decision title
229
- - description (required): What was decided
230
- - rationale (optional): Why
290
+ log_decision: `# log_decision
291
+ Record an architectural decision.
292
+
293
+ **Parameters:**
294
+ - project_id (required): Project UUID
295
+ - title (required): Decision title
296
+ - description (required): What was decided
297
+ - rationale (optional): Why
231
298
  - alternatives_considered (optional): Array of alternatives`,
232
- get_decisions: `# get_decisions
233
- Get recorded decisions.
234
-
235
- **Parameters:**
299
+ get_decisions: `# get_decisions
300
+ Get recorded decisions.
301
+
302
+ **Parameters:**
236
303
  - project_id (required): Project UUID`,
237
- delete_decision: `# delete_decision
238
- Delete a decision.
239
-
240
- **Parameters:**
304
+ delete_decision: `# delete_decision
305
+ Delete a decision.
306
+
307
+ **Parameters:**
241
308
  - decision_id (required): Decision UUID`,
242
- add_idea: `# add_idea
243
- Record an improvement idea.
244
-
245
- **Parameters:**
246
- - project_id (required): Project UUID
247
- - title (required): Idea title
248
- - description (optional): Details
309
+ add_idea: `# add_idea
310
+ Record an improvement idea.
311
+
312
+ **Parameters:**
313
+ - project_id (required): Project UUID
314
+ - title (required): Idea title
315
+ - description (optional): Details
249
316
  - status (optional): raw, exploring, planned, in_development, shipped`,
250
- update_idea: `# update_idea
251
- Update an idea.
252
-
253
- **Parameters:**
254
- - idea_id (required): Idea UUID
317
+ update_idea: `# update_idea
318
+ Update an idea.
319
+
320
+ **Parameters:**
321
+ - idea_id (required): Idea UUID
255
322
  - title, description, status, doc_url`,
256
- get_ideas: `# get_ideas
257
- Get recorded ideas.
258
-
259
- **Parameters:**
260
- - project_id (required): Project UUID
323
+ get_ideas: `# get_ideas
324
+ Get recorded ideas.
325
+
326
+ **Parameters:**
327
+ - project_id (required): Project UUID
261
328
  - status (optional): Filter by status`,
262
- delete_idea: `# delete_idea
263
- Delete an idea.
264
-
265
- **Parameters:**
329
+ delete_idea: `# delete_idea
330
+ Delete an idea.
331
+
332
+ **Parameters:**
266
333
  - idea_id (required): Idea UUID`,
267
- convert_idea_to_task: `# convert_idea_to_task
268
- Convert an idea to a task. Creates a new task from the idea's title and description.
269
-
270
- **Parameters:**
271
- - idea_id (required): Idea UUID to convert
272
- - priority (optional): Task priority 1-5 (default: 3)
273
- - estimated_minutes (optional): Estimated time
274
- - update_status (optional): Update idea to 'in_development' (default: true)
275
-
276
- **Returns:**
277
- - task_id: Created task UUID
334
+ convert_idea_to_task: `# convert_idea_to_task
335
+ Convert an idea to a task. Creates a new task from the idea's title and description.
336
+
337
+ **Parameters:**
338
+ - idea_id (required): Idea UUID to convert
339
+ - priority (optional): Task priority 1-5 (default: 3)
340
+ - estimated_minutes (optional): Estimated time
341
+ - update_status (optional): Update idea to 'in_development' (default: true)
342
+
343
+ **Returns:**
344
+ - task_id: Created task UUID
278
345
  - Links idea and task together`,
279
- add_finding: `# add_finding
280
- Record an audit/review finding.
281
-
282
- **Parameters:**
283
- - project_id (required): Project UUID
284
- - title (required): Finding title
285
- - category: performance, security, code_quality, accessibility, documentation, architecture, testing, other
286
- - description: Details with impact and suggested fix
287
- - severity: info, low, medium, high, critical
346
+ add_finding: `# add_finding
347
+ Record an audit/review finding.
348
+
349
+ **Parameters:**
350
+ - project_id (required): Project UUID
351
+ - title (required): Finding title
352
+ - category: performance, security, code_quality, accessibility, documentation, architecture, testing, other
353
+ - description: Details with impact and suggested fix
354
+ - severity: info, low, medium, high, critical
288
355
  - file_path, line_number, related_task_id (optional)`,
289
- get_findings: `# get_findings
290
- Get audit findings.
291
-
292
- **Parameters:**
293
- - project_id (required): Project UUID
294
- - category, severity, status (optional filters)
356
+ get_findings: `# get_findings
357
+ Get audit findings.
358
+
359
+ **Parameters:**
360
+ - project_id (required): Project UUID
361
+ - category, severity, status (optional filters)
295
362
  - limit (optional): Max items`,
296
- update_finding: `# update_finding
297
- Update a finding.
298
-
299
- **Parameters:**
300
- - finding_id (required): Finding UUID
301
- - status: open, addressed, dismissed, wontfix
363
+ update_finding: `# update_finding
364
+ Update a finding.
365
+
366
+ **Parameters:**
367
+ - finding_id (required): Finding UUID
368
+ - status: open, addressed, dismissed, wontfix
302
369
  - resolution_note, title, description, severity`,
303
- delete_finding: `# delete_finding
304
- Delete a finding.
305
-
306
- **Parameters:**
370
+ delete_finding: `# delete_finding
371
+ Delete a finding.
372
+
373
+ **Parameters:**
307
374
  - finding_id (required): Finding UUID`,
308
- get_tasks_awaiting_validation: `# get_tasks_awaiting_validation
309
- Get completed tasks needing validation.
310
-
311
- **Parameters:**
312
- - project_id (required): Project UUID
313
-
375
+ get_tasks_awaiting_validation: `# get_tasks_awaiting_validation
376
+ Get completed tasks needing validation.
377
+
378
+ **Parameters:**
379
+ - project_id (required): Project UUID
380
+
314
381
  **Returns:** Tasks with reviewing status (who's reviewing, when started)`,
315
- claim_validation: `# claim_validation
316
- Claim a completed task for review. Shows "being reviewed" on dashboard.
317
-
318
- **Parameters:**
319
- - task_id (required): Task UUID to claim
320
-
382
+ claim_validation: `# claim_validation
383
+ Claim a completed task for review. Shows "being reviewed" on dashboard.
384
+
385
+ **Parameters:**
386
+ - task_id (required): Task UUID to claim
387
+
321
388
  **Note:** Claim before reviewing to prevent duplicate work.`,
322
- validate_task: `# validate_task
323
- Validate a completed task.
324
-
325
- **Parameters:**
326
- - task_id (required): Task UUID
327
- - approved (required): true/false
389
+ validate_task: `# validate_task
390
+ Validate a completed task.
391
+
392
+ **Parameters:**
393
+ - task_id (required): Task UUID
394
+ - approved (required): true/false
328
395
  - validation_notes: What was checked, issues found`,
329
- request_deployment: `# request_deployment
330
- Request a deployment.
331
-
332
- **Parameters:**
333
- - project_id (required): Project UUID
334
- - environment: development, staging, production
335
- - version_bump: patch, minor, major
396
+ request_deployment: `# request_deployment
397
+ Request a deployment.
398
+
399
+ **Parameters:**
400
+ - project_id (required): Project UUID
401
+ - environment: development, staging, production
402
+ - version_bump: patch, minor, major
336
403
  - notes, git_ref (optional)`,
337
- claim_deployment_validation: `# claim_deployment_validation
338
- Claim pending deployment for validation.
339
-
340
- **Parameters:**
341
- - project_id (required): Project UUID
342
-
404
+ claim_deployment_validation: `# claim_deployment_validation
405
+ Claim pending deployment for validation.
406
+
407
+ **Parameters:**
408
+ - project_id (required): Project UUID
409
+
343
410
  Next: Run build+tests, then call report_validation`,
344
- report_validation: `# report_validation
345
- Report build/test results.
346
-
347
- **Parameters:**
348
- - project_id (required): Project UUID
349
- - build_passed (required): boolean
350
- - tests_passed (required): boolean
411
+ report_validation: `# report_validation
412
+ Report build/test results.
413
+
414
+ **Parameters:**
415
+ - project_id (required): Project UUID
416
+ - build_passed (required): boolean
417
+ - tests_passed (required): boolean
351
418
  - error_message (if failed)`,
352
- check_deployment_status: `# check_deployment_status
353
- Get active deployment status.
354
-
355
- **Parameters:**
419
+ check_deployment_status: `# check_deployment_status
420
+ Get active deployment status.
421
+
422
+ **Parameters:**
356
423
  - project_id (required): Project UUID`,
357
- start_deployment: `# start_deployment
358
- Start deployment (requires 'ready' status).
359
-
360
- **Parameters:**
424
+ start_deployment: `# start_deployment
425
+ Start deployment (requires 'ready' status).
426
+
427
+ **Parameters:**
361
428
  - project_id (required): Project UUID`,
362
- complete_deployment: `# complete_deployment
363
- Mark deployment complete.
364
-
365
- **Parameters:**
366
- - project_id (required): Project UUID
367
- - success (required): boolean
429
+ complete_deployment: `# complete_deployment
430
+ Mark deployment complete.
431
+
432
+ **Parameters:**
433
+ - project_id (required): Project UUID
434
+ - success (required): boolean
368
435
  - summary: What was deployed or why failed`,
369
- cancel_deployment: `# cancel_deployment
370
- Cancel active deployment.
371
-
372
- **Parameters:**
373
- - project_id (required): Project UUID
436
+ cancel_deployment: `# cancel_deployment
437
+ Cancel active deployment.
438
+
439
+ **Parameters:**
440
+ - project_id (required): Project UUID
374
441
  - reason (optional): Why cancelled`,
375
- schedule_deployment: `# schedule_deployment
376
- Schedule a deployment for a specific time.
377
-
378
- **Parameters:**
379
- - project_id (required): Project UUID
380
- - scheduled_at (required): ISO 8601 datetime
381
- - schedule_type (optional): once, daily, weekly, monthly (default: once)
382
- - auto_trigger (optional): Whether agents auto-trigger (default: true)
383
- - environment (optional): development, staging, production (default: production)
384
- - version_bump (optional): patch, minor, major (default: patch)
385
- - notes (optional): Notes about the deployment
386
- - git_ref (optional): Git branch or commit
387
-
442
+ schedule_deployment: `# schedule_deployment
443
+ Schedule a deployment for a specific time.
444
+
445
+ **Parameters:**
446
+ - project_id (required): Project UUID
447
+ - scheduled_at (required): ISO 8601 datetime
448
+ - schedule_type (optional): once, daily, weekly, monthly (default: once)
449
+ - auto_trigger (optional): Whether agents auto-trigger (default: true)
450
+ - environment (optional): development, staging, production (default: production)
451
+ - version_bump (optional): patch, minor, major (default: patch)
452
+ - notes (optional): Notes about the deployment
453
+ - git_ref (optional): Git branch or commit
454
+
388
455
  **Example:** schedule_deployment(project_id, scheduled_at: "2025-01-15T10:00:00Z", schedule_type: "weekly")`,
389
- get_scheduled_deployments: `# get_scheduled_deployments
390
- List scheduled deployments for a project.
391
-
392
- **Parameters:**
393
- - project_id (required): Project UUID
456
+ get_scheduled_deployments: `# get_scheduled_deployments
457
+ List scheduled deployments for a project.
458
+
459
+ **Parameters:**
460
+ - project_id (required): Project UUID
394
461
  - include_disabled (optional): Include disabled schedules (default: false)`,
395
- update_scheduled_deployment: `# update_scheduled_deployment
396
- Update a scheduled deployment's configuration.
397
-
398
- **Parameters:**
399
- - schedule_id (required): Schedule UUID
400
- - scheduled_at (optional): New scheduled time
401
- - schedule_type (optional): once, daily, weekly, monthly
402
- - auto_trigger (optional): Whether to auto-trigger
403
- - enabled (optional): Enable or disable
462
+ update_scheduled_deployment: `# update_scheduled_deployment
463
+ Update a scheduled deployment's configuration.
464
+
465
+ **Parameters:**
466
+ - schedule_id (required): Schedule UUID
467
+ - scheduled_at (optional): New scheduled time
468
+ - schedule_type (optional): once, daily, weekly, monthly
469
+ - auto_trigger (optional): Whether to auto-trigger
470
+ - enabled (optional): Enable or disable
404
471
  - environment, version_bump, notes, git_ref (optional)`,
405
- delete_scheduled_deployment: `# delete_scheduled_deployment
406
- Delete a scheduled deployment.
407
-
408
- **Parameters:**
472
+ delete_scheduled_deployment: `# delete_scheduled_deployment
473
+ Delete a scheduled deployment.
474
+
475
+ **Parameters:**
409
476
  - schedule_id (required): Schedule UUID`,
410
- trigger_scheduled_deployment: `# trigger_scheduled_deployment
411
- Manually trigger a scheduled deployment.
412
-
413
- Creates a new deployment using the schedule's configuration.
414
- Updates schedule: last_triggered_at, trigger_count, next scheduled_at (for recurring).
415
-
416
- **Parameters:**
477
+ trigger_scheduled_deployment: `# trigger_scheduled_deployment
478
+ Manually trigger a scheduled deployment.
479
+
480
+ Creates a new deployment using the schedule's configuration.
481
+ Updates schedule: last_triggered_at, trigger_count, next scheduled_at (for recurring).
482
+
483
+ **Parameters:**
417
484
  - schedule_id (required): Schedule UUID`,
418
- check_due_deployments: `# check_due_deployments
419
- Check for scheduled deployments that are due.
420
-
421
- Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW()
422
-
423
- Use this to find deployments to trigger when working on a project.
424
-
425
- **Parameters:**
485
+ check_due_deployments: `# check_due_deployments
486
+ Check for scheduled deployments that are due.
487
+
488
+ Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW()
489
+
490
+ Use this to find deployments to trigger when working on a project.
491
+
492
+ **Parameters:**
426
493
  - project_id (required): Project UUID`,
427
- start_fallback_activity: `# start_fallback_activity
428
- Start background activity when no tasks.
429
-
430
- **Parameters:**
431
- - project_id (required): Project UUID
494
+ start_fallback_activity: `# start_fallback_activity
495
+ Start background activity when no tasks.
496
+
497
+ **Parameters:**
498
+ - project_id (required): Project UUID
432
499
  - activity (required): feature_ideation, code_review, performance_audit, ux_review, cost_analysis, security_review, test_coverage, documentation_review, dependency_audit, validate_completed_tasks`,
433
- stop_fallback_activity: `# stop_fallback_activity
434
- Stop current fallback activity.
435
-
436
- **Parameters:**
437
- - project_id (required): Project UUID
500
+ stop_fallback_activity: `# stop_fallback_activity
501
+ Stop current fallback activity.
502
+
503
+ **Parameters:**
504
+ - project_id (required): Project UUID
438
505
  - summary (optional): What was accomplished`,
439
- get_activity_history: `# get_activity_history
440
- Get background activity history.
441
-
442
- **Parameters:**
443
- - project_id (required): Project UUID
444
- - activity_type (optional): Filter by type
506
+ get_activity_history: `# get_activity_history
507
+ Get background activity history.
508
+
509
+ **Parameters:**
510
+ - project_id (required): Project UUID
511
+ - activity_type (optional): Filter by type
445
512
  - limit (optional): Max items`,
446
- get_activity_schedules: `# get_activity_schedules
447
- Get activity schedules.
448
-
449
- **Parameters:**
513
+ get_activity_schedules: `# get_activity_schedules
514
+ Get activity schedules.
515
+
516
+ **Parameters:**
450
517
  - project_id (required): Project UUID`,
451
- get_pending_requests: `# get_pending_requests
452
- Get unacknowledged user requests.
453
-
454
- **Parameters:**
518
+ get_pending_requests: `# get_pending_requests
519
+ Get unacknowledged user requests.
520
+
521
+ **Parameters:**
455
522
  - project_id (required): Project UUID`,
456
- acknowledge_request: `# acknowledge_request
457
- Mark a request as handled.
458
-
459
- **Parameters:**
523
+ acknowledge_request: `# acknowledge_request
524
+ Mark a request as handled.
525
+
526
+ **Parameters:**
460
527
  - request_id (required): Request UUID`,
461
- answer_question: `# answer_question
462
- Answer a user question from dashboard.
463
-
464
- **Parameters:**
465
- - request_id (required): Request UUID
528
+ answer_question: `# answer_question
529
+ Answer a user question from dashboard.
530
+
531
+ **Parameters:**
532
+ - request_id (required): Request UUID
466
533
  - answer (required): Your answer`,
467
- discover_tools: `# discover_tools
468
- List available tools by category.
469
-
470
- **Parameters:**
471
- - category (optional): Filter to specific category
472
-
473
- Without category, returns all categories with tool counts.
534
+ discover_tools: `# discover_tools
535
+ List available tools by category.
536
+
537
+ **Parameters:**
538
+ - category (optional): Filter to specific category
539
+
540
+ Without category, returns all categories with tool counts.
474
541
  With category, returns tools in that category with brief descriptions.`,
475
- get_tool_info: `# get_tool_info
476
- Get detailed info for a specific tool.
477
-
478
- **Parameters:**
479
- - tool_name (required): Name of the tool
480
-
542
+ get_tool_info: `# get_tool_info
543
+ Get detailed info for a specific tool.
544
+
545
+ **Parameters:**
546
+ - tool_name (required): Name of the tool
547
+
481
548
  Returns: full documentation, parameters, examples, best practices.`,
482
549
  // Organization tools
483
- list_organizations: `# list_organizations
484
- List organizations the current user belongs to.
485
-
486
- **Parameters:** None
487
-
550
+ list_organizations: `# list_organizations
551
+ List organizations the current user belongs to.
552
+
553
+ **Parameters:** None
554
+
488
555
  **Returns:** Array of organizations with role and joined_at`,
489
- create_organization: `# create_organization
490
- Create a new organization. You become the owner.
491
-
492
- **Parameters:**
493
- - name (required): Organization display name
494
- - description (optional): Brief description
495
- - slug (optional): URL-friendly identifier (auto-generated if not provided)
496
-
556
+ create_organization: `# create_organization
557
+ Create a new organization. You become the owner.
558
+
559
+ **Parameters:**
560
+ - name (required): Organization display name
561
+ - description (optional): Brief description
562
+ - slug (optional): URL-friendly identifier (auto-generated if not provided)
563
+
497
564
  **Example:** create_organization(name: "Acme Corp", description: "Our development team")`,
498
- update_organization: `# update_organization
499
- Update organization details. Requires admin role.
500
-
501
- **Parameters:**
502
- - organization_id (required): Organization UUID
565
+ update_organization: `# update_organization
566
+ Update organization details. Requires admin role.
567
+
568
+ **Parameters:**
569
+ - organization_id (required): Organization UUID
503
570
  - name, description, logo_url (optional updates)`,
504
- delete_organization: `# delete_organization
505
- Delete an organization. Requires owner role. Removes all shares.
506
-
507
- **Parameters:**
508
- - organization_id (required): Organization UUID
509
-
571
+ delete_organization: `# delete_organization
572
+ Delete an organization. Requires owner role. Removes all shares.
573
+
574
+ **Parameters:**
575
+ - organization_id (required): Organization UUID
576
+
510
577
  **Warning:** This will remove all project shares with this organization.`,
511
- list_org_members: `# list_org_members
512
- List members of an organization.
513
-
514
- **Parameters:**
515
- - organization_id (required): Organization UUID
516
-
578
+ list_org_members: `# list_org_members
579
+ List members of an organization.
580
+
581
+ **Parameters:**
582
+ - organization_id (required): Organization UUID
583
+
517
584
  **Returns:** Array of members with role and joined_at`,
518
- invite_member: `# invite_member
519
- Invite a user to an organization by email. Requires admin role.
520
-
521
- **Parameters:**
522
- - organization_id (required): Organization UUID
523
- - email (required): Email address to invite
524
- - role (optional): admin, member, or viewer (default: member)
525
-
585
+ invite_member: `# invite_member
586
+ Invite a user to an organization by email. Requires admin role.
587
+
588
+ **Parameters:**
589
+ - organization_id (required): Organization UUID
590
+ - email (required): Email address to invite
591
+ - role (optional): admin, member, or viewer (default: member)
592
+
526
593
  **Returns:** Invite details with token`,
527
- update_member_role: `# update_member_role
528
- Change a member's role. Requires admin role.
529
-
530
- **Parameters:**
531
- - organization_id (required): Organization UUID
532
- - user_id (required): User UUID to update
533
- - role (required): admin, member, or viewer
534
-
594
+ update_member_role: `# update_member_role
595
+ Change a member's role. Requires admin role.
596
+
597
+ **Parameters:**
598
+ - organization_id (required): Organization UUID
599
+ - user_id (required): User UUID to update
600
+ - role (required): admin, member, or viewer
601
+
535
602
  **Note:** Cannot change your own role or the owner's role.`,
536
- remove_member: `# remove_member
537
- Remove a member from an organization. Requires admin role.
538
-
539
- **Parameters:**
540
- - organization_id (required): Organization UUID
541
- - user_id (required): User UUID to remove
542
-
603
+ remove_member: `# remove_member
604
+ Remove a member from an organization. Requires admin role.
605
+
606
+ **Parameters:**
607
+ - organization_id (required): Organization UUID
608
+ - user_id (required): User UUID to remove
609
+
543
610
  **Note:** Cannot remove the owner. Their org-scoped API keys are invalidated.`,
544
- leave_organization: `# leave_organization
545
- Leave an organization.
546
-
547
- **Parameters:**
548
- - organization_id (required): Organization UUID
549
-
611
+ leave_organization: `# leave_organization
612
+ Leave an organization.
613
+
614
+ **Parameters:**
615
+ - organization_id (required): Organization UUID
616
+
550
617
  **Note:** Owner cannot leave. Must transfer ownership or delete organization.`,
551
- share_project_with_org: `# share_project_with_org
552
- Share a project with an organization. You must own the project.
553
-
554
- **Parameters:**
555
- - project_id (required): Project UUID
556
- - organization_id (required): Organization UUID to share with
557
- - permission (optional): read, write, or admin (default: read)
558
-
559
- **Permission levels:**
560
- - read: View project and tasks
561
- - write: Add/update tasks, log progress
618
+ share_project_with_org: `# share_project_with_org
619
+ Share a project with an organization. You must own the project.
620
+
621
+ **Parameters:**
622
+ - project_id (required): Project UUID
623
+ - organization_id (required): Organization UUID to share with
624
+ - permission (optional): read, write, or admin (default: read)
625
+
626
+ **Permission levels:**
627
+ - read: View project and tasks
628
+ - write: Add/update tasks, log progress
562
629
  - admin: All write permissions plus deployments`,
563
- update_project_share: `# update_project_share
564
- Update the permission level for a project share.
565
-
566
- **Parameters:**
567
- - project_id (required): Project UUID
568
- - organization_id (required): Organization UUID
630
+ update_project_share: `# update_project_share
631
+ Update the permission level for a project share.
632
+
633
+ **Parameters:**
634
+ - project_id (required): Project UUID
635
+ - organization_id (required): Organization UUID
569
636
  - permission (required): read, write, or admin`,
570
- unshare_project: `# unshare_project
571
- Remove a project share from an organization.
572
-
573
- **Parameters:**
574
- - project_id (required): Project UUID
575
- - organization_id (required): Organization UUID
576
-
637
+ unshare_project: `# unshare_project
638
+ Remove a project share from an organization.
639
+
640
+ **Parameters:**
641
+ - project_id (required): Project UUID
642
+ - organization_id (required): Organization UUID
643
+
577
644
  **Note:** Org members will lose access immediately.`,
578
- list_project_shares: `# list_project_shares
579
- List all organizations a project is shared with.
580
-
581
- **Parameters:**
582
- - project_id (required): Project UUID
583
-
645
+ list_project_shares: `# list_project_shares
646
+ List all organizations a project is shared with.
647
+
648
+ **Parameters:**
649
+ - project_id (required): Project UUID
650
+
584
651
  **Returns:** Array of shares with organization info and permission level`,
585
652
  // Cost monitoring tools
586
- get_cost_summary: `# get_cost_summary
587
- Get cost summary (daily/weekly/monthly) for a project.
588
-
589
- **Parameters:**
590
- - project_id (required): Project UUID
591
- - period: 'daily' | 'weekly' | 'monthly' (default: daily)
592
- - limit: Max records to return (default: 30)
593
-
653
+ get_cost_summary: `# get_cost_summary
654
+ Get cost summary (daily/weekly/monthly) for a project.
655
+
656
+ **Parameters:**
657
+ - project_id (required): Project UUID
658
+ - period: 'daily' | 'weekly' | 'monthly' (default: daily)
659
+ - limit: Max records to return (default: 30)
660
+
594
661
  **Returns:** Cost summary with totals and breakdown by model`,
595
- get_cost_alerts: `# get_cost_alerts
596
- Get cost alerts for the current user.
597
-
598
- **Parameters:**
599
- - project_id (optional): Filter by project
600
-
662
+ get_cost_alerts: `# get_cost_alerts
663
+ Get cost alerts for the current user.
664
+
665
+ **Parameters:**
666
+ - project_id (optional): Filter by project
667
+
601
668
  **Returns:** Array of configured cost alerts`,
602
- add_cost_alert: `# add_cost_alert
603
- Add a cost threshold alert.
604
-
605
- **Parameters:**
606
- - project_id (optional): Specific project or null for all
607
- - threshold_amount (required): Amount in USD
608
- - threshold_period (required): 'daily' | 'weekly' | 'monthly'
609
- - alert_type: 'warning' | 'critical' (default: warning)
610
-
669
+ add_cost_alert: `# add_cost_alert
670
+ Add a cost threshold alert.
671
+
672
+ **Parameters:**
673
+ - project_id (optional): Specific project or null for all
674
+ - threshold_amount (required): Amount in USD
675
+ - threshold_period (required): 'daily' | 'weekly' | 'monthly'
676
+ - alert_type: 'warning' | 'critical' (default: warning)
677
+
611
678
  **Example:** add_cost_alert(threshold_amount: 50, threshold_period: "daily", alert_type: "warning")`,
612
- update_cost_alert: `# update_cost_alert
613
- Update an existing cost alert.
614
-
615
- **Parameters:**
616
- - alert_id (required): Alert UUID
617
- - threshold_amount: New amount in USD
618
- - threshold_period: New period
619
- - alert_type: New alert type
679
+ update_cost_alert: `# update_cost_alert
680
+ Update an existing cost alert.
681
+
682
+ **Parameters:**
683
+ - alert_id (required): Alert UUID
684
+ - threshold_amount: New amount in USD
685
+ - threshold_period: New period
686
+ - alert_type: New alert type
620
687
  - enabled: Enable/disable the alert`,
621
- delete_cost_alert: `# delete_cost_alert
622
- Delete a cost alert.
623
-
624
- **Parameters:**
688
+ delete_cost_alert: `# delete_cost_alert
689
+ Delete a cost alert.
690
+
691
+ **Parameters:**
625
692
  - alert_id (required): Alert UUID to delete`,
626
- get_task_costs: `# get_task_costs
627
- Get cost breakdown by task for a project.
628
-
629
- **Parameters:**
630
- - project_id (required): Project UUID
631
- - limit: Max tasks to return (default: 20)
632
-
693
+ get_task_costs: `# get_task_costs
694
+ Get cost breakdown by task for a project.
695
+
696
+ **Parameters:**
697
+ - project_id (required): Project UUID
698
+ - limit: Max tasks to return (default: 20)
699
+
633
700
  **Returns:** Tasks sorted by estimated cost with model breakdown`,
634
701
  // Subtasks
635
- add_subtask: `# add_subtask
636
- Add a subtask to break down a larger task.
637
-
638
- **Parameters:**
639
- - parent_task_id (required): UUID of the parent task
640
- - title (required): Subtask title
641
- - description (optional): Detailed description
642
- - priority (optional): 1-5 (defaults to parent priority)
643
- - estimated_minutes (optional): Time estimate
644
-
702
+ add_subtask: `# add_subtask
703
+ Add a subtask to break down a larger task.
704
+
705
+ **Parameters:**
706
+ - parent_task_id (required): UUID of the parent task
707
+ - title (required): Subtask title
708
+ - description (optional): Detailed description
709
+ - priority (optional): 1-5 (defaults to parent priority)
710
+ - estimated_minutes (optional): Time estimate
711
+
645
712
  **Note:** Max depth is 1 (subtasks cannot have their own subtasks).`,
646
- get_subtasks: `# get_subtasks
647
- Get subtasks for a parent task.
648
-
649
- **Parameters:**
650
- - parent_task_id (required): UUID of the parent task
651
- - status (optional): Filter by status
652
-
713
+ get_subtasks: `# get_subtasks
714
+ Get subtasks for a parent task.
715
+
716
+ **Parameters:**
717
+ - parent_task_id (required): UUID of the parent task
718
+ - status (optional): Filter by status
719
+
653
720
  **Returns:** Subtasks with aggregate completion stats.`,
654
721
  // Bodies of work
655
- create_body_of_work: `# create_body_of_work
656
- Create a new body of work to group tasks into phases.
657
-
658
- **Parameters:**
659
- - project_id (required): Project UUID
660
- - title (required): Title for the body of work
661
- - description (optional): Description
662
- - auto_deploy_on_completion (optional): Auto-deploy when all tasks complete (default: false)
663
- - deploy_environment (optional): Target environment (default: production)
664
- - deploy_version_bump (optional): Version bump (default: minor)
722
+ create_body_of_work: `# create_body_of_work
723
+ Create a new body of work to group tasks into phases.
724
+
725
+ **Parameters:**
726
+ - project_id (required): Project UUID
727
+ - title (required): Title for the body of work
728
+ - description (optional): Description
729
+ - auto_deploy_on_completion (optional): Auto-deploy when all tasks complete (default: false)
730
+ - deploy_environment (optional): Target environment (default: production)
731
+ - deploy_version_bump (optional): Version bump (default: minor)
665
732
  - deploy_trigger (optional): When to trigger auto-deploy (default: all_completed_validated)`,
666
- update_body_of_work: `# update_body_of_work
667
- Update a body of work's settings.
668
-
669
- **Parameters:**
670
- - body_of_work_id (required): Body of work UUID
671
- - title, description (optional)
733
+ update_body_of_work: `# update_body_of_work
734
+ Update a body of work's settings.
735
+
736
+ **Parameters:**
737
+ - body_of_work_id (required): Body of work UUID
738
+ - title, description (optional)
672
739
  - auto_deploy_on_completion, deploy_environment, deploy_version_bump, deploy_trigger (optional)`,
673
- get_body_of_work: `# get_body_of_work
674
- Get a body of work with all its tasks organized by phase.
675
-
676
- **Parameters:**
677
- - body_of_work_id (required): Body of work UUID
678
-
740
+ get_body_of_work: `# get_body_of_work
741
+ Get a body of work with all its tasks organized by phase.
742
+
743
+ **Parameters:**
744
+ - body_of_work_id (required): Body of work UUID
745
+
679
746
  **Returns:** Body of work with tasks grouped by pre/core/post phases.`,
680
- get_bodies_of_work: `# get_bodies_of_work
681
- List bodies of work for a project.
682
-
683
- **Parameters:**
684
- - project_id (required): Project UUID
685
- - status (optional): Filter by status (draft, active, completed, cancelled)
747
+ get_bodies_of_work: `# get_bodies_of_work
748
+ List bodies of work for a project.
749
+
750
+ **Parameters:**
751
+ - project_id (required): Project UUID
752
+ - status (optional): Filter by status (draft, active, completed, cancelled)
686
753
  - limit (optional): Max items (default 50)`,
687
- delete_body_of_work: `# delete_body_of_work
688
- Delete a body of work. Tasks are preserved but no longer grouped.
689
-
690
- **Parameters:**
754
+ delete_body_of_work: `# delete_body_of_work
755
+ Delete a body of work. Tasks are preserved but no longer grouped.
756
+
757
+ **Parameters:**
691
758
  - body_of_work_id (required): Body of work UUID`,
692
- add_task_to_body_of_work: `# add_task_to_body_of_work
693
- Add a task to a body of work in a specific phase.
694
-
695
- **Parameters:**
696
- - body_of_work_id (required): Body of work UUID
697
- - task_id (required): Task UUID to add
698
- - phase (optional): pre, core, or post (default: core)
759
+ add_task_to_body_of_work: `# add_task_to_body_of_work
760
+ Add a task to a body of work in a specific phase.
761
+
762
+ **Parameters:**
763
+ - body_of_work_id (required): Body of work UUID
764
+ - task_id (required): Task UUID to add
765
+ - phase (optional): pre, core, or post (default: core)
699
766
  - order_index (optional): Order within phase`,
700
- remove_task_from_body_of_work: `# remove_task_from_body_of_work
701
- Remove a task from its body of work.
702
-
703
- **Parameters:**
704
- - task_id (required): Task UUID to remove
705
-
767
+ remove_task_from_body_of_work: `# remove_task_from_body_of_work
768
+ Remove a task from its body of work.
769
+
770
+ **Parameters:**
771
+ - task_id (required): Task UUID to remove
772
+
706
773
  **Note:** The task is preserved, just no longer grouped.`,
707
- activate_body_of_work: `# activate_body_of_work
708
- Activate a draft body of work to start execution.
709
-
710
- **Parameters:**
711
- - body_of_work_id (required): Body of work UUID
712
-
774
+ activate_body_of_work: `# activate_body_of_work
775
+ Activate a draft body of work to start execution.
776
+
777
+ **Parameters:**
778
+ - body_of_work_id (required): Body of work UUID
779
+
713
780
  **Note:** Requires at least one task. Once active, tasks follow phase order.`,
714
- add_task_dependency: `# add_task_dependency
715
- Add a dependency between tasks in a body of work.
716
-
717
- **Parameters:**
718
- - body_of_work_id (required): Body of work UUID
719
- - task_id (required): Task that depends on another
720
- - depends_on_task_id (required): Task that must complete first
721
-
781
+ add_task_dependency: `# add_task_dependency
782
+ Add a dependency between tasks in a body of work.
783
+
784
+ **Parameters:**
785
+ - body_of_work_id (required): Body of work UUID
786
+ - task_id (required): Task that depends on another
787
+ - depends_on_task_id (required): Task that must complete first
788
+
722
789
  **Note:** Prevents circular dependencies.`,
723
- remove_task_dependency: `# remove_task_dependency
724
- Remove a dependency between tasks.
725
-
726
- **Parameters:**
727
- - task_id (required): Task UUID
790
+ remove_task_dependency: `# remove_task_dependency
791
+ Remove a dependency between tasks.
792
+
793
+ **Parameters:**
794
+ - task_id (required): Task UUID
728
795
  - depends_on_task_id (required): Dependency task UUID`,
729
- get_task_dependencies: `# get_task_dependencies
730
- Get task dependencies for a body of work or specific task.
731
-
732
- **Parameters:**
733
- - body_of_work_id (optional): Body of work UUID
796
+ get_task_dependencies: `# get_task_dependencies
797
+ Get task dependencies for a body of work or specific task.
798
+
799
+ **Parameters:**
800
+ - body_of_work_id (optional): Body of work UUID
734
801
  - task_id (optional): Specific task UUID`,
735
- get_next_body_of_work_task: `# get_next_body_of_work_task
736
- Get the next available task from a body of work.
737
-
738
- **Parameters:**
739
- - body_of_work_id (required): Body of work UUID
740
-
802
+ get_next_body_of_work_task: `# get_next_body_of_work_task
803
+ Get the next available task from a body of work.
804
+
805
+ **Parameters:**
806
+ - body_of_work_id (required): Body of work UUID
807
+
741
808
  **Note:** Considers phase order (pre → core → post) and dependencies.`,
742
809
  // Sprints
743
- create_sprint: `# create_sprint
744
- Create a new sprint with time bounds and velocity tracking.
745
-
746
- **Parameters:**
747
- - project_id (required): Project UUID
748
- - title (required): Sprint title (e.g., "Sprint 5")
749
- - start_date (required): Start date (YYYY-MM-DD)
750
- - end_date (required): End date (YYYY-MM-DD)
751
- - goal (optional): Sprint goal statement
810
+ create_sprint: `# create_sprint
811
+ Create a new sprint with time bounds and velocity tracking.
812
+
813
+ **Parameters:**
814
+ - project_id (required): Project UUID
815
+ - title (required): Sprint title (e.g., "Sprint 5")
816
+ - start_date (required): Start date (YYYY-MM-DD)
817
+ - end_date (required): End date (YYYY-MM-DD)
818
+ - goal (optional): Sprint goal statement
752
819
  - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
753
- update_sprint: `# update_sprint
754
- Update a sprint's details.
755
-
756
- **Parameters:**
757
- - sprint_id (required): Sprint UUID
758
- - title, goal, start_date, end_date (optional)
820
+ update_sprint: `# update_sprint
821
+ Update a sprint's details.
822
+
823
+ **Parameters:**
824
+ - sprint_id (required): Sprint UUID
825
+ - title, goal, start_date, end_date (optional)
759
826
  - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
760
- get_sprint: `# get_sprint
761
- Get a sprint with all its tasks organized by phase.
762
-
763
- **Parameters:**
764
- - sprint_id (required): Sprint UUID
765
-
827
+ get_sprint: `# get_sprint
828
+ Get a sprint with all its tasks organized by phase.
829
+
830
+ **Parameters:**
831
+ - sprint_id (required): Sprint UUID
832
+
766
833
  **Returns:** Sprint with progress percentage, velocity points, committed points.`,
767
- get_sprints: `# get_sprints
768
- List sprints for a project with velocity metrics.
769
-
770
- **Parameters:**
771
- - project_id (required): Project UUID
772
- - status (optional): planning, active, in_review, retrospective, completed, cancelled
834
+ get_sprints: `# get_sprints
835
+ List sprints for a project with velocity metrics.
836
+
837
+ **Parameters:**
838
+ - project_id (required): Project UUID
839
+ - status (optional): planning, active, in_review, retrospective, completed, cancelled
773
840
  - limit (optional): Max sprints (default 20)`,
774
- delete_sprint: `# delete_sprint
775
- Delete a sprint. Tasks are preserved but no longer grouped.
776
-
777
- **Parameters:**
841
+ delete_sprint: `# delete_sprint
842
+ Delete a sprint. Tasks are preserved but no longer grouped.
843
+
844
+ **Parameters:**
778
845
  - sprint_id (required): Sprint UUID`,
779
- start_sprint: `# start_sprint
780
- Start a sprint. Transitions from 'planning' to 'active'.
781
-
782
- **Parameters:**
783
- - sprint_id (required): Sprint UUID
784
-
846
+ start_sprint: `# start_sprint
847
+ Start a sprint. Transitions from 'planning' to 'active'.
848
+
849
+ **Parameters:**
850
+ - sprint_id (required): Sprint UUID
851
+
785
852
  **Note:** Locks committed_points at current total story points.`,
786
- complete_sprint: `# complete_sprint
787
- Complete a sprint. Handles retrospective phase and auto-deployment.
788
-
789
- **Parameters:**
790
- - sprint_id (required): Sprint UUID
791
- - retrospective_notes (optional): Sprint retrospective notes
853
+ complete_sprint: `# complete_sprint
854
+ Complete a sprint. Handles retrospective phase and auto-deployment.
855
+
856
+ **Parameters:**
857
+ - sprint_id (required): Sprint UUID
858
+ - retrospective_notes (optional): Sprint retrospective notes
792
859
  - skip_retrospective (optional): Skip retrospective phase (default: false)`,
793
- add_task_to_sprint: `# add_task_to_sprint
794
- Add a task to a sprint with optional story points.
795
-
796
- **Parameters:**
797
- - sprint_id (required): Sprint UUID
798
- - task_id (required): Task UUID to add
799
- - story_points (optional): Story point estimate
860
+ add_task_to_sprint: `# add_task_to_sprint
861
+ Add a task to a sprint with optional story points.
862
+
863
+ **Parameters:**
864
+ - sprint_id (required): Sprint UUID
865
+ - task_id (required): Task UUID to add
866
+ - story_points (optional): Story point estimate
800
867
  - phase (optional): pre, core, or post (default: core)`,
801
- remove_task_from_sprint: `# remove_task_from_sprint
802
- Remove a task from a sprint.
803
-
804
- **Parameters:**
805
- - sprint_id (required): Sprint UUID
806
- - task_id (required): Task UUID to remove
807
-
868
+ remove_task_from_sprint: `# remove_task_from_sprint
869
+ Remove a task from a sprint.
870
+
871
+ **Parameters:**
872
+ - sprint_id (required): Sprint UUID
873
+ - task_id (required): Task UUID to remove
874
+
808
875
  **Note:** Task returns to backlog.`,
809
- get_sprint_backlog: `# get_sprint_backlog
810
- Get tasks that can be added to a sprint.
811
-
812
- **Parameters:**
813
- - project_id (required): Project UUID
814
- - sprint_id (optional): Exclude tasks already in this sprint
815
-
876
+ get_sprint_backlog: `# get_sprint_backlog
877
+ Get tasks that can be added to a sprint.
878
+
879
+ **Parameters:**
880
+ - project_id (required): Project UUID
881
+ - sprint_id (optional): Exclude tasks already in this sprint
882
+
816
883
  **Returns:** Tasks not assigned to any body of work or sprint.`,
817
- get_sprint_velocity: `# get_sprint_velocity
818
- Get velocity metrics for completed sprints.
819
-
820
- **Parameters:**
821
- - project_id (required): Project UUID
822
- - limit (optional): Number of sprints to analyze (default 10)
823
-
884
+ get_sprint_velocity: `# get_sprint_velocity
885
+ Get velocity metrics for completed sprints.
886
+
887
+ **Parameters:**
888
+ - project_id (required): Project UUID
889
+ - limit (optional): Number of sprints to analyze (default 10)
890
+
824
891
  **Returns:** Committed vs completed points, average velocity.`,
825
892
  // Git issues
826
- add_git_issue: `# add_git_issue
827
- Record a git-related issue (merge conflict, push failure, etc.).
828
-
829
- **Parameters:**
830
- - project_id (required): Project UUID
831
- - issue_type (required): merge_conflict, push_failed, rebase_needed, branch_diverged, pr_not_mergeable
832
- - branch (required): Branch where the issue occurred
893
+ add_git_issue: `# add_git_issue
894
+ Record a git-related issue (merge conflict, push failure, etc.).
895
+
896
+ **Parameters:**
897
+ - project_id (required): Project UUID
898
+ - issue_type (required): merge_conflict, push_failed, rebase_needed, branch_diverged, pr_not_mergeable
899
+ - branch (required): Branch where the issue occurred
833
900
  - target_branch, conflicting_files, error_message, pr_url, task_id (optional)`,
834
- resolve_git_issue: `# resolve_git_issue
835
- Mark a git issue as resolved.
836
-
837
- **Parameters:**
838
- - git_issue_id (required): Git issue UUID
839
- - resolution_note (optional): How the issue was resolved
901
+ resolve_git_issue: `# resolve_git_issue
902
+ Mark a git issue as resolved.
903
+
904
+ **Parameters:**
905
+ - git_issue_id (required): Git issue UUID
906
+ - resolution_note (optional): How the issue was resolved
840
907
  - auto_resolved (optional): Whether auto-resolved`,
841
- get_git_issues: `# get_git_issues
842
- Get git issues for a project.
843
-
844
- **Parameters:**
845
- - project_id (required): Project UUID
846
- - status (optional): open or resolved (default: open)
847
- - issue_type (optional): Filter by issue type
848
- - branch (optional): Filter by branch
908
+ get_git_issues: `# get_git_issues
909
+ Get git issues for a project.
910
+
911
+ **Parameters:**
912
+ - project_id (required): Project UUID
913
+ - status (optional): open or resolved (default: open)
914
+ - issue_type (optional): Filter by issue type
915
+ - branch (optional): Filter by branch
849
916
  - limit (optional): Max issues (default 50)`,
850
- delete_git_issue: `# delete_git_issue
851
- Delete a git issue.
852
-
853
- **Parameters:**
917
+ delete_git_issue: `# delete_git_issue
918
+ Delete a git issue.
919
+
920
+ **Parameters:**
854
921
  - git_issue_id (required): Git issue UUID`,
855
922
  // Deployment requirements
856
- add_deployment_requirement: `# add_deployment_requirement
857
- Add a pre-deployment requirement.
858
-
859
- **Parameters:**
860
- - project_id (required): Project UUID
861
- - type (required): migration, env_var, config, manual, breaking_change, agent_task
862
- - title (required): Brief description
863
- - description (optional): Detailed instructions
864
- - stage (optional): preparation, deployment, or verification (default: preparation)
865
- - file_path (optional): File path reference
923
+ add_deployment_requirement: `# add_deployment_requirement
924
+ Add a pre-deployment requirement.
925
+
926
+ **Parameters:**
927
+ - project_id (required): Project UUID
928
+ - type (required): migration, env_var, config, manual, breaking_change, agent_task
929
+ - title (required): Brief description
930
+ - description (optional): Detailed instructions
931
+ - stage (optional): preparation, deployment, or verification (default: preparation)
932
+ - file_path (optional): File path reference
866
933
  - blocking (optional): Whether converted task blocks other work`,
867
- complete_deployment_requirement: `# complete_deployment_requirement
868
- Mark a deployment requirement as completed.
869
-
870
- **Parameters:**
934
+ complete_deployment_requirement: `# complete_deployment_requirement
935
+ Mark a deployment requirement as completed.
936
+
937
+ **Parameters:**
871
938
  - requirement_id (required): Requirement UUID`,
872
- get_deployment_requirements: `# get_deployment_requirements
873
- Get pending deployment requirements.
874
-
875
- **Parameters:**
876
- - project_id (required): Project UUID
877
- - stage (optional): preparation, deployment, verification, or all
939
+ get_deployment_requirements: `# get_deployment_requirements
940
+ Get pending deployment requirements.
941
+
942
+ **Parameters:**
943
+ - project_id (required): Project UUID
944
+ - stage (optional): preparation, deployment, verification, or all
878
945
  - status (optional): pending, completed, converted_to_task, or all (default: pending)`,
879
946
  // Knowledge base
880
- query_knowledge_base: `# query_knowledge_base
881
- Query aggregated project knowledge in a single call. Reduces token usage by combining multiple data sources.
882
-
883
- **Parameters:**
884
- - project_id (required): Project UUID
885
- - scope: 'summary' (default) or 'detailed' (includes rationales, descriptions)
886
- - categories: Array of categories to include (default: all)
887
- - findings: Audit findings (security, performance, code quality)
888
- - qa: Questions and answers
889
- - decisions: Architectural decisions
890
- - completed_tasks: Tasks with completion summaries
891
- - blockers: Resolved blockers with resolution notes
892
- - progress: Recent progress logs
893
- - limit: Max items per category (default: 5, max: 20)
894
- - search_query: Optional text search across all knowledge
895
-
896
- **Returns:**
897
- - project: name, goal, tech_stack
898
- - stats: counts for each category, findings by severity
899
- - Category data based on selection
900
-
901
- **Token savings:** Replaces up to 6 separate tool calls (get_findings, get_decisions, get_tasks, get_blockers, etc.) with one call.
902
-
947
+ query_knowledge_base: `# query_knowledge_base
948
+ Query aggregated project knowledge in a single call. Reduces token usage by combining multiple data sources.
949
+
950
+ **Parameters:**
951
+ - project_id (required): Project UUID
952
+ - scope: 'summary' (default) or 'detailed' (includes rationales, descriptions)
953
+ - categories: Array of categories to include (default: all)
954
+ - findings: Audit findings (security, performance, code quality)
955
+ - qa: Questions and answers
956
+ - decisions: Architectural decisions
957
+ - completed_tasks: Tasks with completion summaries
958
+ - blockers: Resolved blockers with resolution notes
959
+ - progress: Recent progress logs
960
+ - limit: Max items per category (default: 5, max: 20)
961
+ - search_query: Optional text search across all knowledge
962
+
963
+ **Returns:**
964
+ - project: name, goal, tech_stack
965
+ - stats: counts for each category, findings by severity
966
+ - Category data based on selection
967
+
968
+ **Token savings:** Replaces multiple tool calls (get_findings, get_decisions, get_blockers, etc.) with one call.
969
+
903
970
  **Example:** query_knowledge_base(project_id, categories: ["findings", "decisions"], limit: 10)`,
904
971
  };