@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
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. **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";
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. **Set up worktree** \u2192 Create isolated worktree for this task (see Git Workflow below)\n3. **Mark task in progress WITH branch** \u2192 `update_task(task_id, status: \"in_progress\", git_branch: \"feature/...\")` - MUST include git_branch!\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,203 +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. **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}
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. **Set up worktree** → Create isolated worktree for this task (see Git Workflow below)
77
+ 3. **Mark task in progress WITH branch** → \`update_task(task_id, status: "in_progress", git_branch: "feature/...")\` - MUST include git_branch!
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}
207
207
  `;
208
208
  /**
209
209
  * Get the agent guidelines template
@@ -217,13 +217,13 @@ export function getAgentGuidelinesTemplate() {
217
217
  * @returns A brief summary of key guidelines
218
218
  */
219
219
  export function getAgentGuidelinesSummary() {
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
-
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
+
228
228
  For full guidelines, create a \`.claude/CLAUDE.md\` file in your project with the agent guidelines template.`;
229
229
  }