@vibescope/mcp-server 0.5.0 → 0.5.2

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 (162) hide show
  1. package/CHANGELOG.md +84 -84
  2. package/README.md +194 -194
  3. package/dist/api-client/tasks.d.ts +1 -0
  4. package/dist/cli-init.js +21 -21
  5. package/dist/cli.js +26 -26
  6. package/dist/handlers/session.js +3 -1
  7. package/dist/handlers/tasks.js +7 -1
  8. package/dist/handlers/tool-docs.js +1216 -1216
  9. package/dist/index.js +73 -73
  10. package/dist/templates/agent-guidelines.d.ts +1 -1
  11. package/dist/templates/agent-guidelines.js +205 -205
  12. package/dist/templates/help-content.js +1621 -1621
  13. package/dist/tools/bodies-of-work.js +6 -6
  14. package/dist/tools/cloud-agents.js +22 -22
  15. package/dist/tools/milestones.js +2 -2
  16. package/dist/tools/requests.js +1 -1
  17. package/dist/tools/session.js +11 -11
  18. package/dist/tools/sprints.js +9 -9
  19. package/dist/tools/tasks.js +43 -35
  20. package/dist/tools/worktrees.js +14 -14
  21. package/dist/utils.js +11 -11
  22. package/docs/TOOLS.md +2687 -2685
  23. package/package.json +53 -53
  24. package/scripts/generate-docs.ts +212 -212
  25. package/scripts/version-bump.ts +203 -203
  26. package/src/api-client/blockers.ts +86 -86
  27. package/src/api-client/bodies-of-work.ts +194 -194
  28. package/src/api-client/chat.ts +50 -50
  29. package/src/api-client/connectors.ts +152 -152
  30. package/src/api-client/cost.ts +185 -185
  31. package/src/api-client/decisions.ts +87 -87
  32. package/src/api-client/deployment.ts +313 -313
  33. package/src/api-client/discovery.ts +81 -81
  34. package/src/api-client/fallback.ts +52 -52
  35. package/src/api-client/file-checkouts.ts +115 -115
  36. package/src/api-client/findings.ts +100 -100
  37. package/src/api-client/git-issues.ts +88 -88
  38. package/src/api-client/ideas.ts +112 -112
  39. package/src/api-client/index.ts +592 -592
  40. package/src/api-client/milestones.ts +83 -83
  41. package/src/api-client/organizations.ts +185 -185
  42. package/src/api-client/progress.ts +94 -94
  43. package/src/api-client/project.ts +181 -181
  44. package/src/api-client/requests.ts +54 -54
  45. package/src/api-client/session.ts +220 -220
  46. package/src/api-client/sprints.ts +227 -227
  47. package/src/api-client/subtasks.ts +57 -57
  48. package/src/api-client/tasks.ts +451 -450
  49. package/src/api-client/types.ts +32 -32
  50. package/src/api-client/validation.ts +60 -60
  51. package/src/api-client/worktrees.ts +53 -53
  52. package/src/api-client.test.ts +847 -847
  53. package/src/api-client.ts +2728 -2728
  54. package/src/cli-init.ts +558 -558
  55. package/src/cli.test.ts +284 -284
  56. package/src/cli.ts +204 -204
  57. package/src/handlers/__test-setup__.ts +240 -240
  58. package/src/handlers/__test-utils__.ts +89 -89
  59. package/src/handlers/blockers.test.ts +468 -468
  60. package/src/handlers/blockers.ts +172 -172
  61. package/src/handlers/bodies-of-work.test.ts +704 -704
  62. package/src/handlers/bodies-of-work.ts +526 -526
  63. package/src/handlers/chat.test.ts +185 -185
  64. package/src/handlers/chat.ts +101 -101
  65. package/src/handlers/cloud-agents.test.ts +438 -438
  66. package/src/handlers/cloud-agents.ts +156 -156
  67. package/src/handlers/connectors.test.ts +834 -834
  68. package/src/handlers/connectors.ts +229 -229
  69. package/src/handlers/cost.test.ts +462 -462
  70. package/src/handlers/cost.ts +285 -285
  71. package/src/handlers/decisions.test.ts +382 -382
  72. package/src/handlers/decisions.ts +153 -153
  73. package/src/handlers/deployment.test.ts +551 -551
  74. package/src/handlers/deployment.ts +570 -570
  75. package/src/handlers/discovery.test.ts +206 -206
  76. package/src/handlers/discovery.ts +433 -433
  77. package/src/handlers/fallback.test.ts +537 -537
  78. package/src/handlers/fallback.ts +194 -194
  79. package/src/handlers/file-checkouts.test.ts +750 -750
  80. package/src/handlers/file-checkouts.ts +185 -185
  81. package/src/handlers/findings.test.ts +633 -633
  82. package/src/handlers/findings.ts +239 -239
  83. package/src/handlers/git-issues.test.ts +631 -631
  84. package/src/handlers/git-issues.ts +136 -136
  85. package/src/handlers/ideas.test.ts +644 -644
  86. package/src/handlers/ideas.ts +207 -207
  87. package/src/handlers/index.ts +93 -93
  88. package/src/handlers/milestones.test.ts +475 -475
  89. package/src/handlers/milestones.ts +180 -180
  90. package/src/handlers/organizations.test.ts +826 -826
  91. package/src/handlers/organizations.ts +315 -315
  92. package/src/handlers/progress.test.ts +269 -269
  93. package/src/handlers/progress.ts +77 -77
  94. package/src/handlers/project.test.ts +546 -546
  95. package/src/handlers/project.ts +245 -245
  96. package/src/handlers/requests.test.ts +303 -303
  97. package/src/handlers/requests.ts +99 -99
  98. package/src/handlers/roles.test.ts +305 -305
  99. package/src/handlers/roles.ts +219 -219
  100. package/src/handlers/session.test.ts +998 -998
  101. package/src/handlers/session.ts +1107 -1105
  102. package/src/handlers/sprints.test.ts +732 -732
  103. package/src/handlers/sprints.ts +537 -537
  104. package/src/handlers/tasks.test.ts +931 -931
  105. package/src/handlers/tasks.ts +1144 -1137
  106. package/src/handlers/tool-categories.test.ts +66 -66
  107. package/src/handlers/tool-docs.test.ts +511 -511
  108. package/src/handlers/tool-docs.ts +1595 -1595
  109. package/src/handlers/types.test.ts +259 -259
  110. package/src/handlers/types.ts +176 -176
  111. package/src/handlers/validation.test.ts +582 -582
  112. package/src/handlers/validation.ts +164 -164
  113. package/src/handlers/version.ts +63 -63
  114. package/src/index.test.ts +674 -674
  115. package/src/index.ts +884 -884
  116. package/src/setup.test.ts +243 -243
  117. package/src/setup.ts +410 -410
  118. package/src/templates/agent-guidelines.ts +233 -233
  119. package/src/templates/help-content.ts +1751 -1751
  120. package/src/token-tracking.test.ts +463 -463
  121. package/src/token-tracking.ts +167 -167
  122. package/src/tools/blockers.ts +122 -122
  123. package/src/tools/bodies-of-work.ts +283 -283
  124. package/src/tools/chat.ts +72 -72
  125. package/src/tools/cloud-agents.ts +101 -101
  126. package/src/tools/connectors.ts +191 -191
  127. package/src/tools/cost.ts +111 -111
  128. package/src/tools/decisions.ts +111 -111
  129. package/src/tools/deployment.ts +455 -455
  130. package/src/tools/discovery.ts +76 -76
  131. package/src/tools/fallback.ts +111 -111
  132. package/src/tools/features.ts +154 -154
  133. package/src/tools/file-checkouts.ts +145 -145
  134. package/src/tools/findings.ts +101 -101
  135. package/src/tools/git-issues.ts +130 -130
  136. package/src/tools/ideas.ts +162 -162
  137. package/src/tools/index.ts +145 -145
  138. package/src/tools/milestones.ts +118 -118
  139. package/src/tools/organizations.ts +224 -224
  140. package/src/tools/persona-templates.ts +25 -25
  141. package/src/tools/progress.ts +73 -73
  142. package/src/tools/project.ts +210 -210
  143. package/src/tools/requests.ts +68 -68
  144. package/src/tools/roles.ts +112 -112
  145. package/src/tools/session.ts +181 -181
  146. package/src/tools/sprints.ts +298 -298
  147. package/src/tools/tasks.ts +583 -575
  148. package/src/tools/tools.test.ts +222 -222
  149. package/src/tools/types.ts +9 -9
  150. package/src/tools/validation.ts +75 -75
  151. package/src/tools/version.ts +34 -34
  152. package/src/tools/worktrees.ts +66 -66
  153. package/src/tools.test.ts +416 -416
  154. package/src/utils.test.ts +1014 -1014
  155. package/src/utils.ts +586 -586
  156. package/src/validators.test.ts +223 -223
  157. package/src/validators.ts +249 -249
  158. package/src/version.ts +162 -162
  159. package/tsconfig.json +16 -16
  160. package/vitest.config.ts +14 -14
  161. package/dist/tools.d.ts +0 -2
  162. package/dist/tools.js +0 -3602
@@ -1,233 +1,233 @@
1
- /**
2
- * Agent Guidelines Template
3
- *
4
- * This template contains the essential CLAUDE.md content that should be included
5
- * in every project using Vibescope for agent tracking. These guidelines ensure
6
- * agents follow proper workflows and maintain visibility.
7
- */
8
-
9
- export const VIBESCOPE_SECTION_START = '<!-- vibescope:start -->';
10
- export const VIBESCOPE_SECTION_END = '<!-- vibescope:end -->';
11
-
12
- export const AGENT_GUIDELINES_TEMPLATE = `${VIBESCOPE_SECTION_START}
13
- # Vibescope Agent Guidelines
14
-
15
- ## Quick Start
16
-
17
- \`\`\`
18
- start_work_session(git_url: "https://github.com/YOUR/REPO", model: "opus")
19
- \`\`\`
20
-
21
- **IMPORTANT:** Always pass your model (opus/sonnet/haiku) to enable cost tracking. Check your system prompt for "You are powered by the model named..." to determine your model.
22
-
23
- This returns your persona, project info, and \`next_task\`. Start working immediately.
24
-
25
- ## CRITICAL: MCP Connection Required
26
-
27
- **If the Vibescope MCP server fails to connect, you MUST end your session immediately.**
28
-
29
- ### Why This Is Non-Negotiable
30
-
31
- Working without MCP connection causes:
32
- - **No progress visibility** - Humans can't see what you're doing
33
- - **Lost work tracking** - Tasks aren't tracked, time is wasted
34
- - **Workflow violations** - Other agents may conflict with your work
35
- - **Dashboard confusion** - Project state becomes inconsistent
36
-
37
- ### Connection Failure Handling
38
-
39
- **If \`start_work_session\` fails or returns an error:**
40
-
41
- 1. **Do NOT proceed with any work**
42
- 2. **Inform the user** that MCP connection failed
43
- 3. **End the session** - do not attempt workarounds
44
- 4. **Provide troubleshooting steps:**
45
- - Check if MCP server is configured: \`claude mcp list\`
46
- - Verify API key is set: check \`.mcp.json\` or environment
47
- - Restart Claude Code after fixing configuration
48
-
49
- **Example error responses you might see:**
50
- \`\`\`
51
- Error: Failed to start session
52
- Error: VIBESCOPE_API_KEY not set
53
- Error: Network error connecting to Vibescope API
54
- Error: MCP server 'vibescope' not found
55
- \`\`\`
56
-
57
- ### Recovery Steps
58
-
59
- If MCP connection fails, tell the user:
60
-
61
- \`\`\`
62
- MCP connection to Vibescope failed. I cannot proceed without task tracking.
63
-
64
- To fix:
65
- 1. Run: claude mcp list (verify vibescope is configured)
66
- 2. Check API key: ensure VIBESCOPE_API_KEY is set
67
- 3. Restart Claude Code
68
- 4. Try again with: start_work_session(git_url: "...")
69
-
70
- I am ending this session to prevent untracked work.
71
- \`\`\`
72
-
73
- **Never "work around" a broken MCP connection.** The whole point of Vibescope is visibility and coordination. Working without it defeats the purpose.
74
-
75
- ## Core Workflow
76
-
77
- 1. **Start session** → \`start_work_session(git_url, model)\` - Always include your model!
78
- 2. **Mark task in progress** → \`update_task(task_id, status: "in_progress")\` - Returns git workflow instructions!
79
- 3. **Set up worktree** → Create isolated worktree for this task (see Git Workflow below)
80
- 4. **Update progress** → \`update_task(task_id, progress_percentage: 50, progress_note: "...")\`
81
- 5. **Post key milestones** → \`post_progress(project_id, message, type)\` - Keep humans informed!
82
- 6. **Complete task** → \`complete_task(task_id, summary: "...")\` - **MANDATORY, see below!**
83
- 7. **Clean up** → Remove worktree, then start next task immediately
84
-
85
- ## Progress Updates via post_progress
86
-
87
- Use \`post_progress(project_id, message, type)\` to keep the team informed at key moments.
88
-
89
- | Type | When to use |
90
- |------|-------------|
91
- | \`info\` | General status update (started exploration, found issue, etc.) |
92
- | \`milestone\` | Key achievement reached (PR created, implementation complete, etc.) |
93
- | \`blocker\` | Something is blocking progress (missing context, dependency, error) |
94
- | \`question\` | Need human input or a decision |
95
-
96
- **Call \`post_progress\` when:**
97
- - Starting work on a task: \`post_progress(project_id, "Starting work on [task title]", "info")\`
98
- - Creating a PR: \`post_progress(project_id, "PR created: [url]", "milestone")\`
99
- - Hitting a blocker: \`post_progress(project_id, "[description of blocker]", "blocker")\`
100
- - Completing a task: \`post_progress(project_id, "Task complete: [brief summary]", "milestone")\`
101
-
102
- ## CRITICAL: Always Call complete_task (MANDATORY)
103
-
104
- **You MUST call \`complete_task()\` when you finish a task.** This is not optional.
105
-
106
- ### When to Call complete_task
107
-
108
- Call \`complete_task()\` immediately after:
109
- - ✅ Creating and pushing a PR
110
- - ✅ Merging changes (for trunk-based workflow)
111
- - ✅ Finishing any unit of work, even if no code changes
112
-
113
- **Do NOT wait for:**
114
- - ❌ PR to be reviewed/merged (that's what validation is for)
115
- - ❌ User confirmation
116
- - ❌ "Perfect" summary - a brief summary is fine
117
-
118
- ### The Rule
119
-
120
- \`\`\`
121
- PR created + pushed → complete_task() → THEN worry about next steps
122
- \`\`\`
123
-
124
- **If you create a PR and don't call \`complete_task()\`, you have failed the workflow.**
125
-
126
- ## CRITICAL: Git Worktrees for Multi-Agent
127
-
128
- When multiple agents share a repository, you **MUST** use git worktrees to prevent conflicts.
129
-
130
- **Before starting ANY task:**
131
- \`\`\`bash
132
- # For git-flow: ensure you're on develop first, then create worktree
133
- git checkout develop
134
- git pull origin develop
135
- git worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>
136
- cd ../worktree-<task-short-id>
137
- \`\`\`
138
-
139
- **After task is merged:**
140
- \`\`\`bash
141
- git worktree remove ../worktree-<task-short-id>
142
- \`\`\`
143
-
144
- **Why?** Branch switching in shared repos causes file conflicts between agents. Worktrees provide isolated directories.
145
-
146
- Run \`get_help("git")\` for full worktree documentation.
147
-
148
- ## CRITICAL: Never Ask Permission
149
-
150
- **You must NEVER:**
151
- - Ask "Should I continue to the next task?" → Just continue
152
- - Ask "Should I clear my context?" → Just clear it
153
- - Ask "What should I do next?" → Check \`next_task\` or use fallback activities
154
- - Say "All tasks are done, let me know what to do" → Use \`get_next_task\` or start fallback activity
155
- - Wait for confirmation before clearing context → Just do it
156
-
157
- **You must ALWAYS:**
158
- - Call \`complete_task()\` immediately after creating/pushing a PR - this is non-negotiable
159
- - Immediately start the next task after completing one
160
- - Clear context and restart session automatically when needed
161
- - Keep working until there are genuinely no tasks and no fallback activities
162
-
163
- ## Continuous Work
164
-
165
- **IMPORTANT: Never stop working!** When you complete a task:
166
- 1. \`complete_task\` returns \`next_task\` → Start it immediately
167
- 2. No \`next_task\`? → Call \`get_next_task(project_id)\`
168
- 3. Still no tasks? → Start a \`fallback_activity\` (code_review, security_review, etc.)
169
-
170
- **When context grows large or responses slow down:**
171
- 1. Run \`/clear\` to reset conversation
172
- 2. Immediately call \`start_work_session(git_url, model)\` to reload context
173
- 3. Continue with \`next_task\` from the response
174
-
175
- **Do NOT ask the user if you should clear context. Just do it.** The dashboard tracks all your progress, so nothing is lost when you clear.
176
-
177
- ## Need Help?
178
-
179
- Use \`get_help(topic)\` for detailed guidance:
180
-
181
- | Topic | Description |
182
- |-------|-------------|
183
- | \`getting_started\` | Basic workflow overview |
184
- | \`tasks\` | Working on tasks, progress tracking |
185
- | \`validation\` | Cross-agent task validation |
186
- | \`deployment\` | Deployment coordination |
187
- | \`git\` | Git workflow configuration |
188
- | \`blockers\` | Handling blockers |
189
- | \`milestones\` | Breaking down complex tasks |
190
- | \`fallback\` | Background activities when idle |
191
- | \`session\` | Session management |
192
- | \`topics\` | List all available topics |
193
-
194
- ## MCP Server Not Connected?
195
-
196
- ### Quick Setup (Claude Code)
197
-
198
- \`\`\`bash
199
- claude mcp add vibescope npx @vibescope/mcp-server@latest \\
200
- --env VIBESCOPE_API_KEY=your_key
201
- \`\`\`
202
-
203
- ### Manual Setup
204
-
205
- 1. Copy \`.mcp.json.example\` to \`.mcp.json\`
206
- 2. Get \`VIBESCOPE_API_KEY\` from https://vibescope.dev/dashboard/settings
207
- 3. Restart Claude Code
208
- ${VIBESCOPE_SECTION_END}
209
- `;
210
-
211
- /**
212
- * Get the agent guidelines template
213
- * @returns The full agent guidelines markdown template
214
- */
215
- export function getAgentGuidelinesTemplate(): string {
216
- return AGENT_GUIDELINES_TEMPLATE;
217
- }
218
-
219
- /**
220
- * Get a summary of the agent guidelines for inclusion in responses
221
- * @returns A brief summary of key guidelines
222
- */
223
- export function getAgentGuidelinesSummary(): string {
224
- return `## Essential Agent Guidelines
225
-
226
- 1. **MCP Connection Required** - If start_work_session fails, END SESSION IMMEDIATELY
227
- 2. **Always call complete_task()** - After creating a PR, call complete_task() right away
228
- 3. **Use git worktrees** - Create worktrees for each task to avoid conflicts
229
- 4. **Never ask permission** - Just continue working, clear context when needed
230
- 5. **Continuous work** - Never stop; use get_next_task or fallback activities
231
-
232
- For full guidelines, create a \`.claude/CLAUDE.md\` file in your project with the agent guidelines template.`;
233
- }
1
+ /**
2
+ * Agent Guidelines Template
3
+ *
4
+ * This template contains the essential CLAUDE.md content that should be included
5
+ * in every project using Vibescope for agent tracking. These guidelines ensure
6
+ * agents follow proper workflows and maintain visibility.
7
+ */
8
+
9
+ export const VIBESCOPE_SECTION_START = '<!-- vibescope:start -->';
10
+ export const VIBESCOPE_SECTION_END = '<!-- vibescope:end -->';
11
+
12
+ export const AGENT_GUIDELINES_TEMPLATE = `${VIBESCOPE_SECTION_START}
13
+ # Vibescope Agent Guidelines
14
+
15
+ ## Quick Start
16
+
17
+ \`\`\`
18
+ start_work_session(git_url: "https://github.com/YOUR/REPO", model: "opus")
19
+ \`\`\`
20
+
21
+ **IMPORTANT:** Always pass your model (opus/sonnet/haiku) to enable cost tracking. Check your system prompt for "You are powered by the model named..." to determine your model.
22
+
23
+ This returns your persona, project info, and \`next_task\`. Start working immediately.
24
+
25
+ ## CRITICAL: MCP Connection Required
26
+
27
+ **If the Vibescope MCP server fails to connect, you MUST end your session immediately.**
28
+
29
+ ### Why This Is Non-Negotiable
30
+
31
+ Working without MCP connection causes:
32
+ - **No progress visibility** - Humans can't see what you're doing
33
+ - **Lost work tracking** - Tasks aren't tracked, time is wasted
34
+ - **Workflow violations** - Other agents may conflict with your work
35
+ - **Dashboard confusion** - Project state becomes inconsistent
36
+
37
+ ### Connection Failure Handling
38
+
39
+ **If \`start_work_session\` fails or returns an error:**
40
+
41
+ 1. **Do NOT proceed with any work**
42
+ 2. **Inform the user** that MCP connection failed
43
+ 3. **End the session** - do not attempt workarounds
44
+ 4. **Provide troubleshooting steps:**
45
+ - Check if MCP server is configured: \`claude mcp list\`
46
+ - Verify API key is set: check \`.mcp.json\` or environment
47
+ - Restart Claude Code after fixing configuration
48
+
49
+ **Example error responses you might see:**
50
+ \`\`\`
51
+ Error: Failed to start session
52
+ Error: VIBESCOPE_API_KEY not set
53
+ Error: Network error connecting to Vibescope API
54
+ Error: MCP server 'vibescope' not found
55
+ \`\`\`
56
+
57
+ ### Recovery Steps
58
+
59
+ If MCP connection fails, tell the user:
60
+
61
+ \`\`\`
62
+ MCP connection to Vibescope failed. I cannot proceed without task tracking.
63
+
64
+ To fix:
65
+ 1. Run: claude mcp list (verify vibescope is configured)
66
+ 2. Check API key: ensure VIBESCOPE_API_KEY is set
67
+ 3. Restart Claude Code
68
+ 4. Try again with: start_work_session(git_url: "...")
69
+
70
+ I am ending this session to prevent untracked work.
71
+ \`\`\`
72
+
73
+ **Never "work around" a broken MCP connection.** The whole point of Vibescope is visibility and coordination. Working without it defeats the purpose.
74
+
75
+ ## Core Workflow
76
+
77
+ 1. **Start session** → \`start_work_session(git_url, model)\` - Always include your model!
78
+ 2. **Set up worktree** → Create isolated worktree for this task (see Git Workflow below)
79
+ 3. **Mark task in progress WITH branch** → \`update_task(task_id, status: "in_progress", git_branch: "feature/...")\` - MUST include git_branch!
80
+ 4. **Update progress** → \`update_task(task_id, progress_percentage: 50, progress_note: "...")\`
81
+ 5. **Post key milestones** → \`post_progress(project_id, message, type)\` - Keep humans informed!
82
+ 6. **Complete task** → \`complete_task(task_id, summary: "...")\` - **MANDATORY, see below!**
83
+ 7. **Clean up** → Remove worktree, then start next task immediately
84
+
85
+ ## Progress Updates via post_progress
86
+
87
+ Use \`post_progress(project_id, message, type)\` to keep the team informed at key moments.
88
+
89
+ | Type | When to use |
90
+ |------|-------------|
91
+ | \`info\` | General status update (started exploration, found issue, etc.) |
92
+ | \`milestone\` | Key achievement reached (PR created, implementation complete, etc.) |
93
+ | \`blocker\` | Something is blocking progress (missing context, dependency, error) |
94
+ | \`question\` | Need human input or a decision |
95
+
96
+ **Call \`post_progress\` when:**
97
+ - Starting work on a task: \`post_progress(project_id, "Starting work on [task title]", "info")\`
98
+ - Creating a PR: \`post_progress(project_id, "PR created: [url]", "milestone")\`
99
+ - Hitting a blocker: \`post_progress(project_id, "[description of blocker]", "blocker")\`
100
+ - Completing a task: \`post_progress(project_id, "Task complete: [brief summary]", "milestone")\`
101
+
102
+ ## CRITICAL: Always Call complete_task (MANDATORY)
103
+
104
+ **You MUST call \`complete_task()\` when you finish a task.** This is not optional.
105
+
106
+ ### When to Call complete_task
107
+
108
+ Call \`complete_task()\` immediately after:
109
+ - ✅ Creating and pushing a PR
110
+ - ✅ Merging changes (for trunk-based workflow)
111
+ - ✅ Finishing any unit of work, even if no code changes
112
+
113
+ **Do NOT wait for:**
114
+ - ❌ PR to be reviewed/merged (that's what validation is for)
115
+ - ❌ User confirmation
116
+ - ❌ "Perfect" summary - a brief summary is fine
117
+
118
+ ### The Rule
119
+
120
+ \`\`\`
121
+ PR created + pushed → complete_task() → THEN worry about next steps
122
+ \`\`\`
123
+
124
+ **If you create a PR and don't call \`complete_task()\`, you have failed the workflow.**
125
+
126
+ ## CRITICAL: Git Worktrees for Multi-Agent
127
+
128
+ When multiple agents share a repository, you **MUST** use git worktrees to prevent conflicts.
129
+
130
+ **Before starting ANY task:**
131
+ \`\`\`bash
132
+ # For git-flow: ensure you're on develop first, then create worktree
133
+ git checkout develop
134
+ git pull origin develop
135
+ git worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>
136
+ cd ../worktree-<task-short-id>
137
+ \`\`\`
138
+
139
+ **After task is merged:**
140
+ \`\`\`bash
141
+ git worktree remove ../worktree-<task-short-id>
142
+ \`\`\`
143
+
144
+ **Why?** Branch switching in shared repos causes file conflicts between agents. Worktrees provide isolated directories.
145
+
146
+ Run \`get_help("git")\` for full worktree documentation.
147
+
148
+ ## CRITICAL: Never Ask Permission
149
+
150
+ **You must NEVER:**
151
+ - Ask "Should I continue to the next task?" → Just continue
152
+ - Ask "Should I clear my context?" → Just clear it
153
+ - Ask "What should I do next?" → Check \`next_task\` or use fallback activities
154
+ - Say "All tasks are done, let me know what to do" → Use \`get_next_task\` or start fallback activity
155
+ - Wait for confirmation before clearing context → Just do it
156
+
157
+ **You must ALWAYS:**
158
+ - Call \`complete_task()\` immediately after creating/pushing a PR - this is non-negotiable
159
+ - Immediately start the next task after completing one
160
+ - Clear context and restart session automatically when needed
161
+ - Keep working until there are genuinely no tasks and no fallback activities
162
+
163
+ ## Continuous Work
164
+
165
+ **IMPORTANT: Never stop working!** When you complete a task:
166
+ 1. \`complete_task\` returns \`next_task\` → Start it immediately
167
+ 2. No \`next_task\`? → Call \`get_next_task(project_id)\`
168
+ 3. Still no tasks? → Start a \`fallback_activity\` (code_review, security_review, etc.)
169
+
170
+ **When context grows large or responses slow down:**
171
+ 1. Run \`/clear\` to reset conversation
172
+ 2. Immediately call \`start_work_session(git_url, model)\` to reload context
173
+ 3. Continue with \`next_task\` from the response
174
+
175
+ **Do NOT ask the user if you should clear context. Just do it.** The dashboard tracks all your progress, so nothing is lost when you clear.
176
+
177
+ ## Need Help?
178
+
179
+ Use \`get_help(topic)\` for detailed guidance:
180
+
181
+ | Topic | Description |
182
+ |-------|-------------|
183
+ | \`getting_started\` | Basic workflow overview |
184
+ | \`tasks\` | Working on tasks, progress tracking |
185
+ | \`validation\` | Cross-agent task validation |
186
+ | \`deployment\` | Deployment coordination |
187
+ | \`git\` | Git workflow configuration |
188
+ | \`blockers\` | Handling blockers |
189
+ | \`milestones\` | Breaking down complex tasks |
190
+ | \`fallback\` | Background activities when idle |
191
+ | \`session\` | Session management |
192
+ | \`topics\` | List all available topics |
193
+
194
+ ## MCP Server Not Connected?
195
+
196
+ ### Quick Setup (Claude Code)
197
+
198
+ \`\`\`bash
199
+ claude mcp add vibescope npx @vibescope/mcp-server@latest \\
200
+ --env VIBESCOPE_API_KEY=your_key
201
+ \`\`\`
202
+
203
+ ### Manual Setup
204
+
205
+ 1. Copy \`.mcp.json.example\` to \`.mcp.json\`
206
+ 2. Get \`VIBESCOPE_API_KEY\` from https://vibescope.dev/dashboard/settings
207
+ 3. Restart Claude Code
208
+ ${VIBESCOPE_SECTION_END}
209
+ `;
210
+
211
+ /**
212
+ * Get the agent guidelines template
213
+ * @returns The full agent guidelines markdown template
214
+ */
215
+ export function getAgentGuidelinesTemplate(): string {
216
+ return AGENT_GUIDELINES_TEMPLATE;
217
+ }
218
+
219
+ /**
220
+ * Get a summary of the agent guidelines for inclusion in responses
221
+ * @returns A brief summary of key guidelines
222
+ */
223
+ export function getAgentGuidelinesSummary(): string {
224
+ return `## Essential Agent Guidelines
225
+
226
+ 1. **MCP Connection Required** - If start_work_session fails, END SESSION IMMEDIATELY
227
+ 2. **Always call complete_task()** - After creating a PR, call complete_task() right away
228
+ 3. **Use git worktrees** - Create worktrees for each task to avoid conflicts
229
+ 4. **Never ask permission** - Just continue working, clear context when needed
230
+ 5. **Continuous work** - Never stop; use get_next_task or fallback activities
231
+
232
+ For full guidelines, create a \`.claude/CLAUDE.md\` file in your project with the agent guidelines template.`;
233
+ }