@vibescope/mcp-server 0.0.1 → 0.1.0

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 (170) hide show
  1. package/README.md +113 -98
  2. package/dist/api-client.d.ts +1114 -0
  3. package/dist/api-client.js +698 -0
  4. package/dist/cli.d.ts +1 -6
  5. package/dist/cli.js +39 -240
  6. package/dist/config/tool-categories.d.ts +31 -0
  7. package/dist/config/tool-categories.js +253 -0
  8. package/dist/handlers/blockers.js +57 -58
  9. package/dist/handlers/bodies-of-work.d.ts +2 -0
  10. package/dist/handlers/bodies-of-work.js +106 -476
  11. package/dist/handlers/cost.d.ts +1 -0
  12. package/dist/handlers/cost.js +35 -113
  13. package/dist/handlers/decisions.d.ts +2 -0
  14. package/dist/handlers/decisions.js +28 -27
  15. package/dist/handlers/deployment.js +112 -828
  16. package/dist/handlers/discovery.js +31 -0
  17. package/dist/handlers/fallback.d.ts +2 -0
  18. package/dist/handlers/fallback.js +39 -134
  19. package/dist/handlers/findings.js +43 -67
  20. package/dist/handlers/git-issues.d.ts +9 -13
  21. package/dist/handlers/git-issues.js +80 -225
  22. package/dist/handlers/ideas.d.ts +3 -0
  23. package/dist/handlers/ideas.js +53 -134
  24. package/dist/handlers/index.d.ts +2 -0
  25. package/dist/handlers/index.js +6 -0
  26. package/dist/handlers/milestones.d.ts +2 -0
  27. package/dist/handlers/milestones.js +51 -98
  28. package/dist/handlers/organizations.js +79 -275
  29. package/dist/handlers/progress.d.ts +2 -0
  30. package/dist/handlers/progress.js +25 -123
  31. package/dist/handlers/project.js +42 -221
  32. package/dist/handlers/requests.d.ts +2 -0
  33. package/dist/handlers/requests.js +23 -83
  34. package/dist/handlers/session.js +99 -585
  35. package/dist/handlers/sprints.d.ts +32 -0
  36. package/dist/handlers/sprints.js +274 -0
  37. package/dist/handlers/tasks.d.ts +7 -10
  38. package/dist/handlers/tasks.js +230 -900
  39. package/dist/handlers/tool-docs.d.ts +8 -0
  40. package/dist/handlers/tool-docs.js +657 -0
  41. package/dist/handlers/types.d.ts +11 -3
  42. package/dist/handlers/validation.d.ts +1 -1
  43. package/dist/handlers/validation.js +26 -153
  44. package/dist/index.js +473 -160
  45. package/dist/knowledge.js +106 -9
  46. package/dist/tools.js +4 -0
  47. package/dist/validators.d.ts +21 -0
  48. package/dist/validators.js +91 -0
  49. package/package.json +2 -3
  50. package/src/api-client.ts +1752 -0
  51. package/src/cli.test.ts +128 -302
  52. package/src/cli.ts +41 -285
  53. package/src/handlers/__test-setup__.ts +210 -0
  54. package/src/handlers/__test-utils__.ts +4 -134
  55. package/src/handlers/blockers.test.ts +114 -124
  56. package/src/handlers/blockers.ts +68 -70
  57. package/src/handlers/bodies-of-work.test.ts +236 -831
  58. package/src/handlers/bodies-of-work.ts +194 -525
  59. package/src/handlers/cost.test.ts +149 -113
  60. package/src/handlers/cost.ts +44 -132
  61. package/src/handlers/decisions.test.ts +111 -209
  62. package/src/handlers/decisions.ts +35 -27
  63. package/src/handlers/deployment.test.ts +193 -239
  64. package/src/handlers/deployment.ts +140 -895
  65. package/src/handlers/discovery.test.ts +20 -67
  66. package/src/handlers/discovery.ts +32 -0
  67. package/src/handlers/fallback.test.ts +128 -361
  68. package/src/handlers/fallback.ts +62 -148
  69. package/src/handlers/findings.test.ts +127 -345
  70. package/src/handlers/findings.ts +49 -66
  71. package/src/handlers/git-issues.test.ts +623 -0
  72. package/src/handlers/git-issues.ts +174 -0
  73. package/src/handlers/ideas.test.ts +229 -343
  74. package/src/handlers/ideas.ts +69 -143
  75. package/src/handlers/index.ts +6 -0
  76. package/src/handlers/milestones.test.ts +167 -281
  77. package/src/handlers/milestones.ts +54 -93
  78. package/src/handlers/organizations.test.ts +275 -467
  79. package/src/handlers/organizations.ts +84 -294
  80. package/src/handlers/progress.test.ts +112 -218
  81. package/src/handlers/progress.ts +29 -142
  82. package/src/handlers/project.test.ts +203 -226
  83. package/src/handlers/project.ts +48 -238
  84. package/src/handlers/requests.test.ts +74 -342
  85. package/src/handlers/requests.ts +25 -83
  86. package/src/handlers/session.test.ts +241 -206
  87. package/src/handlers/session.ts +110 -657
  88. package/src/handlers/sprints.test.ts +711 -0
  89. package/src/handlers/sprints.ts +497 -0
  90. package/src/handlers/tasks.test.ts +608 -353
  91. package/src/handlers/tasks.ts +248 -1025
  92. package/src/handlers/types.ts +12 -4
  93. package/src/handlers/validation.test.ts +189 -572
  94. package/src/handlers/validation.ts +29 -166
  95. package/src/index.ts +473 -184
  96. package/src/knowledge.ts +107 -9
  97. package/src/tools.ts +2506 -0
  98. package/src/validators.test.ts +223 -223
  99. package/src/validators.ts +127 -0
  100. package/tsconfig.json +1 -1
  101. package/vitest.config.ts +14 -13
  102. package/dist/cli.test.d.ts +0 -1
  103. package/dist/cli.test.js +0 -367
  104. package/dist/handlers/__test-utils__.d.ts +0 -72
  105. package/dist/handlers/__test-utils__.js +0 -176
  106. package/dist/handlers/checkouts.d.ts +0 -37
  107. package/dist/handlers/checkouts.js +0 -377
  108. package/dist/handlers/knowledge-query.d.ts +0 -22
  109. package/dist/handlers/knowledge-query.js +0 -253
  110. package/dist/handlers/knowledge.d.ts +0 -12
  111. package/dist/handlers/knowledge.js +0 -108
  112. package/dist/handlers/roles.d.ts +0 -30
  113. package/dist/handlers/roles.js +0 -281
  114. package/dist/handlers/tasks.test.d.ts +0 -1
  115. package/dist/handlers/tasks.test.js +0 -431
  116. package/dist/utils.test.d.ts +0 -1
  117. package/dist/utils.test.js +0 -532
  118. package/dist/validators.test.d.ts +0 -1
  119. package/dist/validators.test.js +0 -176
  120. package/src/tmpclaude-0078-cwd +0 -1
  121. package/src/tmpclaude-0ee1-cwd +0 -1
  122. package/src/tmpclaude-2dd5-cwd +0 -1
  123. package/src/tmpclaude-344c-cwd +0 -1
  124. package/src/tmpclaude-3860-cwd +0 -1
  125. package/src/tmpclaude-4b63-cwd +0 -1
  126. package/src/tmpclaude-5c73-cwd +0 -1
  127. package/src/tmpclaude-5ee3-cwd +0 -1
  128. package/src/tmpclaude-6795-cwd +0 -1
  129. package/src/tmpclaude-709e-cwd +0 -1
  130. package/src/tmpclaude-9839-cwd +0 -1
  131. package/src/tmpclaude-d829-cwd +0 -1
  132. package/src/tmpclaude-e072-cwd +0 -1
  133. package/src/tmpclaude-f6ee-cwd +0 -1
  134. package/tmpclaude-0439-cwd +0 -1
  135. package/tmpclaude-132f-cwd +0 -1
  136. package/tmpclaude-15bb-cwd +0 -1
  137. package/tmpclaude-165a-cwd +0 -1
  138. package/tmpclaude-1ba9-cwd +0 -1
  139. package/tmpclaude-21a3-cwd +0 -1
  140. package/tmpclaude-2a38-cwd +0 -1
  141. package/tmpclaude-2adf-cwd +0 -1
  142. package/tmpclaude-2f56-cwd +0 -1
  143. package/tmpclaude-3626-cwd +0 -1
  144. package/tmpclaude-3727-cwd +0 -1
  145. package/tmpclaude-40bc-cwd +0 -1
  146. package/tmpclaude-436f-cwd +0 -1
  147. package/tmpclaude-4783-cwd +0 -1
  148. package/tmpclaude-4b6d-cwd +0 -1
  149. package/tmpclaude-4ba4-cwd +0 -1
  150. package/tmpclaude-51e6-cwd +0 -1
  151. package/tmpclaude-5ecf-cwd +0 -1
  152. package/tmpclaude-6f97-cwd +0 -1
  153. package/tmpclaude-7fb2-cwd +0 -1
  154. package/tmpclaude-825c-cwd +0 -1
  155. package/tmpclaude-8baf-cwd +0 -1
  156. package/tmpclaude-8d9f-cwd +0 -1
  157. package/tmpclaude-975c-cwd +0 -1
  158. package/tmpclaude-9983-cwd +0 -1
  159. package/tmpclaude-a045-cwd +0 -1
  160. package/tmpclaude-ac4a-cwd +0 -1
  161. package/tmpclaude-b593-cwd +0 -1
  162. package/tmpclaude-b891-cwd +0 -1
  163. package/tmpclaude-c032-cwd +0 -1
  164. package/tmpclaude-cf43-cwd +0 -1
  165. package/tmpclaude-d040-cwd +0 -1
  166. package/tmpclaude-dcdd-cwd +0 -1
  167. package/tmpclaude-dcee-cwd +0 -1
  168. package/tmpclaude-e16b-cwd +0 -1
  169. package/tmpclaude-ecd2-cwd +0 -1
  170. package/tmpclaude-f48d-cwd +0 -1
package/src/knowledge.ts CHANGED
@@ -21,12 +21,40 @@ export const KNOWLEDGE_BASE: Record<string, string> = {
21
21
  - Priority: 1=highest, 5=lowest`,
22
22
 
23
23
  validation: `# Task Validation
24
- Completed tasks need validation before deployment. PRIORITIZE validation over new tasks.
25
- 1. Check: get_tasks_awaiting_validation(project_id)
26
- 2. Claim: claim_validation(task_id) - marks "being reviewed" on dashboard
27
- 3. Review code changes and run tests
28
- 4. Complete: validate_task(task_id, approved: true/false, validation_notes: "...")
29
- Self-validation allowed when single-agent or to unblock deployment.`,
24
+ Completed tasks need validation before PR merge. PRIORITIZE validation over new tasks.
25
+
26
+ ## Validator Workflow
27
+
28
+ ### 1. Claim Task
29
+ claim_validation(task_id) Returns worktree_setup with existing branch
30
+
31
+ ### 2. Set Up Worktree (EXISTING branch)
32
+ git fetch origin feature/task-branch
33
+ git worktree add ../PROJECT-task-ID feature/task-branch
34
+ cd ../PROJECT-task-ID
35
+
36
+ ### 3. Run Tests Locally
37
+ pnpm install && pnpm test && pnpm build
38
+
39
+ ### 4. Approve or Reject
40
+
41
+ **APPROVE** → Validator merges PR:
42
+ validate_task(task_id, approved: true, validation_notes: "...")
43
+ # Response includes merge instructions with PR URL
44
+ gh pr merge <NUMBER> --squash
45
+ git worktree remove ../PROJECT-task-ID
46
+
47
+ **REJECT** → Create fix task:
48
+ validate_task(task_id, approved: false, validation_notes: "Issues...", create_fix_task: true)
49
+ # Creates fix task with SAME branch/PR
50
+ # Fix agent picks up, pushes fixes to same PR
51
+ git worktree remove ../PROJECT-task-ID
52
+
53
+ ## Key Rules
54
+ - Validators check out EXISTING branches
55
+ - On approval: validator merges immediately
56
+ - On rejection: use create_fix_task: true
57
+ - Always clean up worktree after validation`,
30
58
 
31
59
  deployment: `# Deployment Workflow
32
60
  1. Ensure all completed tasks are validated first
@@ -73,11 +101,53 @@ When validate_task(approved: true) is called, the response includes:
73
101
  - **cleanup**: Branch deletion commands
74
102
  - **note**: Confirmation it's safe to merge
75
103
 
104
+ ## Multi-Agent Worktrees (CRITICAL)
105
+
106
+ When multiple agents share a repository, you MUST use git worktrees to prevent conflicts.
107
+
108
+ ### Why Worktrees?
109
+ - Branch switching in shared repos causes file conflicts between agents
110
+ - Uncommitted changes from one agent block another's work
111
+ - Worktrees provide isolated working directories with shared .git
112
+
113
+ ### Setup (Once Per Task)
114
+ \`\`\`bash
115
+ # From main repo, create worktree for your task
116
+ git worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>
117
+
118
+ # Work in the worktree directory
119
+ cd ../worktree-<task-short-id>
120
+ \`\`\`
121
+
122
+ ### Cleanup (After Task Merged)
123
+ \`\`\`bash
124
+ # Remove worktree after PR merged
125
+ git worktree remove ../worktree-<task-short-id>
126
+ git branch -d feature/<task-id>-<title>
127
+ \`\`\`
128
+
129
+ ### Worktree Rules
130
+ - ALWAYS create a worktree before starting work on a task
131
+ - Each agent works in their own worktree directory
132
+ - Never switch branches in the main repo when other agents are active
133
+ - Commit and push frequently to avoid losing work
134
+
135
+ ## Handling Merge Conflicts
136
+
137
+ When claim_validation detects conflicts (via GitHub API):
138
+ 1. Response includes merge_conflict with rebase_instructions
139
+ 2. Checkout the feature branch locally
140
+ 3. Rebase onto target branch: \`git rebase origin/<target>\`
141
+ 4. Resolve conflicts, then: \`git add . && git rebase --continue\`
142
+ 5. Force push: \`git push origin <branch> --force-with-lease\`
143
+ 6. Re-claim validation to verify PR is now mergeable
144
+
76
145
  ## Key Rules
77
- - Create branch when starting task (github-flow/git-flow)
146
+ - Create worktree + branch when starting task (multi-agent environments)
78
147
  - Push and create PR when completing task
79
148
  - Wait for validation before merging
80
- - Clean up branch after successful merge`,
149
+ - Resolve merge conflicts via rebase before approval
150
+ - Clean up worktree and branch after successful merge`,
81
151
 
82
152
  blockers: `# Working with Blockers
83
153
  When stuck and need human input:
@@ -118,6 +188,33 @@ Be mindful of token costs - every tool call has a cost.
118
188
  - Batch related updates when possible
119
189
  - Trust lite mode; only use full mode for initial exploration`,
120
190
 
191
+ sprints: `# Sprints
192
+ Sprints are time-bounded bodies of work with velocity tracking.
193
+
194
+ ## Lifecycle
195
+ 1. **planning**: Create sprint, add tasks with story points
196
+ 2. **active**: Sprint in progress, working on tasks
197
+ 3. **in_review**: Sprint ended, reviewing completion
198
+ 4. **retrospective**: Post-sprint reflection
199
+ 5. **completed**: Final state, velocity recorded
200
+
201
+ ## Workflow
202
+ 1. create_sprint(project_id, title, start_date, end_date, goal)
203
+ 2. get_sprint_backlog(project_id) - view available tasks
204
+ 3. add_task_to_sprint(sprint_id, task_id, story_points) - add tasks
205
+ 4. start_sprint(sprint_id) - locks committed_points
206
+ 5. Work on tasks normally (they're assigned to the sprint)
207
+ 6. complete_sprint(sprint_id) - calculates final velocity
208
+
209
+ ## Velocity Tracking
210
+ - committed_points: Total story points at sprint start
211
+ - velocity_points: Story points completed by sprint end
212
+ - get_sprint_velocity(project_id) - shows history and average velocity
213
+
214
+ ## Auto-Deployment
215
+ Set auto_deploy_on_completion: true when creating sprint.
216
+ Triggers deployment when sprint completes.`,
217
+
121
218
  topics: `# Available Help Topics
122
219
  - getting_started: Basic workflow overview
123
220
  - tasks: Working on tasks, progress tracking
@@ -128,5 +225,6 @@ Be mindful of token costs - every tool call has a cost.
128
225
  - milestones: Breaking down complex tasks
129
226
  - fallback: Background activities when idle
130
227
  - session: Session management
131
- - tokens: Token efficiency tips`,
228
+ - tokens: Token efficiency tips
229
+ - sprints: Time-bounded task groupings with velocity tracking`,
132
230
  };