@vibescope/mcp-server 0.0.1 → 0.2.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 (173) hide show
  1. package/README.md +113 -98
  2. package/dist/api-client.d.ts +1169 -0
  3. package/dist/api-client.js +713 -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 +108 -477
  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 +113 -828
  16. package/dist/handlers/discovery.d.ts +3 -0
  17. package/dist/handlers/discovery.js +26 -627
  18. package/dist/handlers/fallback.d.ts +2 -0
  19. package/dist/handlers/fallback.js +56 -142
  20. package/dist/handlers/findings.d.ts +8 -1
  21. package/dist/handlers/findings.js +65 -68
  22. package/dist/handlers/git-issues.d.ts +9 -13
  23. package/dist/handlers/git-issues.js +80 -225
  24. package/dist/handlers/ideas.d.ts +3 -0
  25. package/dist/handlers/ideas.js +53 -134
  26. package/dist/handlers/index.d.ts +2 -0
  27. package/dist/handlers/index.js +6 -0
  28. package/dist/handlers/milestones.d.ts +2 -0
  29. package/dist/handlers/milestones.js +51 -98
  30. package/dist/handlers/organizations.js +79 -275
  31. package/dist/handlers/progress.d.ts +2 -0
  32. package/dist/handlers/progress.js +25 -123
  33. package/dist/handlers/project.js +42 -221
  34. package/dist/handlers/requests.d.ts +2 -0
  35. package/dist/handlers/requests.js +23 -83
  36. package/dist/handlers/session.js +119 -590
  37. package/dist/handlers/sprints.d.ts +32 -0
  38. package/dist/handlers/sprints.js +275 -0
  39. package/dist/handlers/tasks.d.ts +7 -10
  40. package/dist/handlers/tasks.js +245 -894
  41. package/dist/handlers/tool-docs.d.ts +9 -0
  42. package/dist/handlers/tool-docs.js +904 -0
  43. package/dist/handlers/types.d.ts +11 -3
  44. package/dist/handlers/validation.d.ts +1 -1
  45. package/dist/handlers/validation.js +38 -153
  46. package/dist/index.js +493 -162
  47. package/dist/knowledge.js +106 -9
  48. package/dist/tools.js +34 -4
  49. package/dist/validators.d.ts +21 -0
  50. package/dist/validators.js +91 -0
  51. package/package.json +2 -3
  52. package/src/api-client.ts +1822 -0
  53. package/src/cli.test.ts +128 -302
  54. package/src/cli.ts +41 -285
  55. package/src/handlers/__test-setup__.ts +215 -0
  56. package/src/handlers/__test-utils__.ts +4 -134
  57. package/src/handlers/blockers.test.ts +114 -124
  58. package/src/handlers/blockers.ts +68 -70
  59. package/src/handlers/bodies-of-work.test.ts +236 -831
  60. package/src/handlers/bodies-of-work.ts +210 -525
  61. package/src/handlers/cost.test.ts +149 -113
  62. package/src/handlers/cost.ts +44 -132
  63. package/src/handlers/decisions.test.ts +111 -209
  64. package/src/handlers/decisions.ts +35 -27
  65. package/src/handlers/deployment.test.ts +193 -239
  66. package/src/handlers/deployment.ts +143 -896
  67. package/src/handlers/discovery.test.ts +20 -67
  68. package/src/handlers/discovery.ts +29 -714
  69. package/src/handlers/fallback.test.ts +206 -361
  70. package/src/handlers/fallback.ts +81 -156
  71. package/src/handlers/findings.test.ts +229 -320
  72. package/src/handlers/findings.ts +76 -64
  73. package/src/handlers/git-issues.test.ts +623 -0
  74. package/src/handlers/git-issues.ts +174 -0
  75. package/src/handlers/ideas.test.ts +229 -343
  76. package/src/handlers/ideas.ts +69 -143
  77. package/src/handlers/index.ts +6 -0
  78. package/src/handlers/milestones.test.ts +167 -281
  79. package/src/handlers/milestones.ts +54 -93
  80. package/src/handlers/organizations.test.ts +275 -467
  81. package/src/handlers/organizations.ts +84 -294
  82. package/src/handlers/progress.test.ts +112 -218
  83. package/src/handlers/progress.ts +29 -142
  84. package/src/handlers/project.test.ts +203 -226
  85. package/src/handlers/project.ts +48 -238
  86. package/src/handlers/requests.test.ts +74 -342
  87. package/src/handlers/requests.ts +25 -83
  88. package/src/handlers/session.test.ts +276 -206
  89. package/src/handlers/session.ts +136 -662
  90. package/src/handlers/sprints.test.ts +711 -0
  91. package/src/handlers/sprints.ts +510 -0
  92. package/src/handlers/tasks.test.ts +669 -353
  93. package/src/handlers/tasks.ts +263 -1015
  94. package/src/handlers/tool-docs.ts +1024 -0
  95. package/src/handlers/types.ts +12 -4
  96. package/src/handlers/validation.test.ts +237 -568
  97. package/src/handlers/validation.ts +43 -167
  98. package/src/index.ts +493 -186
  99. package/src/tools.ts +2532 -0
  100. package/src/validators.test.ts +223 -223
  101. package/src/validators.ts +127 -0
  102. package/tsconfig.json +1 -1
  103. package/vitest.config.ts +14 -13
  104. package/dist/cli.test.d.ts +0 -1
  105. package/dist/cli.test.js +0 -367
  106. package/dist/handlers/__test-utils__.d.ts +0 -72
  107. package/dist/handlers/__test-utils__.js +0 -176
  108. package/dist/handlers/checkouts.d.ts +0 -37
  109. package/dist/handlers/checkouts.js +0 -377
  110. package/dist/handlers/knowledge-query.d.ts +0 -22
  111. package/dist/handlers/knowledge-query.js +0 -253
  112. package/dist/handlers/knowledge.d.ts +0 -12
  113. package/dist/handlers/knowledge.js +0 -108
  114. package/dist/handlers/roles.d.ts +0 -30
  115. package/dist/handlers/roles.js +0 -281
  116. package/dist/handlers/tasks.test.d.ts +0 -1
  117. package/dist/handlers/tasks.test.js +0 -431
  118. package/dist/utils.test.d.ts +0 -1
  119. package/dist/utils.test.js +0 -532
  120. package/dist/validators.test.d.ts +0 -1
  121. package/dist/validators.test.js +0 -176
  122. package/src/knowledge.ts +0 -132
  123. package/src/tmpclaude-0078-cwd +0 -1
  124. package/src/tmpclaude-0ee1-cwd +0 -1
  125. package/src/tmpclaude-2dd5-cwd +0 -1
  126. package/src/tmpclaude-344c-cwd +0 -1
  127. package/src/tmpclaude-3860-cwd +0 -1
  128. package/src/tmpclaude-4b63-cwd +0 -1
  129. package/src/tmpclaude-5c73-cwd +0 -1
  130. package/src/tmpclaude-5ee3-cwd +0 -1
  131. package/src/tmpclaude-6795-cwd +0 -1
  132. package/src/tmpclaude-709e-cwd +0 -1
  133. package/src/tmpclaude-9839-cwd +0 -1
  134. package/src/tmpclaude-d829-cwd +0 -1
  135. package/src/tmpclaude-e072-cwd +0 -1
  136. package/src/tmpclaude-f6ee-cwd +0 -1
  137. package/tmpclaude-0439-cwd +0 -1
  138. package/tmpclaude-132f-cwd +0 -1
  139. package/tmpclaude-15bb-cwd +0 -1
  140. package/tmpclaude-165a-cwd +0 -1
  141. package/tmpclaude-1ba9-cwd +0 -1
  142. package/tmpclaude-21a3-cwd +0 -1
  143. package/tmpclaude-2a38-cwd +0 -1
  144. package/tmpclaude-2adf-cwd +0 -1
  145. package/tmpclaude-2f56-cwd +0 -1
  146. package/tmpclaude-3626-cwd +0 -1
  147. package/tmpclaude-3727-cwd +0 -1
  148. package/tmpclaude-40bc-cwd +0 -1
  149. package/tmpclaude-436f-cwd +0 -1
  150. package/tmpclaude-4783-cwd +0 -1
  151. package/tmpclaude-4b6d-cwd +0 -1
  152. package/tmpclaude-4ba4-cwd +0 -1
  153. package/tmpclaude-51e6-cwd +0 -1
  154. package/tmpclaude-5ecf-cwd +0 -1
  155. package/tmpclaude-6f97-cwd +0 -1
  156. package/tmpclaude-7fb2-cwd +0 -1
  157. package/tmpclaude-825c-cwd +0 -1
  158. package/tmpclaude-8baf-cwd +0 -1
  159. package/tmpclaude-8d9f-cwd +0 -1
  160. package/tmpclaude-975c-cwd +0 -1
  161. package/tmpclaude-9983-cwd +0 -1
  162. package/tmpclaude-a045-cwd +0 -1
  163. package/tmpclaude-ac4a-cwd +0 -1
  164. package/tmpclaude-b593-cwd +0 -1
  165. package/tmpclaude-b891-cwd +0 -1
  166. package/tmpclaude-c032-cwd +0 -1
  167. package/tmpclaude-cf43-cwd +0 -1
  168. package/tmpclaude-d040-cwd +0 -1
  169. package/tmpclaude-dcdd-cwd +0 -1
  170. package/tmpclaude-dcee-cwd +0 -1
  171. package/tmpclaude-e16b-cwd +0 -1
  172. package/tmpclaude-ecd2-cwd +0 -1
  173. package/tmpclaude-f48d-cwd +0 -1
@@ -1,176 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { ValidationError, validateRequired, validateUUID, validateTaskStatus, validateProjectStatus, validatePriority, validateProgressPercentage, validateEstimatedMinutes, validateEnvironment, VALID_TASK_STATUSES, VALID_PROJECT_STATUSES, VALID_ENVIRONMENTS, } from './validators.js';
3
- describe('ValidationError', () => {
4
- it('should create error with message', () => {
5
- const error = new ValidationError('Test error');
6
- expect(error.message).toBe('Test error');
7
- expect(error.name).toBe('ValidationError');
8
- });
9
- it('should include optional fields', () => {
10
- const error = new ValidationError('Test error', {
11
- field: 'test_field',
12
- hint: 'Test hint',
13
- validValues: ['a', 'b'],
14
- });
15
- expect(error.field).toBe('test_field');
16
- expect(error.hint).toBe('Test hint');
17
- expect(error.validValues).toEqual(['a', 'b']);
18
- });
19
- it('should serialize to JSON correctly', () => {
20
- const error = new ValidationError('Test error', {
21
- field: 'test_field',
22
- hint: 'Test hint',
23
- validValues: ['a', 'b'],
24
- });
25
- const json = error.toJSON();
26
- expect(json.error).toBe('validation_error');
27
- expect(json.message).toBe('Test error');
28
- expect(json.field).toBe('test_field');
29
- expect(json.hint).toBe('Test hint');
30
- expect(json.valid_values).toEqual(['a', 'b']);
31
- });
32
- });
33
- describe('validateRequired', () => {
34
- it('should pass for valid values', () => {
35
- expect(() => validateRequired('value', 'field')).not.toThrow();
36
- expect(() => validateRequired(0, 'field')).not.toThrow();
37
- expect(() => validateRequired(false, 'field')).not.toThrow();
38
- expect(() => validateRequired({}, 'field')).not.toThrow();
39
- });
40
- it('should throw for undefined', () => {
41
- expect(() => validateRequired(undefined, 'test_field')).toThrow(ValidationError);
42
- expect(() => validateRequired(undefined, 'test_field')).toThrow('Missing required field: test_field');
43
- });
44
- it('should throw for null', () => {
45
- expect(() => validateRequired(null, 'test_field')).toThrow(ValidationError);
46
- });
47
- it('should throw for empty string', () => {
48
- expect(() => validateRequired('', 'test_field')).toThrow(ValidationError);
49
- });
50
- });
51
- describe('validateUUID', () => {
52
- it('should pass for valid UUIDs', () => {
53
- expect(() => validateUUID('123e4567-e89b-12d3-a456-426614174000', 'id')).not.toThrow();
54
- expect(() => validateUUID('00000000-0000-0000-0000-000000000000', 'id')).not.toThrow();
55
- expect(() => validateUUID('FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF', 'id')).not.toThrow();
56
- });
57
- it('should pass for undefined (optional)', () => {
58
- expect(() => validateUUID(undefined, 'id')).not.toThrow();
59
- });
60
- it('should pass for empty string (treated as optional)', () => {
61
- expect(() => validateUUID('', 'id')).not.toThrow();
62
- });
63
- it('should throw for invalid UUIDs', () => {
64
- expect(() => validateUUID('not-a-uuid', 'id')).toThrow(ValidationError);
65
- expect(() => validateUUID('123', 'id')).toThrow(ValidationError);
66
- expect(() => validateUUID('123e4567-e89b-12d3-a456', 'id')).toThrow(ValidationError);
67
- expect(() => validateUUID('123e4567-e89b-12d3-a456-426614174000-extra', 'id')).toThrow(ValidationError);
68
- });
69
- });
70
- describe('validateTaskStatus', () => {
71
- it('should pass for valid task statuses', () => {
72
- for (const status of VALID_TASK_STATUSES) {
73
- expect(() => validateTaskStatus(status)).not.toThrow();
74
- }
75
- });
76
- it('should pass for undefined (optional)', () => {
77
- expect(() => validateTaskStatus(undefined)).not.toThrow();
78
- });
79
- it('should throw for invalid status', () => {
80
- expect(() => validateTaskStatus('invalid')).toThrow(ValidationError);
81
- expect(() => validateTaskStatus('PENDING')).toThrow(ValidationError);
82
- expect(() => validateTaskStatus('done')).toThrow(ValidationError);
83
- });
84
- });
85
- describe('validateProjectStatus', () => {
86
- it('should pass for valid project statuses', () => {
87
- for (const status of VALID_PROJECT_STATUSES) {
88
- expect(() => validateProjectStatus(status)).not.toThrow();
89
- }
90
- });
91
- it('should pass for undefined (optional)', () => {
92
- expect(() => validateProjectStatus(undefined)).not.toThrow();
93
- });
94
- it('should throw for invalid status', () => {
95
- expect(() => validateProjectStatus('invalid')).toThrow(ValidationError);
96
- expect(() => validateProjectStatus('ACTIVE')).toThrow(ValidationError);
97
- });
98
- });
99
- describe('validatePriority', () => {
100
- it('should pass for valid priorities 1-5', () => {
101
- for (let i = 1; i <= 5; i++) {
102
- expect(() => validatePriority(i)).not.toThrow();
103
- }
104
- });
105
- it('should pass for undefined (optional)', () => {
106
- expect(() => validatePriority(undefined)).not.toThrow();
107
- });
108
- it('should throw for out of range values', () => {
109
- expect(() => validatePriority(0)).toThrow(ValidationError);
110
- expect(() => validatePriority(6)).toThrow(ValidationError);
111
- expect(() => validatePriority(-1)).toThrow(ValidationError);
112
- });
113
- it('should throw for non-integers', () => {
114
- expect(() => validatePriority(1.5)).toThrow(ValidationError);
115
- expect(() => validatePriority(2.7)).toThrow(ValidationError);
116
- });
117
- });
118
- describe('validateProgressPercentage', () => {
119
- it('should pass for valid percentages 0-100', () => {
120
- expect(() => validateProgressPercentage(0)).not.toThrow();
121
- expect(() => validateProgressPercentage(50)).not.toThrow();
122
- expect(() => validateProgressPercentage(100)).not.toThrow();
123
- expect(() => validateProgressPercentage(33.33)).not.toThrow();
124
- });
125
- it('should pass for undefined (optional)', () => {
126
- expect(() => validateProgressPercentage(undefined)).not.toThrow();
127
- });
128
- it('should throw for out of range values', () => {
129
- expect(() => validateProgressPercentage(-1)).toThrow(ValidationError);
130
- expect(() => validateProgressPercentage(101)).toThrow(ValidationError);
131
- expect(() => validateProgressPercentage(150)).toThrow(ValidationError);
132
- });
133
- it('should throw for non-finite values', () => {
134
- expect(() => validateProgressPercentage(Infinity)).toThrow(ValidationError);
135
- expect(() => validateProgressPercentage(NaN)).toThrow(ValidationError);
136
- });
137
- });
138
- describe('validateEstimatedMinutes', () => {
139
- it('should pass for valid positive integers', () => {
140
- expect(() => validateEstimatedMinutes(1)).not.toThrow();
141
- expect(() => validateEstimatedMinutes(30)).not.toThrow();
142
- expect(() => validateEstimatedMinutes(120)).not.toThrow();
143
- });
144
- it('should pass for undefined (optional)', () => {
145
- expect(() => validateEstimatedMinutes(undefined)).not.toThrow();
146
- });
147
- it('should throw for zero', () => {
148
- expect(() => validateEstimatedMinutes(0)).toThrow(ValidationError);
149
- });
150
- it('should throw for negative values', () => {
151
- expect(() => validateEstimatedMinutes(-1)).toThrow(ValidationError);
152
- expect(() => validateEstimatedMinutes(-30)).toThrow(ValidationError);
153
- });
154
- it('should throw for non-integers', () => {
155
- expect(() => validateEstimatedMinutes(1.5)).toThrow(ValidationError);
156
- expect(() => validateEstimatedMinutes(30.5)).toThrow(ValidationError);
157
- });
158
- });
159
- describe('validateEnvironment', () => {
160
- it('should pass for valid environments', () => {
161
- for (const env of VALID_ENVIRONMENTS) {
162
- expect(() => validateEnvironment(env)).not.toThrow();
163
- }
164
- });
165
- it('should pass for undefined (optional)', () => {
166
- expect(() => validateEnvironment(undefined)).not.toThrow();
167
- });
168
- it('should pass for empty string (treated as optional)', () => {
169
- expect(() => validateEnvironment('')).not.toThrow();
170
- });
171
- it('should throw for invalid environment', () => {
172
- expect(() => validateEnvironment('invalid')).toThrow(ValidationError);
173
- expect(() => validateEnvironment('PRODUCTION')).toThrow(ValidationError);
174
- expect(() => validateEnvironment('prod')).toThrow(ValidationError);
175
- });
176
- });
package/src/knowledge.ts DELETED
@@ -1,132 +0,0 @@
1
- /**
2
- * Knowledge Base
3
- *
4
- * Embedded help topics for on-demand agent guidance.
5
- */
6
-
7
- export const KNOWLEDGE_BASE: Record<string, string> = {
8
- getting_started: `# Getting Started
9
- 1. Call start_work_session(git_url) to initialize
10
- 2. Response includes next_task - start working on it immediately
11
- 3. Use update_task to mark in_progress and track progress
12
- 4. Call complete_task when done - it returns your next task
13
- 5. Use get_help(topic) when you need guidance on specific workflows`,
14
-
15
- tasks: `# Task Workflow
16
- - Mark task in_progress with update_task before starting
17
- - Update progress_percentage regularly (every 15-20% progress)
18
- - Include progress_note to auto-log milestones
19
- - One task at a time - complete current before starting another
20
- - complete_task returns next_task and context counts (validation, blockers, deployment)
21
- - Priority: 1=highest, 5=lowest`,
22
-
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.`,
30
-
31
- deployment: `# Deployment Workflow
32
- 1. Ensure all completed tasks are validated first
33
- 2. request_deployment(project_id, environment: "production")
34
- 3. claim_deployment_validation(project_id) - claim for validation
35
- 4. Run: pnpm build && pnpm test
36
- 5. report_validation(project_id, build_passed: true, tests_passed: true)
37
- 6. start_deployment(project_id) - returns project's deployment_instructions
38
- 7. Follow the instructions (e.g., push to main, run deploy command)
39
- 8. complete_deployment(project_id, success: true, summary: "...")`,
40
-
41
- git: `# Git Workflow
42
-
43
- Call get_git_workflow(project_id) for project-specific config.
44
-
45
- ## Workflow Types
46
- - **none**: No branching strategy
47
- - **trunk-based**: Commit directly to main, small frequent commits
48
- - **github-flow**: Feature branches, merge via PR after validation
49
- - **git-flow**: develop/release/feature branches
50
-
51
- ## Lifecycle Integration
52
-
53
- ### 1. Starting a Task
54
- When you call update_task(status: "in_progress"), the response includes:
55
- - **branch_name**: Suggested branch (e.g., feature/a1b2c3d4-task-title)
56
- - **base_branch**: Branch to branch from
57
- - **steps**: Git commands to create the branch
58
- - **reminder**: Call to update task with git_branch
59
-
60
- ### 2. Completing a Task
61
- When you call complete_task, the response includes:
62
- - **steps**: Push commands
63
- - **pr_suggestion**: { title, body_template } - ready-to-use PR content
64
- - **next_step**: Reminder that merge happens AFTER validation
65
-
66
- Add the PR link via add_task_reference(task_id, url, label: "Pull Request").
67
-
68
- ### 3. Validation Approved
69
- When validate_task(approved: true) is called, the response includes:
70
- - **target_branch**: Where to merge
71
- - **feature_branch**: Branch being merged
72
- - **steps**: Merge options (UI or command line)
73
- - **cleanup**: Branch deletion commands
74
- - **note**: Confirmation it's safe to merge
75
-
76
- ## Key Rules
77
- - Create branch when starting task (github-flow/git-flow)
78
- - Push and create PR when completing task
79
- - Wait for validation before merging
80
- - Clean up branch after successful merge`,
81
-
82
- blockers: `# Working with Blockers
83
- When stuck and need human input:
84
- 1. add_blocker(project_id, description: "What's blocking")
85
- 2. Ask your question to the user
86
- 3. resolve_blocker(blocker_id, resolution_note: "How resolved")
87
- Only use for genuine blockers requiring decisions - not routine questions.`,
88
-
89
- milestones: `# Task Milestones
90
- For complex tasks, break into milestones:
91
- 1. add_milestone(task_id, title: "Design schema")
92
- 2. add_milestone(task_id, title: "Implement API")
93
- 3. Update with complete_milestone(milestone_id) as you go
94
- Dashboard shows progress bar with completed/total.`,
95
-
96
- fallback: `# Fallback Activities
97
- When no tasks available, get_next_task suggests activities:
98
- - feature_ideation, code_review, performance_audit
99
- - security_review, test_coverage, documentation_review
100
- 1. start_fallback_activity(project_id, activity: "code_review")
101
- 2. Do the work, use add_finding for issues, add_idea for improvements
102
- 3. stop_fallback_activity(project_id, summary: "...")`,
103
-
104
- session: `# Session Management
105
- - start_work_session initializes and returns next_task (lite mode default)
106
- - Use mode:'full' for complete context when needed
107
- - heartbeat every 30-60 seconds maintains active status
108
- - end_work_session releases claimed tasks and returns summary
109
- - NEVER STOP: After completing a task, immediately start the next one
110
- - When context grows large: /clear then start_work_session to continue fresh
111
- - Your progress is saved to the dashboard - nothing is lost on /clear`,
112
-
113
- tokens: `# Token Efficiency
114
- Be mindful of token costs - every tool call has a cost.
115
- - Use mode:'lite' (default) - saves ~85% vs full mode
116
- - Call get_token_usage() to check consumption
117
- - /compact when context grows large
118
- - Batch related updates when possible
119
- - Trust lite mode; only use full mode for initial exploration`,
120
-
121
- topics: `# Available Help Topics
122
- - getting_started: Basic workflow overview
123
- - tasks: Working on tasks, progress tracking
124
- - validation: Cross-agent task validation
125
- - deployment: Deployment coordination
126
- - git: Git workflow configuration
127
- - blockers: Handling blockers
128
- - milestones: Breaking down complex tasks
129
- - fallback: Background activities when idle
130
- - session: Session management
131
- - tokens: Token efficiency tips`,
132
- };
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
@@ -1 +0,0 @@
1
- /d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server