bobs-workshop 0.1.8 → 0.2.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.
package/README.md CHANGED
@@ -49,12 +49,13 @@ That's what Bob's Workshop does.
49
49
 
50
50
  ## What makes this different
51
51
 
52
- 🧭 **Manual-first Development** — every task begins with a living manual, so plans and code stay in sync
53
- 🧱 **Role-based Execution** — Architect, Engineer, Debugger, and Reviewer each have clear responsibilities
52
+ 🧭 **Manual-first Development** — every task begins with a living manual (JSON file), so plans and code stay in sync
53
+ 🔄 **Mode Switching Execution** — Claude Code switches modes (orchestrator architect engineer → debugger → reviewer) within a single conversation - no agent delegation
54
+ 🧱 **Role-based Intelligence** — Each mode has specialized prompts and tools for architecture, implementation, debugging, or review
54
55
  🧠 **Human-in-the-loop Questions** — Bob never assumes; he clarifies until 95% confident
55
- 🔍 **Search-backed Intelligence** — Research grounded in actual code via hybrid search (ripgrep + semgrep)
56
- 📝 **Traceable Workflows** — Every action logged, every decision documented with integrated logging
57
- 📊 **Visual Dashboard** — Real-time progress, manual state, logs, and diffs — all in one place
56
+ 🔍 **Phase-aware Search** — Research grounded in actual code via hybrid search (ripgrep + semgrep) with role-specific analysis rules
57
+ 📝 **Traceable Workflows** — Every action logged within the manual using bob.manual.update (single source of truth)
58
+ 📊 **Visual Dashboard** — Real-time progress, manual state, logs, and diffs — dashboard reads SPEC files directly
58
59
  🔧 **Reliable Git Operations** — Industry-standard practices for handling complex filenames and repository states
59
60
 
60
61
  ---
@@ -63,14 +64,20 @@ That's what Bob's Workshop does.
63
64
 
64
65
  > "Hey Bob, build me a new onboarding flow."
65
66
 
66
- Bob's Orchestrator listens and builds a full lifecycle around that ask:
67
+ When you say "hey bob", **Claude Code switches to orchestrator mode** and builds a full lifecycle around your request:
67
68
 
68
- 1. **Architect** drafts the plan, identifies edge cases, asks clarifying questions
69
- 2. **Engineer** — implements step-by-step, runs tests, and records progress
70
- 3. **Debugger** — investigates any errors using hybrid search before proposing fixes
71
- 4. **Reviewer** — audits security, quality, and architecture before final approval
69
+ **🔄 Mode Switching Model**
70
+ Bob's Workshop uses a **mode switching** approach Claude Code is a single conversation that transitions between modes:
72
71
 
73
- All changes are tracked in a **Manual**, a JSON-backed spec that doubles as documentation and audit trail.
72
+ 1. **Orchestrator Mode** classifies your problem using `bob.workshop`
73
+ 2. **Architect Mode** — Claude switches to architect, drafts the plan, identifies edge cases, asks clarifying questions
74
+ 3. **Engineer Mode** — Claude switches to engineer, implements step-by-step, runs tests, and records progress
75
+ 4. **Debugger Mode** — Claude switches to debugger, investigates errors using hybrid search before proposing fixes
76
+ 5. **Reviewer Mode** — Claude switches to reviewer, audits security, quality, and architecture before final approval
77
+
78
+ > **Important:** There is no agent delegation. Claude Code **IS** the orchestrator/architect/engineer/debugger/reviewer. It switches modes and executes directly.
79
+
80
+ All changes are tracked in a **Manual** (JSON file stored in `.bob/specs/SPEC-*.json`), which serves as the single source of truth — capturing specifications, execution logs, and debug findings.
74
81
 
75
82
  ---
76
83
 
@@ -123,10 +130,10 @@ And watch the magic unfold:
123
130
  npm install -g bobs-workshop
124
131
 
125
132
  # Register with Claude Code (project scope)
126
- claude mcp add bobs-workshop bobs --scope project
133
+ claude mcp add bobs-workshop bobs-mcp --scope project
127
134
 
128
135
  # Or register globally
129
- claude mcp add bobs-workshop bobs --scope global
136
+ claude mcp add bobs-workshop bobs-mcp --scope global
130
137
 
131
138
  # Launch dashboard
132
139
  bobs workshop
@@ -137,6 +144,18 @@ After installation, the `bobs` command will be available globally. The package w
137
144
  - Install search tools (ripgrep)
138
145
  - Initialize the workspace structure
139
146
 
147
+ ### Verify Installation
148
+
149
+ Check that the MCP server is connected:
150
+ ```bash
151
+ # In Claude Code, run:
152
+ /mcp
153
+
154
+ # You should see "bobs-workshop" as ✔ connected
155
+ ```
156
+
157
+ The manifest with LLM guidance is available at resource URI `mcp://bobs-workshop/manifest` and provides tool selection optimization.
158
+
140
159
  See the documentation for advanced setup and configuration options.
141
160
 
142
161
  ---
@@ -145,14 +164,14 @@ See the documentation for advanced setup and configuration options.
145
164
 
146
165
  | Workflow | Description |
147
166
  | ----------------------------- | ---------------------------------------------------- |
148
- | **bob.workshop** | Orchestrates end-to-end flow; routes to correct role |
167
+ | **bob.workshop** | Classifies problem and returns mode to switch to (architect/engineer/debugger/reviewer) |
149
168
  | **bob.workflow.start** | Creates new manual + worktree + dashboard session |
150
- | **bob.workflow.deploy** | Validates, merges, cleans up |
151
- | **bob.code.search** | Hybrid search (ripgrep + semgrep) |
169
+ | **bob.workflow.deploy** | Commits changes, merges to main, cleans up worktree |
170
+ | **bob.code.search** | Phase-aware hybrid search (ripgrep + semgrep) |
171
+ | **bob.manual.update** | Updates manual sections with execution/debug logs (single source of truth for activity logging) |
152
172
  | **bob.validate.changes** | Diff validation and spec compliance |
153
173
  | **bob.summarize.implementation** | Generate implementation summaries |
154
- | **bob.dashboard.launch** | Launch web dashboard (port 4577) |
155
- | **bob.dashboard.update** | Real-time dashboard sync |
174
+ | **bob.dashboard.launch** | Launch web dashboard (port 4577) - reads SPEC files directly |
156
175
 
157
176
  ---
158
177
 
@@ -160,14 +179,14 @@ See the documentation for advanced setup and configuration options.
160
179
 
161
180
  | Tool | Description |
162
181
  | --------------------------------- | ----------------------------------------------- |
163
- | 🧭 `bob.workshop` | Orchestratormain entry point |
164
- | 🧱 `bob.manual.create` / `update` | Manage manual files |
165
- | 🔍 `bob.code.search` | Hybrid lexical + semantic code search |
182
+ | 🧭 `bob.workshop` | Problem classifier analyzes request and returns which mode to switch to |
183
+ | 🧱 `bob.manual.create` / `update` / `get` / `list` | Manage manual JSON files (create, update sections, retrieve, list all) |
184
+ | 🔍 `bob.code.search` | Phase-aware hybrid lexical + semantic code search (architect/engineer/debugger/reviewer modes) |
166
185
  | ✅ `bob.validate.changes` | Verify changes match manual expectations |
167
- | 📊 `bob.dashboard.launch` | Web dashboard on port 4577 |
168
- | 🌳 `bob.worktree.list` | List all git worktrees |
169
- | 🚀 `bob.workflow.start` | Start new feature development workflow |
170
- | 🎯 `bob.workflow.deploy` | Complete implementation and deploy to main |
186
+ | 📊 `bob.dashboard.launch` | Launch web dashboard on port 4577 (reads SPEC files directly) |
187
+ | 🌳 `bob.worktree.debug` | Advanced worktree maintenance (repair, cleanup, validate, status) |
188
+ | 🚀 `bob.workflow.start` | Bootstrap workflow: create manual + worktree + launch dashboard |
189
+ | 🎯 `bob.workflow.deploy` | Complete feature: commit + merge to main + cleanup worktree |
171
190
  | 📝 `bob.summarize.implementation` | Generate comprehensive implementation summaries |
172
191
  | 🐛 `bob.debug` | Debug server state and troubleshoot issues |
173
192
 
@@ -179,11 +198,12 @@ See the documentation for advanced setup and configuration options.
179
198
  *A simple, composable structure built on MCP principles.*
180
199
 
181
200
  * **MCP Server** — exposes tools & prompts via Model Context Protocol
201
+ * **Mode Switching** — Claude Code switches between orchestrator/architect/engineer/debugger/reviewer modes within a single conversation
182
202
  * **CLI Interface** — `bobs` command for workflows, health checks, and maintenance
183
203
  * **Worktrees** — isolated git branches per manual for parallel development
184
- * **Dashboard** — visual orchestration view with real-time updates
185
- * **Prompts** — role-based instructions for Architect, Engineer, Debugger, and Reviewer
186
- * **Manuals** — JSON specs capturing full context, decisions, and implementation logs
204
+ * **Dashboard** — visual orchestration view that reads SPEC files directly from `.bob/specs/`
205
+ * **Prompts** — mode-specific instructions that Claude executes directly (ORCHESTRATOR_PROMPT, ARCHITECT_PROMPT, ENGINEER_PROMPT, DEBUGGER_PROMPT, REVIEWER_PROMPT)
206
+ * **Manuals** — JSON files (`.bob/specs/SPEC-*.json`) capturing full context, decisions, execution logs, and debug findings as single source of truth
187
207
 
188
208
  ---
189
209
 
@@ -930,29 +930,8 @@ export function createDashboardServer() {
930
930
  data: data || {},
931
931
  timestamp: timestamp || new Date().toISOString()
932
932
  });
933
- // If enhanced_activity is provided, save it to SPEC file
934
- if (spec_id && enhanced_activity) {
935
- try {
936
- const specsDir = path.resolve(process.cwd(), ".bob/specs");
937
- const specPath = path.join(specsDir, `${spec_id}.json`);
938
- if (await fs.pathExists(specPath)) {
939
- const specData = await fs.readJson(specPath);
940
- // Initialize enhanced_activities if needed
941
- if (!specData.enhanced_activities) {
942
- specData.enhanced_activities = [];
943
- }
944
- // Add enhanced activity
945
- specData.enhanced_activities.push(enhanced_activity);
946
- specData.updated_at = new Date().toISOString();
947
- // Save back to file
948
- await fs.writeFile(specPath, JSON.stringify(specData, null, 2), "utf8");
949
- }
950
- }
951
- catch (fileError) {
952
- console.error(`Failed to save enhanced activity to SPEC ${spec_id}:`, fileError);
953
- // Continue - notification was still saved
954
- }
955
- }
933
+ // Note: Enhanced activities are persisted via bob.manual.update only
934
+ // This endpoint is just for real-time UI notifications
956
935
  res.json({
957
936
  status: "notification_received",
958
937
  notification_id: notification.id
@@ -1179,6 +1158,24 @@ export function createDashboardServer() {
1179
1158
  res.status(500).json({ error: "Failed to serve manifest" });
1180
1159
  }
1181
1160
  });
1161
+ // Project info endpoint - returns current repository name based on process.cwd()
1162
+ app.get("/api/project-info", (req, res) => {
1163
+ try {
1164
+ const cwd = process.cwd();
1165
+ const repoName = path.basename(cwd);
1166
+ res.json({
1167
+ repoName,
1168
+ workingDirectory: cwd
1169
+ });
1170
+ }
1171
+ catch (error) {
1172
+ res.status(500).json({
1173
+ error: error instanceof Error ? error.message : String(error),
1174
+ repoName: 'unknown',
1175
+ workingDirectory: process.cwd()
1176
+ });
1177
+ }
1178
+ });
1182
1179
  app.get("/api/health", (req, res) => {
1183
1180
  res.json({ status: "ok", uptime: process.uptime() });
1184
1181
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,14 +2,18 @@
2
2
  // src/index.ts
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
+ import { ListResourcesRequestSchema, ReadResourceRequestSchema } from "@modelcontextprotocol/sdk/types.js";
5
6
  import { z } from "zod";
7
+ import { fileURLToPath } from "url";
8
+ import path from "path";
9
+ import fs from "fs-extra";
6
10
  // Import all tool handlers
7
11
  import { specCreateHandler, specUpdateHandler, specGetHandler, specListHandler } from "./tools/specTools.js";
8
12
  import { worktreeCreateHandler } from "./tools/worktreeTools.js";
9
13
  import { stopDevServer } from "./utils/processManager.js";
10
14
  import { hybridSearchHandler } from "./tools/searchTools.js";
11
- import { dashboardLaunchHandler, dashboardUpdateHandler } from "./tools/dashboardTools.js";
12
- import { workshopHandler } from "./tools/orchestratorTools.js";
15
+ import { dashboardLaunchHandler } from "./tools/dashboardTools.js";
16
+ import { workshopHandler, formatRoleDirective } from "./tools/orchestratorTools.js";
13
17
  // REMOVED: Approval tools imports - use structured outputs instead
14
18
  import { getGitStatus, autoCommitChanges, autoMergeAndCleanup, findWorktreeForSpec } from "./tools/gitTools.js";
15
19
  import { autoDebugError, shouldInvokeDebugger } from "./tools/autoDebugger.js";
@@ -230,8 +234,13 @@ function extractResultSummary(toolName, result) {
230
234
  }
231
235
  async function bootstrap() {
232
236
  const server = new McpServer({
233
- name: "bob-mcp",
234
- version: "0.1.0"
237
+ name: "bobs-workshop",
238
+ version: "0.2.0"
239
+ }, {
240
+ capabilities: {
241
+ resources: {},
242
+ logging: {}
243
+ }
235
244
  });
236
245
  // Initialize MCP logging with error handling
237
246
  try {
@@ -318,10 +327,60 @@ async function bootstrap() {
318
327
  spec_id: (args && typeof args === 'object' && 'spec_id' in args) ? args.spec_id : undefined
319
328
  }));
320
329
  };
330
+ // Configure path resolution for manifest (works in both dev and global install)
331
+ const __filename = fileURLToPath(import.meta.url);
332
+ const __dirname = path.dirname(__filename);
333
+ const getManifestPath = () => {
334
+ // Resolve manifest path relative to compiled dist directory
335
+ // When installed globally: /opt/homebrew/lib/node_modules/bobs-mcp/dist/index.js
336
+ // Manifest at: /opt/homebrew/lib/node_modules/bobs-mcp/public/.well-known/mcp/manifest.json
337
+ return path.resolve(__dirname, "../public/.well-known/mcp/manifest.json");
338
+ };
339
+ // Register MCP resource endpoints to expose manifest.json
340
+ // This allows Claude Code to read llm_guidance configuration for tool selection
341
+ server.server.setRequestHandler(ListResourcesRequestSchema, async () => {
342
+ return {
343
+ resources: [
344
+ {
345
+ uri: "mcp://bobs-workshop/manifest",
346
+ name: "Bob's MCP Manifest",
347
+ description: "MCP server manifest with tool definitions and LLM guidance for optimal tool selection",
348
+ mimeType: "application/json"
349
+ }
350
+ ]
351
+ };
352
+ });
353
+ server.server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
354
+ if (request.params.uri === "mcp://bobs-workshop/manifest") {
355
+ try {
356
+ const manifestPath = getManifestPath();
357
+ // Check if manifest file exists
358
+ if (!await fs.pathExists(manifestPath)) {
359
+ console.error(`[MANIFEST ERROR] Manifest not found at: ${manifestPath}`);
360
+ throw new Error(`Manifest file not found at ${manifestPath}`);
361
+ }
362
+ const manifest = await fs.readFile(manifestPath, "utf-8");
363
+ console.log(`[MANIFEST] Served manifest from ${manifestPath}`);
364
+ return {
365
+ contents: [{
366
+ uri: request.params.uri,
367
+ mimeType: "application/json",
368
+ text: manifest
369
+ }]
370
+ };
371
+ }
372
+ catch (error) {
373
+ console.error(`[MANIFEST ERROR] Failed to read manifest:`, error);
374
+ throw new Error(`Failed to read manifest: ${error instanceof Error ? error.message : String(error)}`);
375
+ }
376
+ }
377
+ throw new Error(`Unknown resource URI: ${request.params.uri}`);
378
+ });
379
+ console.log("[MANIFEST] Resource endpoints registered successfully");
321
380
  // Register orchestrator tool (main entry point)
322
381
  server.registerTool("bob.workshop", {
323
382
  title: "🔧 Intelligent workflow orchestrator for all development tasks",
324
- description: "🔧 Main entry point for all development workflows. Analyzes problems, asks clarifying questions when needed, and routes to appropriate modes (Architect, Engineer, Debugger, Reviewer). Use this as your primary tool for any development task.",
383
+ description: "🔧 Main entry point for all development workflows. Analyzes problems, asks clarifying questions when needed, and assigns you a role (Architect, Engineer, Debugger, Reviewer). When this tool returns, YOU will assume the assigned role and execute the provided actions immediately. This is not external routing - you are the agent.",
325
384
  inputSchema: {
326
385
  problem: z.string().min(5).describe("Problem statement or task description (e.g. 'Add JWT authentication', 'Fix login bug', 'Review user service')"),
327
386
  mode: z.enum(["architect", "engineer", "debugger", "reviewer"]).optional().describe("Preferred mode (optional - will be auto-determined based on problem)"),
@@ -331,7 +390,22 @@ async function bootstrap() {
331
390
  }, withToolLogging("bob.workshop", async ({ problem, mode, spec_id, clarifications }) => {
332
391
  console.log("bob.workshop orchestrator called with:", { problem, mode, spec_id, clarifications });
333
392
  const result = await workshopHandler({ problem, mode, spec_id, clarifications });
334
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
393
+ // Format response with role directive if routing to a mode (BACKEND-002 & BACKEND-003)
394
+ // This implements Option A: Enhanced Tool Response pattern from workflows-mcp-server
395
+ let responseText;
396
+ if ((result.action === 'route' || result.action === 'continue') && result.next_mode) {
397
+ const directive = formatRoleDirective(result.next_mode, {
398
+ spec_id: result.spec_id,
399
+ problem: problem,
400
+ confidence: 'confidence_score' in result ? result.confidence_score : undefined
401
+ });
402
+ responseText = `${directive}\n\n---\n\nContext (JSON):\n${JSON.stringify(result, null, 2)}`;
403
+ }
404
+ else {
405
+ // For clarify, await_approval, etc. - just return JSON (no directive)
406
+ responseText = JSON.stringify(result, null, 2);
407
+ }
408
+ return { content: [{ type: "text", text: responseText }] };
335
409
  }));
336
410
  // Register Manual management tools (new workshop terminology)
337
411
  server.registerTool("bob.manual.create", {
@@ -484,18 +558,7 @@ async function bootstrap() {
484
558
  const result = await dashboardLaunchHandler();
485
559
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
486
560
  });
487
- server.registerTool("bob.dashboard.update", {
488
- title: "🔧 Send real-time updates to workshop dashboard",
489
- description: "🔧 Push update to dashboard. Send real-time notifications to the dashboard about manual progress, server status, or other development events.",
490
- inputSchema: {
491
- spec_id: z.string().describe("Manual ID to send update for"),
492
- event: z.string().describe("Event description (e.g., 'server started', 'implementation completed')"),
493
- data: z.object({}).optional().describe("Additional event data")
494
- }
495
- }, async ({ spec_id, event, data }) => {
496
- const result = await dashboardUpdateHandler({ spec_id, event, data });
497
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
498
- });
561
+ // REMOVED: bob.dashboard.update tool - use bob.manual.update with execution_log/debug_log instead
499
562
  // REMOVED: Approval tools - use structured outputs with approval_required flag instead
500
563
  // Register Simplified Workflow tools (bundled git + worktree operations)
501
564
  server.registerTool("bob.workflow.start", {
@@ -518,13 +581,7 @@ async function bootstrap() {
518
581
  const worktree = await worktreeCreateHandler({ spec_id: manual.spec_id, branch: branchName });
519
582
  // Launch dashboard
520
583
  const dashboard = await dashboardLaunchHandler();
521
- // Send dashboard notification
522
- await dashboardUpdateHandler({
523
- spec_id: manual.spec_id,
524
- event: "workflow_started",
525
- data: { title, branch: branchName, dashboard_url: "http://localhost:4577" }
526
- });
527
- // Log workflow initialization via execution log
584
+ // Log workflow initialization via execution log (dashboard reads from SPEC file)
528
585
  await specUpdateHandler({
529
586
  spec_id: manual.spec_id,
530
587
  execution_log: {
@@ -616,18 +673,7 @@ async function bootstrap() {
616
673
  target_branch,
617
674
  cleanup_worktree: true
618
675
  });
619
- // Send dashboard notification
620
- await dashboardUpdateHandler({
621
- spec_id,
622
- event: "workflow_deployed",
623
- data: {
624
- action_description,
625
- files_changed: changedFiles,
626
- target_branch,
627
- commit_hash: commit.commit_hash
628
- }
629
- });
630
- // Record completion milestone
676
+ // Record completion milestone (dashboard reads from SPEC file)
631
677
  await specUpdateHandler({
632
678
  spec_id: spec_id,
633
679
  execution_log: {