@vibescope/mcp-server 0.5.0 → 0.5.1

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 (161) 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/tasks.js +7 -1
  7. package/dist/handlers/tool-docs.js +1216 -1216
  8. package/dist/index.js +73 -73
  9. package/dist/templates/agent-guidelines.d.ts +1 -1
  10. package/dist/templates/agent-guidelines.js +205 -205
  11. package/dist/templates/help-content.js +1621 -1621
  12. package/dist/tools/bodies-of-work.js +6 -6
  13. package/dist/tools/cloud-agents.js +22 -22
  14. package/dist/tools/milestones.js +2 -2
  15. package/dist/tools/requests.js +1 -1
  16. package/dist/tools/session.js +11 -11
  17. package/dist/tools/sprints.js +9 -9
  18. package/dist/tools/tasks.js +43 -35
  19. package/dist/tools/worktrees.js +14 -14
  20. package/dist/utils.js +11 -11
  21. package/docs/TOOLS.md +2687 -2685
  22. package/package.json +53 -53
  23. package/scripts/generate-docs.ts +212 -212
  24. package/scripts/version-bump.ts +203 -203
  25. package/src/api-client/blockers.ts +86 -86
  26. package/src/api-client/bodies-of-work.ts +194 -194
  27. package/src/api-client/chat.ts +50 -50
  28. package/src/api-client/connectors.ts +152 -152
  29. package/src/api-client/cost.ts +185 -185
  30. package/src/api-client/decisions.ts +87 -87
  31. package/src/api-client/deployment.ts +313 -313
  32. package/src/api-client/discovery.ts +81 -81
  33. package/src/api-client/fallback.ts +52 -52
  34. package/src/api-client/file-checkouts.ts +115 -115
  35. package/src/api-client/findings.ts +100 -100
  36. package/src/api-client/git-issues.ts +88 -88
  37. package/src/api-client/ideas.ts +112 -112
  38. package/src/api-client/index.ts +592 -592
  39. package/src/api-client/milestones.ts +83 -83
  40. package/src/api-client/organizations.ts +185 -185
  41. package/src/api-client/progress.ts +94 -94
  42. package/src/api-client/project.ts +181 -181
  43. package/src/api-client/requests.ts +54 -54
  44. package/src/api-client/session.ts +220 -220
  45. package/src/api-client/sprints.ts +227 -227
  46. package/src/api-client/subtasks.ts +57 -57
  47. package/src/api-client/tasks.ts +451 -450
  48. package/src/api-client/types.ts +32 -32
  49. package/src/api-client/validation.ts +60 -60
  50. package/src/api-client/worktrees.ts +53 -53
  51. package/src/api-client.test.ts +847 -847
  52. package/src/api-client.ts +2728 -2728
  53. package/src/cli-init.ts +558 -558
  54. package/src/cli.test.ts +284 -284
  55. package/src/cli.ts +204 -204
  56. package/src/handlers/__test-setup__.ts +240 -240
  57. package/src/handlers/__test-utils__.ts +89 -89
  58. package/src/handlers/blockers.test.ts +468 -468
  59. package/src/handlers/blockers.ts +172 -172
  60. package/src/handlers/bodies-of-work.test.ts +704 -704
  61. package/src/handlers/bodies-of-work.ts +526 -526
  62. package/src/handlers/chat.test.ts +185 -185
  63. package/src/handlers/chat.ts +101 -101
  64. package/src/handlers/cloud-agents.test.ts +438 -438
  65. package/src/handlers/cloud-agents.ts +156 -156
  66. package/src/handlers/connectors.test.ts +834 -834
  67. package/src/handlers/connectors.ts +229 -229
  68. package/src/handlers/cost.test.ts +462 -462
  69. package/src/handlers/cost.ts +285 -285
  70. package/src/handlers/decisions.test.ts +382 -382
  71. package/src/handlers/decisions.ts +153 -153
  72. package/src/handlers/deployment.test.ts +551 -551
  73. package/src/handlers/deployment.ts +570 -570
  74. package/src/handlers/discovery.test.ts +206 -206
  75. package/src/handlers/discovery.ts +433 -433
  76. package/src/handlers/fallback.test.ts +537 -537
  77. package/src/handlers/fallback.ts +194 -194
  78. package/src/handlers/file-checkouts.test.ts +750 -750
  79. package/src/handlers/file-checkouts.ts +185 -185
  80. package/src/handlers/findings.test.ts +633 -633
  81. package/src/handlers/findings.ts +239 -239
  82. package/src/handlers/git-issues.test.ts +631 -631
  83. package/src/handlers/git-issues.ts +136 -136
  84. package/src/handlers/ideas.test.ts +644 -644
  85. package/src/handlers/ideas.ts +207 -207
  86. package/src/handlers/index.ts +93 -93
  87. package/src/handlers/milestones.test.ts +475 -475
  88. package/src/handlers/milestones.ts +180 -180
  89. package/src/handlers/organizations.test.ts +826 -826
  90. package/src/handlers/organizations.ts +315 -315
  91. package/src/handlers/progress.test.ts +269 -269
  92. package/src/handlers/progress.ts +77 -77
  93. package/src/handlers/project.test.ts +546 -546
  94. package/src/handlers/project.ts +245 -245
  95. package/src/handlers/requests.test.ts +303 -303
  96. package/src/handlers/requests.ts +99 -99
  97. package/src/handlers/roles.test.ts +305 -305
  98. package/src/handlers/roles.ts +219 -219
  99. package/src/handlers/session.test.ts +998 -998
  100. package/src/handlers/session.ts +1105 -1105
  101. package/src/handlers/sprints.test.ts +732 -732
  102. package/src/handlers/sprints.ts +537 -537
  103. package/src/handlers/tasks.test.ts +931 -931
  104. package/src/handlers/tasks.ts +1144 -1137
  105. package/src/handlers/tool-categories.test.ts +66 -66
  106. package/src/handlers/tool-docs.test.ts +511 -511
  107. package/src/handlers/tool-docs.ts +1595 -1595
  108. package/src/handlers/types.test.ts +259 -259
  109. package/src/handlers/types.ts +176 -176
  110. package/src/handlers/validation.test.ts +582 -582
  111. package/src/handlers/validation.ts +164 -164
  112. package/src/handlers/version.ts +63 -63
  113. package/src/index.test.ts +674 -674
  114. package/src/index.ts +884 -884
  115. package/src/setup.test.ts +243 -243
  116. package/src/setup.ts +410 -410
  117. package/src/templates/agent-guidelines.ts +233 -233
  118. package/src/templates/help-content.ts +1751 -1751
  119. package/src/token-tracking.test.ts +463 -463
  120. package/src/token-tracking.ts +167 -167
  121. package/src/tools/blockers.ts +122 -122
  122. package/src/tools/bodies-of-work.ts +283 -283
  123. package/src/tools/chat.ts +72 -72
  124. package/src/tools/cloud-agents.ts +101 -101
  125. package/src/tools/connectors.ts +191 -191
  126. package/src/tools/cost.ts +111 -111
  127. package/src/tools/decisions.ts +111 -111
  128. package/src/tools/deployment.ts +455 -455
  129. package/src/tools/discovery.ts +76 -76
  130. package/src/tools/fallback.ts +111 -111
  131. package/src/tools/features.ts +154 -154
  132. package/src/tools/file-checkouts.ts +145 -145
  133. package/src/tools/findings.ts +101 -101
  134. package/src/tools/git-issues.ts +130 -130
  135. package/src/tools/ideas.ts +162 -162
  136. package/src/tools/index.ts +145 -145
  137. package/src/tools/milestones.ts +118 -118
  138. package/src/tools/organizations.ts +224 -224
  139. package/src/tools/persona-templates.ts +25 -25
  140. package/src/tools/progress.ts +73 -73
  141. package/src/tools/project.ts +210 -210
  142. package/src/tools/requests.ts +68 -68
  143. package/src/tools/roles.ts +112 -112
  144. package/src/tools/session.ts +181 -181
  145. package/src/tools/sprints.ts +298 -298
  146. package/src/tools/tasks.ts +583 -575
  147. package/src/tools/tools.test.ts +222 -222
  148. package/src/tools/types.ts +9 -9
  149. package/src/tools/validation.ts +75 -75
  150. package/src/tools/version.ts +34 -34
  151. package/src/tools/worktrees.ts +66 -66
  152. package/src/tools.test.ts +416 -416
  153. package/src/utils.test.ts +1014 -1014
  154. package/src/utils.ts +586 -586
  155. package/src/validators.test.ts +223 -223
  156. package/src/validators.ts +249 -249
  157. package/src/version.ts +162 -162
  158. package/tsconfig.json +16 -16
  159. package/vitest.config.ts +14 -14
  160. package/dist/tools.d.ts +0 -2
  161. 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
  }