@vibescope/mcp-server 0.4.4 → 0.4.6

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 (204) hide show
  1. package/CHANGELOG.md +84 -84
  2. package/README.md +194 -194
  3. package/dist/api-client/bodies-of-work.d.ts +125 -0
  4. package/dist/api-client/bodies-of-work.js +78 -0
  5. package/dist/api-client/chat.d.ts +26 -0
  6. package/dist/api-client/chat.js +20 -0
  7. package/dist/api-client/connectors.d.ts +104 -0
  8. package/dist/api-client/connectors.js +46 -0
  9. package/dist/api-client/deployment.d.ts +190 -0
  10. package/dist/api-client/deployment.js +113 -0
  11. package/dist/api-client/file-checkouts.d.ts +71 -0
  12. package/dist/api-client/file-checkouts.js +43 -0
  13. package/dist/api-client/git-issues.d.ts +55 -0
  14. package/dist/api-client/git-issues.js +34 -0
  15. package/dist/api-client/index.d.ts +619 -1
  16. package/dist/api-client/index.js +148 -0
  17. package/dist/api-client/organizations.d.ts +101 -0
  18. package/dist/api-client/organizations.js +86 -0
  19. package/dist/api-client/progress.d.ts +61 -0
  20. package/dist/api-client/progress.js +34 -0
  21. package/dist/api-client/project.d.ts +1 -0
  22. package/dist/api-client/requests.d.ts +28 -0
  23. package/dist/api-client/requests.js +28 -0
  24. package/dist/api-client/sprints.d.ts +153 -0
  25. package/dist/api-client/sprints.js +82 -0
  26. package/dist/api-client/subtasks.d.ts +37 -0
  27. package/dist/api-client/subtasks.js +23 -0
  28. package/dist/api-client.d.ts +23 -0
  29. package/dist/api-client.js +15 -0
  30. package/dist/cli-init.js +21 -21
  31. package/dist/cli.js +26 -26
  32. package/dist/handlers/blockers.js +4 -0
  33. package/dist/handlers/chat.d.ts +23 -0
  34. package/dist/handlers/chat.js +84 -0
  35. package/dist/handlers/deployment.d.ts +3 -0
  36. package/dist/handlers/deployment.js +23 -0
  37. package/dist/handlers/discovery.js +13 -0
  38. package/dist/handlers/index.d.ts +1 -0
  39. package/dist/handlers/index.js +3 -0
  40. package/dist/handlers/project.js +4 -2
  41. package/dist/handlers/session.js +7 -0
  42. package/dist/handlers/tasks.js +7 -0
  43. package/dist/handlers/tool-docs.js +1204 -1131
  44. package/dist/index.js +73 -73
  45. package/dist/templates/agent-guidelines.d.ts +1 -1
  46. package/dist/templates/agent-guidelines.js +205 -187
  47. package/dist/templates/help-content.js +1621 -1621
  48. package/dist/tools/bodies-of-work.js +6 -6
  49. package/dist/tools/chat.d.ts +1 -0
  50. package/dist/tools/chat.js +24 -0
  51. package/dist/tools/cloud-agents.js +22 -22
  52. package/dist/tools/deployment.js +13 -0
  53. package/dist/tools/features.d.ts +13 -0
  54. package/dist/tools/features.js +151 -0
  55. package/dist/tools/index.d.ts +3 -1
  56. package/dist/tools/index.js +4 -1
  57. package/dist/tools/milestones.js +2 -2
  58. package/dist/tools/project.js +4 -0
  59. package/dist/tools/requests.js +1 -1
  60. package/dist/tools/session.js +11 -11
  61. package/dist/tools/sprints.js +9 -9
  62. package/dist/tools/tasks.js +35 -35
  63. package/dist/tools/worktrees.js +14 -14
  64. package/dist/tools.d.ts +2 -0
  65. package/dist/tools.js +3602 -0
  66. package/dist/utils.js +11 -11
  67. package/docs/TOOLS.md +2663 -2545
  68. package/package.json +53 -53
  69. package/scripts/generate-docs.ts +212 -212
  70. package/scripts/version-bump.ts +203 -203
  71. package/src/api-client/blockers.ts +86 -86
  72. package/src/api-client/bodies-of-work.ts +194 -0
  73. package/src/api-client/chat.ts +50 -0
  74. package/src/api-client/connectors.ts +152 -0
  75. package/src/api-client/cost.ts +185 -185
  76. package/src/api-client/decisions.ts +87 -87
  77. package/src/api-client/deployment.ts +313 -0
  78. package/src/api-client/discovery.ts +81 -81
  79. package/src/api-client/fallback.ts +52 -52
  80. package/src/api-client/file-checkouts.ts +115 -0
  81. package/src/api-client/findings.ts +100 -100
  82. package/src/api-client/git-issues.ts +88 -0
  83. package/src/api-client/ideas.ts +112 -112
  84. package/src/api-client/index.ts +592 -426
  85. package/src/api-client/milestones.ts +83 -83
  86. package/src/api-client/organizations.ts +185 -0
  87. package/src/api-client/progress.ts +94 -0
  88. package/src/api-client/project.ts +180 -179
  89. package/src/api-client/requests.ts +54 -0
  90. package/src/api-client/session.ts +220 -220
  91. package/src/api-client/sprints.ts +227 -0
  92. package/src/api-client/subtasks.ts +57 -0
  93. package/src/api-client/tasks.ts +450 -450
  94. package/src/api-client/types.ts +32 -32
  95. package/src/api-client/validation.ts +60 -60
  96. package/src/api-client/worktrees.ts +53 -53
  97. package/src/api-client.test.ts +847 -850
  98. package/src/api-client.ts +2707 -2672
  99. package/src/cli-init.ts +557 -557
  100. package/src/cli.test.ts +284 -284
  101. package/src/cli.ts +204 -204
  102. package/src/handlers/__test-setup__.ts +240 -236
  103. package/src/handlers/__test-utils__.ts +89 -89
  104. package/src/handlers/blockers.test.ts +468 -468
  105. package/src/handlers/blockers.ts +172 -163
  106. package/src/handlers/bodies-of-work.test.ts +704 -704
  107. package/src/handlers/bodies-of-work.ts +526 -526
  108. package/src/handlers/chat.test.ts +185 -0
  109. package/src/handlers/chat.ts +101 -0
  110. package/src/handlers/cloud-agents.test.ts +438 -438
  111. package/src/handlers/cloud-agents.ts +156 -156
  112. package/src/handlers/connectors.test.ts +834 -834
  113. package/src/handlers/connectors.ts +229 -229
  114. package/src/handlers/cost.test.ts +462 -462
  115. package/src/handlers/cost.ts +285 -285
  116. package/src/handlers/decisions.test.ts +382 -382
  117. package/src/handlers/decisions.ts +153 -153
  118. package/src/handlers/deployment.test.ts +551 -551
  119. package/src/handlers/deployment.ts +570 -541
  120. package/src/handlers/discovery.test.ts +206 -206
  121. package/src/handlers/discovery.ts +427 -414
  122. package/src/handlers/fallback.test.ts +537 -537
  123. package/src/handlers/fallback.ts +194 -194
  124. package/src/handlers/file-checkouts.test.ts +750 -750
  125. package/src/handlers/file-checkouts.ts +185 -185
  126. package/src/handlers/findings.test.ts +633 -633
  127. package/src/handlers/findings.ts +239 -239
  128. package/src/handlers/git-issues.test.ts +631 -631
  129. package/src/handlers/git-issues.ts +136 -136
  130. package/src/handlers/ideas.test.ts +644 -644
  131. package/src/handlers/ideas.ts +207 -207
  132. package/src/handlers/index.ts +93 -90
  133. package/src/handlers/milestones.test.ts +475 -475
  134. package/src/handlers/milestones.ts +180 -180
  135. package/src/handlers/organizations.test.ts +826 -826
  136. package/src/handlers/organizations.ts +315 -315
  137. package/src/handlers/progress.test.ts +269 -269
  138. package/src/handlers/progress.ts +77 -77
  139. package/src/handlers/project.test.ts +546 -546
  140. package/src/handlers/project.ts +242 -239
  141. package/src/handlers/requests.test.ts +303 -303
  142. package/src/handlers/requests.ts +99 -99
  143. package/src/handlers/roles.test.ts +305 -305
  144. package/src/handlers/roles.ts +219 -219
  145. package/src/handlers/session.test.ts +998 -998
  146. package/src/handlers/session.ts +1105 -1093
  147. package/src/handlers/sprints.test.ts +732 -732
  148. package/src/handlers/sprints.ts +537 -537
  149. package/src/handlers/tasks.test.ts +931 -931
  150. package/src/handlers/tasks.ts +1133 -1121
  151. package/src/handlers/tool-categories.test.ts +66 -66
  152. package/src/handlers/tool-docs.test.ts +511 -511
  153. package/src/handlers/tool-docs.ts +1571 -1491
  154. package/src/handlers/types.test.ts +259 -259
  155. package/src/handlers/types.ts +176 -176
  156. package/src/handlers/validation.test.ts +582 -582
  157. package/src/handlers/validation.ts +164 -164
  158. package/src/handlers/version.ts +63 -63
  159. package/src/index.test.ts +674 -674
  160. package/src/index.ts +807 -807
  161. package/src/setup.test.ts +233 -233
  162. package/src/setup.ts +404 -404
  163. package/src/templates/agent-guidelines.ts +233 -215
  164. package/src/templates/help-content.ts +1751 -1751
  165. package/src/token-tracking.test.ts +463 -463
  166. package/src/token-tracking.ts +167 -167
  167. package/src/tools/blockers.ts +122 -122
  168. package/src/tools/bodies-of-work.ts +283 -283
  169. package/src/tools/chat.ts +72 -46
  170. package/src/tools/cloud-agents.ts +101 -101
  171. package/src/tools/connectors.ts +191 -191
  172. package/src/tools/cost.ts +111 -111
  173. package/src/tools/decisions.ts +111 -111
  174. package/src/tools/deployment.ts +455 -442
  175. package/src/tools/discovery.ts +76 -76
  176. package/src/tools/fallback.ts +111 -111
  177. package/src/tools/features.ts +154 -0
  178. package/src/tools/file-checkouts.ts +145 -145
  179. package/src/tools/findings.ts +101 -101
  180. package/src/tools/git-issues.ts +130 -130
  181. package/src/tools/ideas.ts +162 -162
  182. package/src/tools/index.ts +141 -137
  183. package/src/tools/milestones.ts +118 -118
  184. package/src/tools/organizations.ts +224 -224
  185. package/src/tools/progress.ts +73 -73
  186. package/src/tools/project.ts +206 -202
  187. package/src/tools/requests.ts +68 -68
  188. package/src/tools/roles.ts +112 -112
  189. package/src/tools/session.ts +181 -181
  190. package/src/tools/sprints.ts +298 -298
  191. package/src/tools/tasks.ts +550 -550
  192. package/src/tools/tools.test.ts +222 -222
  193. package/src/tools/types.ts +9 -9
  194. package/src/tools/validation.ts +75 -75
  195. package/src/tools/version.ts +34 -34
  196. package/src/tools/worktrees.ts +66 -66
  197. package/src/tools.test.ts +416 -416
  198. package/src/utils.test.ts +1014 -1014
  199. package/src/utils.ts +586 -586
  200. package/src/validators.test.ts +223 -223
  201. package/src/validators.ts +249 -249
  202. package/src/version.ts +109 -109
  203. package/tsconfig.json +16 -16
  204. package/vitest.config.ts +14 -14
package/dist/index.js CHANGED
@@ -43,89 +43,89 @@ const handlerRegistry = buildHandlerRegistry();
43
43
  // Embedded Knowledge Base (on-demand help topics)
44
44
  // ============================================================================
45
45
  const KNOWLEDGE_BASE = {
46
- getting_started: `# Getting Started
47
- 1. Call start_work_session(git_url, model: "your-model-name") to initialize
48
- - IMPORTANT: Pass your model for accurate cost tracking (e.g., "opus", "sonnet", "gemini", "gpt-4o")
49
- - Check your system prompt for "You are powered by the model named..." to find it
50
- 2. Response includes next_task - start working on it immediately
51
- 3. Use update_task to mark in_progress and track progress
52
- 4. Call complete_task when done - it returns your next task
46
+ getting_started: `# Getting Started
47
+ 1. Call start_work_session(git_url, model: "your-model-name") to initialize
48
+ - IMPORTANT: Pass your model for accurate cost tracking (e.g., "opus", "sonnet", "gemini", "gpt-4o")
49
+ - Check your system prompt for "You are powered by the model named..." to find it
50
+ 2. Response includes next_task - start working on it immediately
51
+ 3. Use update_task to mark in_progress and track progress
52
+ 4. Call complete_task when done - it returns your next task
53
53
  5. Use get_help(topic) when you need guidance on specific workflows`,
54
- tasks: `# Task Workflow
55
- - Mark task in_progress with update_task before starting
56
- - Update progress_percentage regularly (every 15-20% progress)
57
- - Include progress_note to auto-log milestones
58
- - One task at a time - complete current before starting another
59
- - complete_task returns next_task and context counts (validation, blockers, deployment)
54
+ tasks: `# Task Workflow
55
+ - Mark task in_progress with update_task before starting
56
+ - Update progress_percentage regularly (every 15-20% progress)
57
+ - Include progress_note to auto-log milestones
58
+ - One task at a time - complete current before starting another
59
+ - complete_task returns next_task and context counts (validation, blockers, deployment)
60
60
  - Priority: 1=highest, 5=lowest`,
61
- validation: `# Task Validation
62
- Completed tasks need validation before deployment. PRIORITIZE validation over new tasks.
63
- 1. Check: get_tasks_awaiting_validation(project_id)
64
- 2. Claim: claim_validation(task_id) - marks "being reviewed" on dashboard
65
- 3. Review code changes and run tests
66
- 4. Complete: validate_task(task_id, approved: true/false, validation_notes: "...")
61
+ validation: `# Task Validation
62
+ Completed tasks need validation before deployment. PRIORITIZE validation over new tasks.
63
+ 1. Check: get_tasks_awaiting_validation(project_id)
64
+ 2. Claim: claim_validation(task_id) - marks "being reviewed" on dashboard
65
+ 3. Review code changes and run tests
66
+ 4. Complete: validate_task(task_id, approved: true/false, validation_notes: "...")
67
67
  Self-validation allowed when single-agent or to unblock deployment.`,
68
- deployment: `# Deployment Workflow
69
- 1. Ensure all completed tasks are validated first
70
- 2. request_deployment(project_id, environment: "production")
71
- 3. claim_deployment_validation(project_id) - claim for validation
72
- 4. Run: pnpm build && pnpm test
73
- 5. report_validation(project_id, build_passed: true, tests_passed: true)
74
- 6. start_deployment(project_id) - returns project's deployment_instructions
75
- 7. Follow the instructions (e.g., push to main, run deploy command)
68
+ deployment: `# Deployment Workflow
69
+ 1. Ensure all completed tasks are validated first
70
+ 2. request_deployment(project_id, environment: "production")
71
+ 3. claim_deployment_validation(project_id) - claim for validation
72
+ 4. Run: pnpm build && pnpm test
73
+ 5. report_validation(project_id, build_passed: true, tests_passed: true)
74
+ 6. start_deployment(project_id) - returns project's deployment_instructions
75
+ 7. Follow the instructions (e.g., push to main, run deploy command)
76
76
  8. complete_deployment(project_id, success: true, summary: "...")`,
77
- git: `# Git Workflow
78
- Call get_git_workflow(project_id) for project-specific config.
79
- Workflows: none, trunk-based, github-flow, git-flow
80
- - trunk-based: commit directly to main
81
- - github-flow: feature branches, merge via PR
82
- - git-flow: develop/release branches
77
+ git: `# Git Workflow
78
+ Call get_git_workflow(project_id) for project-specific config.
79
+ Workflows: none, trunk-based, github-flow, git-flow
80
+ - trunk-based: commit directly to main
81
+ - github-flow: feature branches, merge via PR
82
+ - git-flow: develop/release branches
83
83
  Update task git_branch when working on a branch.`,
84
- blockers: `# Working with Blockers
85
- When stuck and need human input:
86
- 1. add_blocker(project_id, description: "What's blocking")
87
- 2. Ask your question to the user
88
- 3. resolve_blocker(blocker_id, resolution_note: "How resolved")
84
+ blockers: `# Working with Blockers
85
+ When stuck and need human input:
86
+ 1. add_blocker(project_id, description: "What's blocking")
87
+ 2. Ask your question to the user
88
+ 3. resolve_blocker(blocker_id, resolution_note: "How resolved")
89
89
  Only use for genuine blockers requiring decisions - not routine questions.`,
90
- milestones: `# Task Milestones
91
- For complex tasks, break into milestones:
92
- 1. add_milestone(task_id, title: "Design schema")
93
- 2. add_milestone(task_id, title: "Implement API")
94
- 3. Update with complete_milestone(milestone_id) as you go
90
+ milestones: `# Task Milestones
91
+ For complex tasks, break into milestones:
92
+ 1. add_milestone(task_id, title: "Design schema")
93
+ 2. add_milestone(task_id, title: "Implement API")
94
+ 3. Update with complete_milestone(milestone_id) as you go
95
95
  Dashboard shows progress bar with completed/total.`,
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
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
102
  3. stop_fallback_activity(project_id, summary: "...")`,
103
- session: `# Session Management
104
- - start_work_session(git_url, model) initializes and returns next_task
105
- - ALWAYS pass model parameter for cost tracking (e.g., "opus", "sonnet", "gemini", "gpt-4o")
106
- - Use mode:'lite' (default) or mode:'full' for complete context
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
103
+ session: `# Session Management
104
+ - start_work_session(git_url, model) initializes and returns next_task
105
+ - ALWAYS pass model parameter for cost tracking (e.g., "opus", "sonnet", "gemini", "gpt-4o")
106
+ - Use mode:'lite' (default) or mode:'full' for complete context
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
111
  - Your progress is saved to the dashboard - nothing is lost on /clear`,
112
- tokens: `# Token Efficiency
113
- Be mindful of token costs - every tool call has a cost.
114
- - Use mode:'lite' (default) - saves ~85% vs full mode
115
- - Call get_token_usage() to check consumption
116
- - /compact when context grows large
117
- - Batch related updates when possible
112
+ tokens: `# Token Efficiency
113
+ Be mindful of token costs - every tool call has a cost.
114
+ - Use mode:'lite' (default) - saves ~85% vs full mode
115
+ - Call get_token_usage() to check consumption
116
+ - /compact when context grows large
117
+ - Batch related updates when possible
118
118
  - Trust lite mode; only use full mode for initial exploration`,
119
- topics: `# Available Help Topics
120
- - getting_started: Basic workflow overview
121
- - tasks: Working on tasks, progress tracking
122
- - validation: Cross-agent task validation
123
- - deployment: Deployment coordination
124
- - git: Git workflow configuration
125
- - blockers: Handling blockers
126
- - milestones: Breaking down complex tasks
127
- - fallback: Background activities when idle
128
- - session: Session management
119
+ topics: `# Available Help Topics
120
+ - getting_started: Basic workflow overview
121
+ - tasks: Working on tasks, progress tracking
122
+ - validation: Cross-agent task validation
123
+ - deployment: Deployment coordination
124
+ - git: Git workflow configuration
125
+ - blockers: Handling blockers
126
+ - milestones: Breaking down complex tasks
127
+ - fallback: Background activities when idle
128
+ - session: Session management
129
129
  - tokens: Token efficiency tips`,
130
130
  };
131
131
  // ============================================================================
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export declare const VIBESCOPE_SECTION_START = "<!-- vibescope:start -->";
9
9
  export declare const VIBESCOPE_SECTION_END = "<!-- vibescope:end -->";
10
- export declare const AGENT_GUIDELINES_TEMPLATE = "<!-- vibescope:start -->\n# Vibescope Agent Guidelines\n\n## Quick Start\n\n```\nstart_work_session(git_url: \"https://github.com/YOUR/REPO\", model: \"opus\")\n```\n\n**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.\n\nThis returns your persona, project info, and `next_task`. Start working immediately.\n\n## CRITICAL: MCP Connection Required\n\n**If the Vibescope MCP server fails to connect, you MUST end your session immediately.**\n\n### Why This Is Non-Negotiable\n\nWorking without MCP connection causes:\n- **No progress visibility** - Humans can't see what you're doing\n- **Lost work tracking** - Tasks aren't tracked, time is wasted\n- **Workflow violations** - Other agents may conflict with your work\n- **Dashboard confusion** - Project state becomes inconsistent\n\n### Connection Failure Handling\n\n**If `start_work_session` fails or returns an error:**\n\n1. **Do NOT proceed with any work**\n2. **Inform the user** that MCP connection failed\n3. **End the session** - do not attempt workarounds\n4. **Provide troubleshooting steps:**\n - Check if MCP server is configured: `claude mcp list`\n - Verify API key is set: check `.mcp.json` or environment\n - Restart Claude Code after fixing configuration\n\n**Example error responses you might see:**\n```\nError: Failed to start session\nError: VIBESCOPE_API_KEY not set\nError: Network error connecting to Vibescope API\nError: MCP server 'vibescope' not found\n```\n\n### Recovery Steps\n\nIf MCP connection fails, tell the user:\n\n```\nMCP connection to Vibescope failed. I cannot proceed without task tracking.\n\nTo fix:\n1. Run: claude mcp list (verify vibescope is configured)\n2. Check API key: ensure VIBESCOPE_API_KEY is set\n3. Restart Claude Code\n4. Try again with: start_work_session(git_url: \"...\")\n\nI am ending this session to prevent untracked work.\n```\n\n**Never \"work around\" a broken MCP connection.** The whole point of Vibescope is visibility and coordination. Working without it defeats the purpose.\n\n## Core Workflow\n\n1. **Start session** \u2192 `start_work_session(git_url, model)` - Always include your model!\n2. **Mark task in progress** \u2192 `update_task(task_id, status: \"in_progress\")` - Returns git workflow instructions!\n3. **Set up worktree** \u2192 Create isolated worktree for this task (see Git Workflow below)\n4. **Update progress** \u2192 `update_task(task_id, progress_percentage: 50, progress_note: \"...\")`\n5. **Complete task** \u2192 `complete_task(task_id, summary: \"...\")` - **MANDATORY, see below!**\n6. **Clean up** \u2192 Remove worktree, then start next task immediately\n\n## CRITICAL: Always Call complete_task (MANDATORY)\n\n**You MUST call `complete_task()` when you finish a task.** This is not optional.\n\n### When to Call complete_task\n\nCall `complete_task()` immediately after:\n- \u2705 Creating and pushing a PR\n- \u2705 Merging changes (for trunk-based workflow)\n- \u2705 Finishing any unit of work, even if no code changes\n\n**Do NOT wait for:**\n- \u274C PR to be reviewed/merged (that's what validation is for)\n- \u274C User confirmation\n- \u274C \"Perfect\" summary - a brief summary is fine\n\n### The Rule\n\n```\nPR created + pushed \u2192 complete_task() \u2192 THEN worry about next steps\n```\n\n**If you create a PR and don't call `complete_task()`, you have failed the workflow.**\n\n## CRITICAL: Git Worktrees for Multi-Agent\n\nWhen multiple agents share a repository, you **MUST** use git worktrees to prevent conflicts.\n\n**Before starting ANY task:**\n```bash\n# For git-flow: ensure you're on develop first, then create worktree\ngit checkout develop\ngit pull origin develop\ngit worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>\ncd ../worktree-<task-short-id>\n```\n\n**After task is merged:**\n```bash\ngit worktree remove ../worktree-<task-short-id>\n```\n\n**Why?** Branch switching in shared repos causes file conflicts between agents. Worktrees provide isolated directories.\n\nRun `get_help(\"git\")` for full worktree documentation.\n\n## CRITICAL: Never Ask Permission\n\n**You must NEVER:**\n- Ask \"Should I continue to the next task?\" \u2192 Just continue\n- Ask \"Should I clear my context?\" \u2192 Just clear it\n- Ask \"What should I do next?\" \u2192 Check `next_task` or use fallback activities\n- Say \"All tasks are done, let me know what to do\" \u2192 Use `get_next_task` or start fallback activity\n- Wait for confirmation before clearing context \u2192 Just do it\n\n**You must ALWAYS:**\n- Call `complete_task()` immediately after creating/pushing a PR - this is non-negotiable\n- Immediately start the next task after completing one\n- Clear context and restart session automatically when needed\n- Keep working until there are genuinely no tasks and no fallback activities\n\n## Continuous Work\n\n**IMPORTANT: Never stop working!** When you complete a task:\n1. `complete_task` returns `next_task` \u2192 Start it immediately\n2. No `next_task`? \u2192 Call `get_next_task(project_id)`\n3. Still no tasks? \u2192 Start a `fallback_activity` (code_review, security_review, etc.)\n\n**When context grows large or responses slow down:**\n1. Run `/clear` to reset conversation\n2. Immediately call `start_work_session(git_url, model)` to reload context\n3. Continue with `next_task` from the response\n\n**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.\n\n## Need Help?\n\nUse `get_help(topic)` for detailed guidance:\n\n| Topic | Description |\n|-------|-------------|\n| `getting_started` | Basic workflow overview |\n| `tasks` | Working on tasks, progress tracking |\n| `validation` | Cross-agent task validation |\n| `deployment` | Deployment coordination |\n| `git` | Git workflow configuration |\n| `blockers` | Handling blockers |\n| `milestones` | Breaking down complex tasks |\n| `fallback` | Background activities when idle |\n| `session` | Session management |\n| `topics` | List all available topics |\n\n## MCP Server Not Connected?\n\n### Quick Setup (Claude Code)\n\n```bash\nclaude mcp add vibescope npx @vibescope/mcp-server@latest \\\n --env VIBESCOPE_API_KEY=your_key\n```\n\n### Manual Setup\n\n1. Copy `.mcp.json.example` to `.mcp.json`\n2. Get `VIBESCOPE_API_KEY` from https://vibescope.dev/dashboard/settings\n3. Restart Claude Code\n<!-- vibescope:end -->\n";
10
+ export declare const AGENT_GUIDELINES_TEMPLATE = "<!-- vibescope:start -->\n# Vibescope Agent Guidelines\n\n## Quick Start\n\n```\nstart_work_session(git_url: \"https://github.com/YOUR/REPO\", model: \"opus\")\n```\n\n**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.\n\nThis returns your persona, project info, and `next_task`. Start working immediately.\n\n## CRITICAL: MCP Connection Required\n\n**If the Vibescope MCP server fails to connect, you MUST end your session immediately.**\n\n### Why This Is Non-Negotiable\n\nWorking without MCP connection causes:\n- **No progress visibility** - Humans can't see what you're doing\n- **Lost work tracking** - Tasks aren't tracked, time is wasted\n- **Workflow violations** - Other agents may conflict with your work\n- **Dashboard confusion** - Project state becomes inconsistent\n\n### Connection Failure Handling\n\n**If `start_work_session` fails or returns an error:**\n\n1. **Do NOT proceed with any work**\n2. **Inform the user** that MCP connection failed\n3. **End the session** - do not attempt workarounds\n4. **Provide troubleshooting steps:**\n - Check if MCP server is configured: `claude mcp list`\n - Verify API key is set: check `.mcp.json` or environment\n - Restart Claude Code after fixing configuration\n\n**Example error responses you might see:**\n```\nError: Failed to start session\nError: VIBESCOPE_API_KEY not set\nError: Network error connecting to Vibescope API\nError: MCP server 'vibescope' not found\n```\n\n### Recovery Steps\n\nIf MCP connection fails, tell the user:\n\n```\nMCP connection to Vibescope failed. I cannot proceed without task tracking.\n\nTo fix:\n1. Run: claude mcp list (verify vibescope is configured)\n2. Check API key: ensure VIBESCOPE_API_KEY is set\n3. Restart Claude Code\n4. Try again with: start_work_session(git_url: \"...\")\n\nI am ending this session to prevent untracked work.\n```\n\n**Never \"work around\" a broken MCP connection.** The whole point of Vibescope is visibility and coordination. Working without it defeats the purpose.\n\n## Core Workflow\n\n1. **Start session** \u2192 `start_work_session(git_url, model)` - Always include your model!\n2. **Mark task in progress** \u2192 `update_task(task_id, status: \"in_progress\")` - Returns git workflow instructions!\n3. **Set up worktree** \u2192 Create isolated worktree for this task (see Git Workflow below)\n4. **Update progress** \u2192 `update_task(task_id, progress_percentage: 50, progress_note: \"...\")`\n5. **Post key milestones** \u2192 `post_progress(project_id, message, type)` - Keep humans informed!\n6. **Complete task** \u2192 `complete_task(task_id, summary: \"...\")` - **MANDATORY, see below!**\n7. **Clean up** \u2192 Remove worktree, then start next task immediately\n\n## Progress Updates via post_progress\n\nUse `post_progress(project_id, message, type)` to keep the team informed at key moments.\n\n| Type | When to use |\n|------|-------------|\n| `info` | General status update (started exploration, found issue, etc.) |\n| `milestone` | Key achievement reached (PR created, implementation complete, etc.) |\n| `blocker` | Something is blocking progress (missing context, dependency, error) |\n| `question` | Need human input or a decision |\n\n**Call `post_progress` when:**\n- Starting work on a task: `post_progress(project_id, \"Starting work on [task title]\", \"info\")`\n- Creating a PR: `post_progress(project_id, \"PR created: [url]\", \"milestone\")`\n- Hitting a blocker: `post_progress(project_id, \"[description of blocker]\", \"blocker\")`\n- Completing a task: `post_progress(project_id, \"Task complete: [brief summary]\", \"milestone\")`\n\n## CRITICAL: Always Call complete_task (MANDATORY)\n\n**You MUST call `complete_task()` when you finish a task.** This is not optional.\n\n### When to Call complete_task\n\nCall `complete_task()` immediately after:\n- \u2705 Creating and pushing a PR\n- \u2705 Merging changes (for trunk-based workflow)\n- \u2705 Finishing any unit of work, even if no code changes\n\n**Do NOT wait for:**\n- \u274C PR to be reviewed/merged (that's what validation is for)\n- \u274C User confirmation\n- \u274C \"Perfect\" summary - a brief summary is fine\n\n### The Rule\n\n```\nPR created + pushed \u2192 complete_task() \u2192 THEN worry about next steps\n```\n\n**If you create a PR and don't call `complete_task()`, you have failed the workflow.**\n\n## CRITICAL: Git Worktrees for Multi-Agent\n\nWhen multiple agents share a repository, you **MUST** use git worktrees to prevent conflicts.\n\n**Before starting ANY task:**\n```bash\n# For git-flow: ensure you're on develop first, then create worktree\ngit checkout develop\ngit pull origin develop\ngit worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>\ncd ../worktree-<task-short-id>\n```\n\n**After task is merged:**\n```bash\ngit worktree remove ../worktree-<task-short-id>\n```\n\n**Why?** Branch switching in shared repos causes file conflicts between agents. Worktrees provide isolated directories.\n\nRun `get_help(\"git\")` for full worktree documentation.\n\n## CRITICAL: Never Ask Permission\n\n**You must NEVER:**\n- Ask \"Should I continue to the next task?\" \u2192 Just continue\n- Ask \"Should I clear my context?\" \u2192 Just clear it\n- Ask \"What should I do next?\" \u2192 Check `next_task` or use fallback activities\n- Say \"All tasks are done, let me know what to do\" \u2192 Use `get_next_task` or start fallback activity\n- Wait for confirmation before clearing context \u2192 Just do it\n\n**You must ALWAYS:**\n- Call `complete_task()` immediately after creating/pushing a PR - this is non-negotiable\n- Immediately start the next task after completing one\n- Clear context and restart session automatically when needed\n- Keep working until there are genuinely no tasks and no fallback activities\n\n## Continuous Work\n\n**IMPORTANT: Never stop working!** When you complete a task:\n1. `complete_task` returns `next_task` \u2192 Start it immediately\n2. No `next_task`? \u2192 Call `get_next_task(project_id)`\n3. Still no tasks? \u2192 Start a `fallback_activity` (code_review, security_review, etc.)\n\n**When context grows large or responses slow down:**\n1. Run `/clear` to reset conversation\n2. Immediately call `start_work_session(git_url, model)` to reload context\n3. Continue with `next_task` from the response\n\n**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.\n\n## Need Help?\n\nUse `get_help(topic)` for detailed guidance:\n\n| Topic | Description |\n|-------|-------------|\n| `getting_started` | Basic workflow overview |\n| `tasks` | Working on tasks, progress tracking |\n| `validation` | Cross-agent task validation |\n| `deployment` | Deployment coordination |\n| `git` | Git workflow configuration |\n| `blockers` | Handling blockers |\n| `milestones` | Breaking down complex tasks |\n| `fallback` | Background activities when idle |\n| `session` | Session management |\n| `topics` | List all available topics |\n\n## MCP Server Not Connected?\n\n### Quick Setup (Claude Code)\n\n```bash\nclaude mcp add vibescope npx @vibescope/mcp-server@latest \\\n --env VIBESCOPE_API_KEY=your_key\n```\n\n### Manual Setup\n\n1. Copy `.mcp.json.example` to `.mcp.json`\n2. Get `VIBESCOPE_API_KEY` from https://vibescope.dev/dashboard/settings\n3. Restart Claude Code\n<!-- vibescope:end -->\n";
11
11
  /**
12
12
  * Get the agent guidelines template
13
13
  * @returns The full agent guidelines markdown template
@@ -7,185 +7,203 @@
7
7
  */
8
8
  export const VIBESCOPE_SECTION_START = '<!-- vibescope:start -->';
9
9
  export const VIBESCOPE_SECTION_END = '<!-- vibescope:end -->';
10
- export const AGENT_GUIDELINES_TEMPLATE = `${VIBESCOPE_SECTION_START}
11
- # Vibescope Agent Guidelines
12
-
13
- ## Quick Start
14
-
15
- \`\`\`
16
- start_work_session(git_url: "https://github.com/YOUR/REPO", model: "opus")
17
- \`\`\`
18
-
19
- **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.
20
-
21
- This returns your persona, project info, and \`next_task\`. Start working immediately.
22
-
23
- ## CRITICAL: MCP Connection Required
24
-
25
- **If the Vibescope MCP server fails to connect, you MUST end your session immediately.**
26
-
27
- ### Why This Is Non-Negotiable
28
-
29
- Working without MCP connection causes:
30
- - **No progress visibility** - Humans can't see what you're doing
31
- - **Lost work tracking** - Tasks aren't tracked, time is wasted
32
- - **Workflow violations** - Other agents may conflict with your work
33
- - **Dashboard confusion** - Project state becomes inconsistent
34
-
35
- ### Connection Failure Handling
36
-
37
- **If \`start_work_session\` fails or returns an error:**
38
-
39
- 1. **Do NOT proceed with any work**
40
- 2. **Inform the user** that MCP connection failed
41
- 3. **End the session** - do not attempt workarounds
42
- 4. **Provide troubleshooting steps:**
43
- - Check if MCP server is configured: \`claude mcp list\`
44
- - Verify API key is set: check \`.mcp.json\` or environment
45
- - Restart Claude Code after fixing configuration
46
-
47
- **Example error responses you might see:**
48
- \`\`\`
49
- Error: Failed to start session
50
- Error: VIBESCOPE_API_KEY not set
51
- Error: Network error connecting to Vibescope API
52
- Error: MCP server 'vibescope' not found
53
- \`\`\`
54
-
55
- ### Recovery Steps
56
-
57
- If MCP connection fails, tell the user:
58
-
59
- \`\`\`
60
- MCP connection to Vibescope failed. I cannot proceed without task tracking.
61
-
62
- To fix:
63
- 1. Run: claude mcp list (verify vibescope is configured)
64
- 2. Check API key: ensure VIBESCOPE_API_KEY is set
65
- 3. Restart Claude Code
66
- 4. Try again with: start_work_session(git_url: "...")
67
-
68
- I am ending this session to prevent untracked work.
69
- \`\`\`
70
-
71
- **Never "work around" a broken MCP connection.** The whole point of Vibescope is visibility and coordination. Working without it defeats the purpose.
72
-
73
- ## Core Workflow
74
-
75
- 1. **Start session** → \`start_work_session(git_url, model)\` - Always include your model!
76
- 2. **Mark task in progress** → \`update_task(task_id, status: "in_progress")\` - Returns git workflow instructions!
77
- 3. **Set up worktree** → Create isolated worktree for this task (see Git Workflow below)
78
- 4. **Update progress** → \`update_task(task_id, progress_percentage: 50, progress_note: "...")\`
79
- 5. **Complete task** → \`complete_task(task_id, summary: "...")\` - **MANDATORY, see below!**
80
- 6. **Clean up** → Remove worktree, then start next task immediately
81
-
82
- ## CRITICAL: Always Call complete_task (MANDATORY)
83
-
84
- **You MUST call \`complete_task()\` when you finish a task.** This is not optional.
85
-
86
- ### When to Call complete_task
87
-
88
- Call \`complete_task()\` immediately after:
89
- - Creating and pushing a PR
90
- - Merging changes (for trunk-based workflow)
91
- - Finishing any unit of work, even if no code changes
92
-
93
- **Do NOT wait for:**
94
- - PR to be reviewed/merged (that's what validation is for)
95
- - User confirmation
96
- - "Perfect" summary - a brief summary is fine
97
-
98
- ### The Rule
99
-
100
- \`\`\`
101
- PR created + pushed → complete_task() → THEN worry about next steps
102
- \`\`\`
103
-
104
- **If you create a PR and don't call \`complete_task()\`, you have failed the workflow.**
105
-
106
- ## CRITICAL: Git Worktrees for Multi-Agent
107
-
108
- When multiple agents share a repository, you **MUST** use git worktrees to prevent conflicts.
109
-
110
- **Before starting ANY task:**
111
- \`\`\`bash
112
- # For git-flow: ensure you're on develop first, then create worktree
113
- git checkout develop
114
- git pull origin develop
115
- git worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>
116
- cd ../worktree-<task-short-id>
117
- \`\`\`
118
-
119
- **After task is merged:**
120
- \`\`\`bash
121
- git worktree remove ../worktree-<task-short-id>
122
- \`\`\`
123
-
124
- **Why?** Branch switching in shared repos causes file conflicts between agents. Worktrees provide isolated directories.
125
-
126
- Run \`get_help("git")\` for full worktree documentation.
127
-
128
- ## CRITICAL: Never Ask Permission
129
-
130
- **You must NEVER:**
131
- - Ask "Should I continue to the next task?" → Just continue
132
- - Ask "Should I clear my context?" → Just clear it
133
- - Ask "What should I do next?" → Check \`next_task\` or use fallback activities
134
- - Say "All tasks are done, let me know what to do" → Use \`get_next_task\` or start fallback activity
135
- - Wait for confirmation before clearing context → Just do it
136
-
137
- **You must ALWAYS:**
138
- - Call \`complete_task()\` immediately after creating/pushing a PR - this is non-negotiable
139
- - Immediately start the next task after completing one
140
- - Clear context and restart session automatically when needed
141
- - Keep working until there are genuinely no tasks and no fallback activities
142
-
143
- ## Continuous Work
144
-
145
- **IMPORTANT: Never stop working!** When you complete a task:
146
- 1. \`complete_task\` returns \`next_task\` → Start it immediately
147
- 2. No \`next_task\`? → Call \`get_next_task(project_id)\`
148
- 3. Still no tasks? → Start a \`fallback_activity\` (code_review, security_review, etc.)
149
-
150
- **When context grows large or responses slow down:**
151
- 1. Run \`/clear\` to reset conversation
152
- 2. Immediately call \`start_work_session(git_url, model)\` to reload context
153
- 3. Continue with \`next_task\` from the response
154
-
155
- **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.
156
-
157
- ## Need Help?
158
-
159
- Use \`get_help(topic)\` for detailed guidance:
160
-
161
- | Topic | Description |
162
- |-------|-------------|
163
- | \`getting_started\` | Basic workflow overview |
164
- | \`tasks\` | Working on tasks, progress tracking |
165
- | \`validation\` | Cross-agent task validation |
166
- | \`deployment\` | Deployment coordination |
167
- | \`git\` | Git workflow configuration |
168
- | \`blockers\` | Handling blockers |
169
- | \`milestones\` | Breaking down complex tasks |
170
- | \`fallback\` | Background activities when idle |
171
- | \`session\` | Session management |
172
- | \`topics\` | List all available topics |
173
-
174
- ## MCP Server Not Connected?
175
-
176
- ### Quick Setup (Claude Code)
177
-
178
- \`\`\`bash
179
- claude mcp add vibescope npx @vibescope/mcp-server@latest \\
180
- --env VIBESCOPE_API_KEY=your_key
181
- \`\`\`
182
-
183
- ### Manual Setup
184
-
185
- 1. Copy \`.mcp.json.example\` to \`.mcp.json\`
186
- 2. Get \`VIBESCOPE_API_KEY\` from https://vibescope.dev/dashboard/settings
187
- 3. Restart Claude Code
188
- ${VIBESCOPE_SECTION_END}
10
+ export const AGENT_GUIDELINES_TEMPLATE = `${VIBESCOPE_SECTION_START}
11
+ # Vibescope Agent Guidelines
12
+
13
+ ## Quick Start
14
+
15
+ \`\`\`
16
+ start_work_session(git_url: "https://github.com/YOUR/REPO", model: "opus")
17
+ \`\`\`
18
+
19
+ **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.
20
+
21
+ This returns your persona, project info, and \`next_task\`. Start working immediately.
22
+
23
+ ## CRITICAL: MCP Connection Required
24
+
25
+ **If the Vibescope MCP server fails to connect, you MUST end your session immediately.**
26
+
27
+ ### Why This Is Non-Negotiable
28
+
29
+ Working without MCP connection causes:
30
+ - **No progress visibility** - Humans can't see what you're doing
31
+ - **Lost work tracking** - Tasks aren't tracked, time is wasted
32
+ - **Workflow violations** - Other agents may conflict with your work
33
+ - **Dashboard confusion** - Project state becomes inconsistent
34
+
35
+ ### Connection Failure Handling
36
+
37
+ **If \`start_work_session\` fails or returns an error:**
38
+
39
+ 1. **Do NOT proceed with any work**
40
+ 2. **Inform the user** that MCP connection failed
41
+ 3. **End the session** - do not attempt workarounds
42
+ 4. **Provide troubleshooting steps:**
43
+ - Check if MCP server is configured: \`claude mcp list\`
44
+ - Verify API key is set: check \`.mcp.json\` or environment
45
+ - Restart Claude Code after fixing configuration
46
+
47
+ **Example error responses you might see:**
48
+ \`\`\`
49
+ Error: Failed to start session
50
+ Error: VIBESCOPE_API_KEY not set
51
+ Error: Network error connecting to Vibescope API
52
+ Error: MCP server 'vibescope' not found
53
+ \`\`\`
54
+
55
+ ### Recovery Steps
56
+
57
+ If MCP connection fails, tell the user:
58
+
59
+ \`\`\`
60
+ MCP connection to Vibescope failed. I cannot proceed without task tracking.
61
+
62
+ To fix:
63
+ 1. Run: claude mcp list (verify vibescope is configured)
64
+ 2. Check API key: ensure VIBESCOPE_API_KEY is set
65
+ 3. Restart Claude Code
66
+ 4. Try again with: start_work_session(git_url: "...")
67
+
68
+ I am ending this session to prevent untracked work.
69
+ \`\`\`
70
+
71
+ **Never "work around" a broken MCP connection.** The whole point of Vibescope is visibility and coordination. Working without it defeats the purpose.
72
+
73
+ ## Core Workflow
74
+
75
+ 1. **Start session** → \`start_work_session(git_url, model)\` - Always include your model!
76
+ 2. **Mark task in progress** → \`update_task(task_id, status: "in_progress")\` - Returns git workflow instructions!
77
+ 3. **Set up worktree** → Create isolated worktree for this task (see Git Workflow below)
78
+ 4. **Update progress** → \`update_task(task_id, progress_percentage: 50, progress_note: "...")\`
79
+ 5. **Post key milestones** → \`post_progress(project_id, message, type)\` - Keep humans informed!
80
+ 6. **Complete task** → \`complete_task(task_id, summary: "...")\` - **MANDATORY, see below!**
81
+ 7. **Clean up** → Remove worktree, then start next task immediately
82
+
83
+ ## Progress Updates via post_progress
84
+
85
+ Use \`post_progress(project_id, message, type)\` to keep the team informed at key moments.
86
+
87
+ | Type | When to use |
88
+ |------|-------------|
89
+ | \`info\` | General status update (started exploration, found issue, etc.) |
90
+ | \`milestone\` | Key achievement reached (PR created, implementation complete, etc.) |
91
+ | \`blocker\` | Something is blocking progress (missing context, dependency, error) |
92
+ | \`question\` | Need human input or a decision |
93
+
94
+ **Call \`post_progress\` when:**
95
+ - Starting work on a task: \`post_progress(project_id, "Starting work on [task title]", "info")\`
96
+ - Creating a PR: \`post_progress(project_id, "PR created: [url]", "milestone")\`
97
+ - Hitting a blocker: \`post_progress(project_id, "[description of blocker]", "blocker")\`
98
+ - Completing a task: \`post_progress(project_id, "Task complete: [brief summary]", "milestone")\`
99
+
100
+ ## CRITICAL: Always Call complete_task (MANDATORY)
101
+
102
+ **You MUST call \`complete_task()\` when you finish a task.** This is not optional.
103
+
104
+ ### When to Call complete_task
105
+
106
+ Call \`complete_task()\` immediately after:
107
+ - ✅ Creating and pushing a PR
108
+ - Merging changes (for trunk-based workflow)
109
+ - ✅ Finishing any unit of work, even if no code changes
110
+
111
+ **Do NOT wait for:**
112
+ - PR to be reviewed/merged (that's what validation is for)
113
+ - User confirmation
114
+ - "Perfect" summary - a brief summary is fine
115
+
116
+ ### The Rule
117
+
118
+ \`\`\`
119
+ PR created + pushed → complete_task() → THEN worry about next steps
120
+ \`\`\`
121
+
122
+ **If you create a PR and don't call \`complete_task()\`, you have failed the workflow.**
123
+
124
+ ## CRITICAL: Git Worktrees for Multi-Agent
125
+
126
+ When multiple agents share a repository, you **MUST** use git worktrees to prevent conflicts.
127
+
128
+ **Before starting ANY task:**
129
+ \`\`\`bash
130
+ # For git-flow: ensure you're on develop first, then create worktree
131
+ git checkout develop
132
+ git pull origin develop
133
+ git worktree add ../worktree-<task-short-id> -b feature/<task-id>-<title>
134
+ cd ../worktree-<task-short-id>
135
+ \`\`\`
136
+
137
+ **After task is merged:**
138
+ \`\`\`bash
139
+ git worktree remove ../worktree-<task-short-id>
140
+ \`\`\`
141
+
142
+ **Why?** Branch switching in shared repos causes file conflicts between agents. Worktrees provide isolated directories.
143
+
144
+ Run \`get_help("git")\` for full worktree documentation.
145
+
146
+ ## CRITICAL: Never Ask Permission
147
+
148
+ **You must NEVER:**
149
+ - Ask "Should I continue to the next task?" → Just continue
150
+ - Ask "Should I clear my context?" → Just clear it
151
+ - Ask "What should I do next?" → Check \`next_task\` or use fallback activities
152
+ - Say "All tasks are done, let me know what to do" → Use \`get_next_task\` or start fallback activity
153
+ - Wait for confirmation before clearing context → Just do it
154
+
155
+ **You must ALWAYS:**
156
+ - Call \`complete_task()\` immediately after creating/pushing a PR - this is non-negotiable
157
+ - Immediately start the next task after completing one
158
+ - Clear context and restart session automatically when needed
159
+ - Keep working until there are genuinely no tasks and no fallback activities
160
+
161
+ ## Continuous Work
162
+
163
+ **IMPORTANT: Never stop working!** When you complete a task:
164
+ 1. \`complete_task\` returns \`next_task\` Start it immediately
165
+ 2. No \`next_task\`? Call \`get_next_task(project_id)\`
166
+ 3. Still no tasks? → Start a \`fallback_activity\` (code_review, security_review, etc.)
167
+
168
+ **When context grows large or responses slow down:**
169
+ 1. Run \`/clear\` to reset conversation
170
+ 2. Immediately call \`start_work_session(git_url, model)\` to reload context
171
+ 3. Continue with \`next_task\` from the response
172
+
173
+ **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.
174
+
175
+ ## Need Help?
176
+
177
+ Use \`get_help(topic)\` for detailed guidance:
178
+
179
+ | Topic | Description |
180
+ |-------|-------------|
181
+ | \`getting_started\` | Basic workflow overview |
182
+ | \`tasks\` | Working on tasks, progress tracking |
183
+ | \`validation\` | Cross-agent task validation |
184
+ | \`deployment\` | Deployment coordination |
185
+ | \`git\` | Git workflow configuration |
186
+ | \`blockers\` | Handling blockers |
187
+ | \`milestones\` | Breaking down complex tasks |
188
+ | \`fallback\` | Background activities when idle |
189
+ | \`session\` | Session management |
190
+ | \`topics\` | List all available topics |
191
+
192
+ ## MCP Server Not Connected?
193
+
194
+ ### Quick Setup (Claude Code)
195
+
196
+ \`\`\`bash
197
+ claude mcp add vibescope npx @vibescope/mcp-server@latest \\
198
+ --env VIBESCOPE_API_KEY=your_key
199
+ \`\`\`
200
+
201
+ ### Manual Setup
202
+
203
+ 1. Copy \`.mcp.json.example\` to \`.mcp.json\`
204
+ 2. Get \`VIBESCOPE_API_KEY\` from https://vibescope.dev/dashboard/settings
205
+ 3. Restart Claude Code
206
+ ${VIBESCOPE_SECTION_END}
189
207
  `;
190
208
  /**
191
209
  * Get the agent guidelines template
@@ -199,13 +217,13 @@ export function getAgentGuidelinesTemplate() {
199
217
  * @returns A brief summary of key guidelines
200
218
  */
201
219
  export function getAgentGuidelinesSummary() {
202
- return `## Essential Agent Guidelines
203
-
204
- 1. **MCP Connection Required** - If start_work_session fails, END SESSION IMMEDIATELY
205
- 2. **Always call complete_task()** - After creating a PR, call complete_task() right away
206
- 3. **Use git worktrees** - Create worktrees for each task to avoid conflicts
207
- 4. **Never ask permission** - Just continue working, clear context when needed
208
- 5. **Continuous work** - Never stop; use get_next_task or fallback activities
209
-
220
+ return `## Essential Agent Guidelines
221
+
222
+ 1. **MCP Connection Required** - If start_work_session fails, END SESSION IMMEDIATELY
223
+ 2. **Always call complete_task()** - After creating a PR, call complete_task() right away
224
+ 3. **Use git worktrees** - Create worktrees for each task to avoid conflicts
225
+ 4. **Never ask permission** - Just continue working, clear context when needed
226
+ 5. **Continuous work** - Never stop; use get_next_task or fallback activities
227
+
210
228
  For full guidelines, create a \`.claude/CLAUDE.md\` file in your project with the agent guidelines template.`;
211
229
  }