@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.
- package/README.md +113 -98
- package/dist/api-client.d.ts +1169 -0
- package/dist/api-client.js +713 -0
- package/dist/cli.d.ts +1 -6
- package/dist/cli.js +39 -240
- package/dist/config/tool-categories.d.ts +31 -0
- package/dist/config/tool-categories.js +253 -0
- package/dist/handlers/blockers.js +57 -58
- package/dist/handlers/bodies-of-work.d.ts +2 -0
- package/dist/handlers/bodies-of-work.js +108 -477
- package/dist/handlers/cost.d.ts +1 -0
- package/dist/handlers/cost.js +35 -113
- package/dist/handlers/decisions.d.ts +2 -0
- package/dist/handlers/decisions.js +28 -27
- package/dist/handlers/deployment.js +113 -828
- package/dist/handlers/discovery.d.ts +3 -0
- package/dist/handlers/discovery.js +26 -627
- package/dist/handlers/fallback.d.ts +2 -0
- package/dist/handlers/fallback.js +56 -142
- package/dist/handlers/findings.d.ts +8 -1
- package/dist/handlers/findings.js +65 -68
- package/dist/handlers/git-issues.d.ts +9 -13
- package/dist/handlers/git-issues.js +80 -225
- package/dist/handlers/ideas.d.ts +3 -0
- package/dist/handlers/ideas.js +53 -134
- package/dist/handlers/index.d.ts +2 -0
- package/dist/handlers/index.js +6 -0
- package/dist/handlers/milestones.d.ts +2 -0
- package/dist/handlers/milestones.js +51 -98
- package/dist/handlers/organizations.js +79 -275
- package/dist/handlers/progress.d.ts +2 -0
- package/dist/handlers/progress.js +25 -123
- package/dist/handlers/project.js +42 -221
- package/dist/handlers/requests.d.ts +2 -0
- package/dist/handlers/requests.js +23 -83
- package/dist/handlers/session.js +119 -590
- package/dist/handlers/sprints.d.ts +32 -0
- package/dist/handlers/sprints.js +275 -0
- package/dist/handlers/tasks.d.ts +7 -10
- package/dist/handlers/tasks.js +245 -894
- package/dist/handlers/tool-docs.d.ts +9 -0
- package/dist/handlers/tool-docs.js +904 -0
- package/dist/handlers/types.d.ts +11 -3
- package/dist/handlers/validation.d.ts +1 -1
- package/dist/handlers/validation.js +38 -153
- package/dist/index.js +493 -162
- package/dist/knowledge.js +106 -9
- package/dist/tools.js +34 -4
- package/dist/validators.d.ts +21 -0
- package/dist/validators.js +91 -0
- package/package.json +2 -3
- package/src/api-client.ts +1822 -0
- package/src/cli.test.ts +128 -302
- package/src/cli.ts +41 -285
- package/src/handlers/__test-setup__.ts +215 -0
- package/src/handlers/__test-utils__.ts +4 -134
- package/src/handlers/blockers.test.ts +114 -124
- package/src/handlers/blockers.ts +68 -70
- package/src/handlers/bodies-of-work.test.ts +236 -831
- package/src/handlers/bodies-of-work.ts +210 -525
- package/src/handlers/cost.test.ts +149 -113
- package/src/handlers/cost.ts +44 -132
- package/src/handlers/decisions.test.ts +111 -209
- package/src/handlers/decisions.ts +35 -27
- package/src/handlers/deployment.test.ts +193 -239
- package/src/handlers/deployment.ts +143 -896
- package/src/handlers/discovery.test.ts +20 -67
- package/src/handlers/discovery.ts +29 -714
- package/src/handlers/fallback.test.ts +206 -361
- package/src/handlers/fallback.ts +81 -156
- package/src/handlers/findings.test.ts +229 -320
- package/src/handlers/findings.ts +76 -64
- package/src/handlers/git-issues.test.ts +623 -0
- package/src/handlers/git-issues.ts +174 -0
- package/src/handlers/ideas.test.ts +229 -343
- package/src/handlers/ideas.ts +69 -143
- package/src/handlers/index.ts +6 -0
- package/src/handlers/milestones.test.ts +167 -281
- package/src/handlers/milestones.ts +54 -93
- package/src/handlers/organizations.test.ts +275 -467
- package/src/handlers/organizations.ts +84 -294
- package/src/handlers/progress.test.ts +112 -218
- package/src/handlers/progress.ts +29 -142
- package/src/handlers/project.test.ts +203 -226
- package/src/handlers/project.ts +48 -238
- package/src/handlers/requests.test.ts +74 -342
- package/src/handlers/requests.ts +25 -83
- package/src/handlers/session.test.ts +276 -206
- package/src/handlers/session.ts +136 -662
- package/src/handlers/sprints.test.ts +711 -0
- package/src/handlers/sprints.ts +510 -0
- package/src/handlers/tasks.test.ts +669 -353
- package/src/handlers/tasks.ts +263 -1015
- package/src/handlers/tool-docs.ts +1024 -0
- package/src/handlers/types.ts +12 -4
- package/src/handlers/validation.test.ts +237 -568
- package/src/handlers/validation.ts +43 -167
- package/src/index.ts +493 -186
- package/src/tools.ts +2532 -0
- package/src/validators.test.ts +223 -223
- package/src/validators.ts +127 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +14 -13
- package/dist/cli.test.d.ts +0 -1
- package/dist/cli.test.js +0 -367
- package/dist/handlers/__test-utils__.d.ts +0 -72
- package/dist/handlers/__test-utils__.js +0 -176
- package/dist/handlers/checkouts.d.ts +0 -37
- package/dist/handlers/checkouts.js +0 -377
- package/dist/handlers/knowledge-query.d.ts +0 -22
- package/dist/handlers/knowledge-query.js +0 -253
- package/dist/handlers/knowledge.d.ts +0 -12
- package/dist/handlers/knowledge.js +0 -108
- package/dist/handlers/roles.d.ts +0 -30
- package/dist/handlers/roles.js +0 -281
- package/dist/handlers/tasks.test.d.ts +0 -1
- package/dist/handlers/tasks.test.js +0 -431
- package/dist/utils.test.d.ts +0 -1
- package/dist/utils.test.js +0 -532
- package/dist/validators.test.d.ts +0 -1
- package/dist/validators.test.js +0 -176
- package/src/knowledge.ts +0 -132
- package/src/tmpclaude-0078-cwd +0 -1
- package/src/tmpclaude-0ee1-cwd +0 -1
- package/src/tmpclaude-2dd5-cwd +0 -1
- package/src/tmpclaude-344c-cwd +0 -1
- package/src/tmpclaude-3860-cwd +0 -1
- package/src/tmpclaude-4b63-cwd +0 -1
- package/src/tmpclaude-5c73-cwd +0 -1
- package/src/tmpclaude-5ee3-cwd +0 -1
- package/src/tmpclaude-6795-cwd +0 -1
- package/src/tmpclaude-709e-cwd +0 -1
- package/src/tmpclaude-9839-cwd +0 -1
- package/src/tmpclaude-d829-cwd +0 -1
- package/src/tmpclaude-e072-cwd +0 -1
- package/src/tmpclaude-f6ee-cwd +0 -1
- package/tmpclaude-0439-cwd +0 -1
- package/tmpclaude-132f-cwd +0 -1
- package/tmpclaude-15bb-cwd +0 -1
- package/tmpclaude-165a-cwd +0 -1
- package/tmpclaude-1ba9-cwd +0 -1
- package/tmpclaude-21a3-cwd +0 -1
- package/tmpclaude-2a38-cwd +0 -1
- package/tmpclaude-2adf-cwd +0 -1
- package/tmpclaude-2f56-cwd +0 -1
- package/tmpclaude-3626-cwd +0 -1
- package/tmpclaude-3727-cwd +0 -1
- package/tmpclaude-40bc-cwd +0 -1
- package/tmpclaude-436f-cwd +0 -1
- package/tmpclaude-4783-cwd +0 -1
- package/tmpclaude-4b6d-cwd +0 -1
- package/tmpclaude-4ba4-cwd +0 -1
- package/tmpclaude-51e6-cwd +0 -1
- package/tmpclaude-5ecf-cwd +0 -1
- package/tmpclaude-6f97-cwd +0 -1
- package/tmpclaude-7fb2-cwd +0 -1
- package/tmpclaude-825c-cwd +0 -1
- package/tmpclaude-8baf-cwd +0 -1
- package/tmpclaude-8d9f-cwd +0 -1
- package/tmpclaude-975c-cwd +0 -1
- package/tmpclaude-9983-cwd +0 -1
- package/tmpclaude-a045-cwd +0 -1
- package/tmpclaude-ac4a-cwd +0 -1
- package/tmpclaude-b593-cwd +0 -1
- package/tmpclaude-b891-cwd +0 -1
- package/tmpclaude-c032-cwd +0 -1
- package/tmpclaude-cf43-cwd +0 -1
- package/tmpclaude-d040-cwd +0 -1
- package/tmpclaude-dcdd-cwd +0 -1
- package/tmpclaude-dcee-cwd +0 -1
- package/tmpclaude-e16b-cwd +0 -1
- package/tmpclaude-ecd2-cwd +0 -1
- package/tmpclaude-f48d-cwd +0 -1
package/dist/validators.test.js
DELETED
|
@@ -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
|
-
};
|
package/src/tmpclaude-0078-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-0ee1-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-2dd5-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-344c-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-3860-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-4b63-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-5c73-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-5ee3-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-6795-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-709e-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-9839-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-d829-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-e072-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/src/tmpclaude-f6ee-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server/src
|
package/tmpclaude-0439-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-132f-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-15bb-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-165a-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-1ba9-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-21a3-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-2a38-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-2adf-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-2f56-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-3626-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-3727-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-40bc-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-436f-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-4783-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-4b6d-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-4ba4-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-51e6-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-5ecf-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-6f97-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-7fb2-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-825c-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-8baf-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-8d9f-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-975c-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-9983-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-a045-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-ac4a-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-b593-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-b891-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-c032-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-cf43-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-d040-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-dcdd-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-dcee-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-e16b-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-ecd2-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|
package/tmpclaude-f48d-cwd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/d/Repos/Nonatomic/Vibescope/Vibescope/packages/mcp-server
|