From 0cb0ba399a04e6e495558e99d245d10d2b02e8a5 Mon Sep 17 00:00:00 2001 From: Sebastien Tardif Date: Sat, 6 Jun 2026 09:32:02 -0700 Subject: [PATCH 1/3] feat: MCP-aware status bar, per-editor breakdown, verify command Refocus the extension as an MCP control plane: - Status bar shows Patchloom MCP when MCP is configured, Patchloom when binary is ready but MCP is not set up, Patchloom when binary is missing or needs upgrade. - Status details now show per-editor MCP breakdown (VS Code, Cursor, Windsurf) instead of a single MCP config: present/missing line. - New 'Verify MCP Server' command spawns patchloom mcp-server, sends a JSON-RPC initialize request, validates the response, and reports server name/version on success or a diagnostic error on failure. - Setup Workspace now walks through all steps (AGENTS.md, MCP config) in one invocation instead of stopping after each step. - 16 new unit tests covering parseInitializeResponse, verifyMcpServer with injected spawn, and buildStatusDetails with per-editor targets. Closes #93 Signed-off-by: Sebastien Tardif --- package.json | 8 +- src/commands/setupWorkspace.ts | 26 ++-- src/commands/verifyMcp.ts | 182 +++++++++++++++++++++++ src/extension.ts | 2 + src/status/details.ts | 16 ++- src/status/statusBar.ts | 8 +- src/workspace/readiness.ts | 16 ++- test/suite/index.ts | 3 +- test/unit/verifyMcp.test.ts | 256 +++++++++++++++++++++++++++++++++ 9 files changed, 491 insertions(+), 26 deletions(-) create mode 100644 src/commands/verifyMcp.ts create mode 100644 test/unit/verifyMcp.test.ts diff --git a/package.json b/package.json index d5b59f9..97bc8ef 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,8 @@ "onCommand:patchloom.showOutput", "onCommand:patchloom.installBinary", "onCommand:patchloom.updateBinary", - "onCommand:patchloom.reinstallBinary" + "onCommand:patchloom.reinstallBinary", + "onCommand:patchloom.verifyMcp" ], "contributes": { "commands": [ @@ -114,6 +115,11 @@ "command": "patchloom.reinstallBinary", "title": "Reinstall Patchloom", "category": "Patchloom" + }, + { + "command": "patchloom.verifyMcp", + "title": "Verify MCP Server", + "category": "Patchloom" } ], "configuration": { diff --git a/src/commands/setupWorkspace.ts b/src/commands/setupWorkspace.ts index 7663362..9d79fd1 100644 --- a/src/commands/setupWorkspace.ts +++ b/src/commands/setupWorkspace.ts @@ -37,32 +37,34 @@ export async function setupWorkspace(): Promise { if (readiness.hasAgentsFile === false) { const choice = await vscode.window.showInformationMessage( - "AGENTS.md is missing for this workspace. Create it now from patchloom agent-rules?", - "Initialize Project" + "Step 1/2: AGENTS.md is missing for this workspace. Create it now from patchloom agent-rules?", + "Initialize Project", + "Skip" ); if (choice === "Initialize Project") { await vscode.commands.executeCommand("patchloom.initializeProject"); } - return; } if (readiness.hasMcpConfig === false) { const choice = await vscode.window.showInformationMessage( - "Patchloom MCP config is missing. Configure supported editors now?", - "Configure MCP" + `${readiness.hasAgentsFile === false ? "Step 2/2: " : ""}Patchloom MCP config is missing. Configure supported editors now?`, + "Configure MCP", + "Skip" ); if (choice === "Configure MCP") { await vscode.commands.executeCommand("patchloom.configureMcp"); } - return; } - const environment = describeWorkspaceEnvironment(vscode.env.remoteName); - const environmentSuffix = environment.note ? ` ${environment.note}` : ""; - const workspaceTarget = readiness.workspaceName ? ` for ${readiness.workspaceName}` : ""; - await vscode.window.showInformationMessage( - `Patchloom workspace setup looks good${workspaceTarget}. Binary, AGENTS.md, and MCP config are already in place.${environmentSuffix}` - ); + if (readiness.hasAgentsFile !== false && readiness.hasMcpConfig !== false) { + const environment = describeWorkspaceEnvironment(vscode.env.remoteName); + const environmentSuffix = environment.note ? ` ${environment.note}` : ""; + const workspaceTarget = readiness.workspaceName ? ` for ${readiness.workspaceName}` : ""; + await vscode.window.showInformationMessage( + `Patchloom workspace setup looks good${workspaceTarget}. Binary, AGENTS.md, and MCP config are already in place.${environmentSuffix}` + ); + } } export async function openPatchloomSettings(): Promise { diff --git a/src/commands/verifyMcp.ts b/src/commands/verifyMcp.ts new file mode 100644 index 0000000..d734ded --- /dev/null +++ b/src/commands/verifyMcp.ts @@ -0,0 +1,182 @@ +import { spawn } from "node:child_process"; +import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom.js"; +import { getPatchloomLog } from "../logging/outputChannel.js"; + +export interface VerifyMcpInputs { + readonly binaryPath: string; + readonly spawnProcess?: typeof spawnMcpServer; +} + +export interface VerifyMcpResult { + readonly ok: boolean; + readonly serverName?: string; + readonly serverVersion?: string; + readonly message: string; +} + +export async function verifyMcp(): Promise { + const vscode = await import("vscode"); + const status = await resolvePatchloomStatus(); + if (!status.ready || !status.binaryPath) { + await vscode.window.showWarningMessage(status.message); + return; + } + + if (patchloomNeedsUpgrade(status)) { + await vscode.window.showWarningMessage( + `${status.compatibilityMessage}\n\nUpgrade Patchloom before verifying the MCP server.` + ); + return; + } + + const result = await vscode.window.withProgress( + { + location: vscode.ProgressLocation.Notification, + title: "Patchloom", + cancellable: false + }, + async (progress) => { + progress.report({ message: "Verifying MCP server..." }); + return verifyMcpServer({ binaryPath: status.binaryPath! }); + } + ); + + const log = getPatchloomLog(); + log?.log(`MCP verify: ${result.message}`); + + if (result.ok) { + await vscode.window.showInformationMessage(result.message); + } else { + await vscode.window.showErrorMessage(result.message); + } +} + +export async function verifyMcpServer(inputs: VerifyMcpInputs): Promise { + const spawnFn = inputs.spawnProcess ?? spawnMcpServer; + try { + return await spawnFn(inputs.binaryPath); + } catch (error) { + return { + ok: false, + message: `MCP server failed to start: ${error instanceof Error ? error.message : String(error)}` + }; + } +} + +function spawnMcpServer(binaryPath: string): Promise { + return new Promise((resolve) => { + const child = spawn(binaryPath, ["mcp-server"], { + stdio: ["pipe", "pipe", "pipe"], + timeout: 10_000, + windowsHide: true + }); + + let stdout = ""; + let stderr = ""; + let resolved = false; + + const finish = (result: VerifyMcpResult): void => { + if (resolved) { + return; + } + resolved = true; + child.kill(); + resolve(result); + }; + + const timer = setTimeout(() => { + finish({ + ok: false, + message: "MCP server did not respond within 10 seconds." + }); + }, 10_000); + + child.stdout.on("data", (chunk: Buffer) => { + stdout += chunk.toString(); + const result = parseInitializeResponse(stdout); + if (result) { + clearTimeout(timer); + finish(result); + } + }); + + child.stderr.on("data", (chunk: Buffer) => { + stderr += chunk.toString(); + }); + + child.on("error", (error) => { + clearTimeout(timer); + finish({ + ok: false, + message: `MCP server process error: ${error.message}` + }); + }); + + child.on("close", (code) => { + clearTimeout(timer); + if (!resolved) { + finish({ + ok: false, + message: `MCP server exited with code ${code ?? "unknown"}. ${stderr.trim()}` + }); + } + }); + + const request = JSON.stringify({ + jsonrpc: "2.0", + id: 1, + method: "initialize", + params: { + protocolVersion: "2024-11-05", + capabilities: {}, + clientInfo: { name: "patchloom-vscode-verify", version: "1.0.0" } + } + }); + child.stdin.write(request + "\n"); + child.stdin.end(); + }); +} + +export function parseInitializeResponse(data: string): VerifyMcpResult | undefined { + for (const line of data.split("\n")) { + const trimmed = line.trim(); + if (!trimmed) { + continue; + } + let parsed: unknown; + try { + parsed = JSON.parse(trimmed); + } catch { + continue; + } + if (!parsed || typeof parsed !== "object") { + continue; + } + const response = parsed as Record; + if (response.jsonrpc !== "2.0") { + continue; + } + + if (response.error) { + const error = response.error as Record; + return { + ok: false, + message: `MCP server returned error: ${error.message ?? JSON.stringify(error)}` + }; + } + + if (response.result && typeof response.result === "object") { + const result = response.result as Record; + const serverInfo = result.serverInfo as Record | undefined; + return { + ok: true, + serverName: serverInfo?.name as string | undefined, + serverVersion: serverInfo?.version as string | undefined, + message: serverInfo + ? `MCP server verified: ${serverInfo.name} ${serverInfo.version ?? ""}`.trim() + : "MCP server responded successfully." + }; + } + } + return undefined; +} diff --git a/src/extension.ts b/src/extension.ts index 22be6d7..ea395ac 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -6,6 +6,7 @@ import { installPatchloom, updatePatchloom, reinstallPatchloom } from "./command import { runQuickAction } from "./commands/quickActions.js"; import { setupWorkspace, openPatchloomReleases, openPatchloomSettings } from "./commands/setupWorkspace.js"; import { showStatus } from "./commands/showStatus.js"; +import { verifyMcp } from "./commands/verifyMcp.js"; import { setManagedInstallRoot } from "./install/managed.js"; import { createPatchloomLog, getPatchloomLog, setPatchloomLog } from "./logging/outputChannel.js"; import { disposeStatusBar, refreshStatusBar } from "./status/statusBar.js"; @@ -29,6 +30,7 @@ export function activate(context: vscode.ExtensionContext): void { vscode.commands.registerCommand("patchloom.installBinary", installPatchloom), vscode.commands.registerCommand("patchloom.updateBinary", updatePatchloom), vscode.commands.registerCommand("patchloom.reinstallBinary", reinstallPatchloom), + vscode.commands.registerCommand("patchloom.verifyMcp", verifyMcp), new vscode.Disposable(disposeStatusBar), vscode.workspace.onDidChangeConfiguration((event) => { if (event.affectsConfiguration("patchloom")) { diff --git a/src/status/details.ts b/src/status/details.ts index cdca296..eb846b6 100644 --- a/src/status/details.ts +++ b/src/status/details.ts @@ -4,6 +4,7 @@ import { patchloomNeedsUpgrade, PatchloomStatus } from "../binary/patchloom.js"; +import type { McpTargetStatus } from "../mcp/config.js"; import { WorkspaceReadiness } from "../workspace/readiness.js"; export interface SetupAction { @@ -38,9 +39,7 @@ export function buildStatusDetails(status: PatchloomStatus, workspaceReadiness?: workspaceReadiness?.hasAgentsFile === undefined ? undefined : `AGENTS.md: ${workspaceReadiness.hasAgentsFile ? "present" : "missing"}`, - workspaceReadiness?.hasMcpConfig === undefined - ? undefined - : `MCP config: ${workspaceReadiness.hasMcpConfig ? "present" : "missing"}` + ...formatMcpTargetDetails(workspaceReadiness?.mcpTargets) ].filter((line): line is string => Boolean(line)).join("\n"); } @@ -80,4 +79,15 @@ export function preferredStatusAction(status: PatchloomStatus, workspaceReadines } return undefined; +} + +function formatMcpTargetDetails(targets?: readonly McpTargetStatus[]): string[] { + if (!targets || targets.length === 0) { + return ["MCP config: no targets available"]; + } + + return targets.map((target) => { + const icon = target.configured ? "\u2713" : "\u2717"; + return `MCP ${target.label}: ${icon} ${target.configured ? "configured" : "not configured"}`; + }); } \ No newline at end of file diff --git a/src/status/statusBar.ts b/src/status/statusBar.ts index 73e459f..fbe0533 100644 --- a/src/status/statusBar.ts +++ b/src/status/statusBar.ts @@ -21,9 +21,11 @@ export async function refreshStatusBar(): Promise { const workspaceReadiness = await inspectWorkspaceReadiness(); const action = preferredStatusAction(status, workspaceReadiness); - statusBarItem.text = status.ready && !patchloomNeedsUpgrade(status) - ? "$(check) Patchloom" - : "$(warning) Patchloom"; + statusBarItem.text = !status.ready || patchloomNeedsUpgrade(status) + ? "$(warning) Patchloom" + : workspaceReadiness?.hasMcpConfig + ? "$(plug) Patchloom MCP" + : "$(check) Patchloom"; statusBarItem.command = action?.command ?? "patchloom.showStatus"; statusBarItem.tooltip = buildStatusDetails(status, workspaceReadiness); statusBarItem.show(); diff --git a/src/workspace/readiness.ts b/src/workspace/readiness.ts index bf59272..821d6d6 100644 --- a/src/workspace/readiness.ts +++ b/src/workspace/readiness.ts @@ -1,5 +1,5 @@ import type * as VSCode from "vscode"; -import { inspectMcpTargets } from "../mcp/config.js"; +import { inspectMcpTargets, type McpTargetStatus } from "../mcp/config.js"; export type WorkspaceEnvironmentSupport = "supported" | "limited" | "unverified"; @@ -16,6 +16,7 @@ export interface WorkspaceReadiness { readonly hasWorkspace: boolean; readonly hasAgentsFile?: boolean; readonly hasMcpConfig?: boolean; + readonly mcpTargets?: readonly McpTargetStatus[]; readonly workspaceCount: number; readonly environmentLabel: string; readonly environmentSupport: WorkspaceEnvironmentSupport; @@ -40,11 +41,13 @@ export async function inspectWorkspaceReadiness(options: WorkspaceReadinessOptio }); const workspaceCount = vscode.workspace.workspaceFolders?.length ?? 0; if (!folder) { + const targets = await inspectMcpTargets({ + includeUserTarget: environment.supportsUserMcpConfig + }); return { hasWorkspace: false, - hasMcpConfig: (await inspectMcpTargets({ - includeUserTarget: environment.supportsUserMcpConfig - })).some((target) => target.configured), + hasMcpConfig: targets.some((target) => target.configured), + mcpTargets: targets, workspaceCount, environmentLabel: environment.label, environmentSupport: environment.support, @@ -52,7 +55,7 @@ export async function inspectWorkspaceReadiness(options: WorkspaceReadinessOptio }; } - const mcpTargets = await inspectMcpTargets({ + const targets = await inspectMcpTargets({ workspaceFolderPath: folder.uri.fsPath, includeUserTarget: environment.supportsUserMcpConfig }); @@ -61,7 +64,8 @@ export async function inspectWorkspaceReadiness(options: WorkspaceReadinessOptio workspaceName: folder.name, hasWorkspace: true, hasAgentsFile: await fileExists(vscode.Uri.joinPath(folder.uri, "AGENTS.md")), - hasMcpConfig: mcpTargets.some((target) => target.configured), + hasMcpConfig: targets.some((target) => target.configured), + mcpTargets: targets, workspaceCount, environmentLabel: environment.label, environmentSupport: environment.support, diff --git a/test/suite/index.ts b/test/suite/index.ts index 2dc409d..c98473a 100644 --- a/test/suite/index.ts +++ b/test/suite/index.ts @@ -13,7 +13,8 @@ const EXPECTED_COMMANDS = [ "patchloom.showStatus", "patchloom.installBinary", "patchloom.updateBinary", - "patchloom.reinstallBinary" + "patchloom.reinstallBinary", + "patchloom.verifyMcp" ]; export async function run(): Promise { diff --git a/test/unit/verifyMcp.test.ts b/test/unit/verifyMcp.test.ts new file mode 100644 index 0000000..7123541 --- /dev/null +++ b/test/unit/verifyMcp.test.ts @@ -0,0 +1,256 @@ +import assert from "node:assert/strict"; +import test from "node:test"; +import { parseInitializeResponse, verifyMcpServer } from "../../src/commands/verifyMcp.js"; +import { buildStatusDetails } from "../../src/status/details.js"; + +// --- parseInitializeResponse --- + +test("parseInitializeResponse extracts server info from valid response", () => { + const data = JSON.stringify({ + jsonrpc: "2.0", + id: 1, + result: { + protocolVersion: "2024-11-05", + serverInfo: { name: "patchloom", version: "0.2.0" }, + capabilities: { tools: {} } + } + }); + + const result = parseInitializeResponse(data); + assert.ok(result); + assert.equal(result.ok, true); + assert.equal(result.serverName, "patchloom"); + assert.equal(result.serverVersion, "0.2.0"); + assert.match(result.message, /patchloom/); + assert.match(result.message, /0\.2\.0/); +}); + +test("parseInitializeResponse handles response without serverInfo", () => { + const data = JSON.stringify({ + jsonrpc: "2.0", + id: 1, + result: { + protocolVersion: "2024-11-05", + capabilities: {} + } + }); + + const result = parseInitializeResponse(data); + assert.ok(result); + assert.equal(result.ok, true); + assert.equal(result.serverName, undefined); + assert.match(result.message, /responded successfully/); +}); + +test("parseInitializeResponse detects JSON-RPC error response", () => { + const data = JSON.stringify({ + jsonrpc: "2.0", + id: 1, + error: { code: -32600, message: "Invalid Request" } + }); + + const result = parseInitializeResponse(data); + assert.ok(result); + assert.equal(result.ok, false); + assert.match(result.message, /Invalid Request/); +}); + +test("parseInitializeResponse returns undefined for empty string", () => { + assert.equal(parseInitializeResponse(""), undefined); +}); + +test("parseInitializeResponse returns undefined for non-JSON lines", () => { + assert.equal(parseInitializeResponse("not json\nalso not json\n"), undefined); +}); + +test("parseInitializeResponse skips non-jsonrpc lines", () => { + const data = '{"status":"ok"}\n' + JSON.stringify({ + jsonrpc: "2.0", + id: 1, + result: { protocolVersion: "2024-11-05", capabilities: {} } + }); + + const result = parseInitializeResponse(data); + assert.ok(result); + assert.equal(result.ok, true); +}); + +test("parseInitializeResponse handles multi-line output with blank lines", () => { + const data = "\n\n" + JSON.stringify({ + jsonrpc: "2.0", + id: 1, + result: { + protocolVersion: "2024-11-05", + serverInfo: { name: "patchloom", version: "0.1.0" }, + capabilities: {} + } + }) + "\n"; + + const result = parseInitializeResponse(data); + assert.ok(result); + assert.equal(result.ok, true); + assert.equal(result.serverName, "patchloom"); +}); + +// --- verifyMcpServer with injected spawnProcess --- + +test("verifyMcpServer returns success from injected spawn", async () => { + const result = await verifyMcpServer({ + binaryPath: "/usr/local/bin/patchloom", + spawnProcess: async () => ({ + ok: true, + serverName: "patchloom", + serverVersion: "0.2.0", + message: "MCP server verified: patchloom 0.2.0" + }) + }); + + assert.equal(result.ok, true); + assert.equal(result.serverName, "patchloom"); +}); + +test("verifyMcpServer returns failure from injected spawn", async () => { + const result = await verifyMcpServer({ + binaryPath: "/usr/local/bin/patchloom", + spawnProcess: async () => ({ + ok: false, + message: "MCP server exited with code 1. binary not found" + }) + }); + + assert.equal(result.ok, false); + assert.match(result.message, /exited with code 1/); +}); + +test("verifyMcpServer catches thrown errors from spawn", async () => { + const result = await verifyMcpServer({ + binaryPath: "/nonexistent/patchloom", + spawnProcess: async () => { + throw new Error("ENOENT: spawn failed"); + } + }); + + assert.equal(result.ok, false); + assert.match(result.message, /ENOENT/); +}); + +test("verifyMcpServer catches non-Error thrown values", async () => { + const result = await verifyMcpServer({ + binaryPath: "/nonexistent/patchloom", + spawnProcess: async () => { + throw "string error"; + } + }); + + assert.equal(result.ok, false); + assert.match(result.message, /string error/); +}); + +// --- buildStatusDetails with per-editor MCP targets --- + +test("buildStatusDetails shows per-editor MCP breakdown", () => { + const details = buildStatusDetails( + { + ready: true, + source: "path", + message: "Using Patchloom from PATH.", + binaryPath: "/usr/local/bin/patchloom", + version: "patchloom 0.1.0" + }, + { + hasWorkspace: true, + workspaceName: "demo", + hasAgentsFile: true, + hasMcpConfig: true, + mcpTargets: [ + { kind: "vscode-workspace", label: "VS Code workspace", filePath: "/demo/.vscode/mcp.json", exists: true, configured: true }, + { kind: "cursor-workspace", label: "Cursor workspace", filePath: "/demo/.cursor/mcp.json", exists: false, configured: false }, + { kind: "windsurf-user", label: "Windsurf user", filePath: "/home/.codeium/windsurf/mcp_config.json", exists: false, configured: false } + ], + workspaceCount: 1, + environmentLabel: "Local", + environmentSupport: "supported" + } + ); + + assert.match(details, /VS Code workspace.*configured/); + assert.match(details, /Cursor workspace.*not configured/); + assert.match(details, /Windsurf user.*not configured/); +}); + +test("buildStatusDetails shows fallback when mcpTargets is undefined", () => { + const details = buildStatusDetails( + { + ready: true, + source: "path", + message: "Using Patchloom from PATH.", + binaryPath: "/usr/local/bin/patchloom", + version: "patchloom 0.1.0" + }, + { + hasWorkspace: true, + workspaceName: "demo", + hasAgentsFile: true, + hasMcpConfig: true, + workspaceCount: 1, + environmentLabel: "Local", + environmentSupport: "supported" + } + ); + + assert.match(details, /MCP config: no targets available/); +}); + +test("buildStatusDetails shows checkmark for configured targets", () => { + const details = buildStatusDetails( + { + ready: true, + source: "path", + message: "Using Patchloom from PATH.", + binaryPath: "/usr/local/bin/patchloom", + version: "patchloom 0.1.0" + }, + { + hasWorkspace: true, + workspaceName: "demo", + hasAgentsFile: true, + hasMcpConfig: true, + mcpTargets: [ + { kind: "vscode-workspace", label: "VS Code workspace", filePath: "/demo/.vscode/mcp.json", exists: true, configured: true } + ], + workspaceCount: 1, + environmentLabel: "Local", + environmentSupport: "supported" + } + ); + + assert.match(details, /\u2713/); + assert.match(details, /configured/); +}); + +test("buildStatusDetails shows X for unconfigured targets", () => { + const details = buildStatusDetails( + { + ready: true, + source: "path", + message: "Using Patchloom from PATH.", + binaryPath: "/usr/local/bin/patchloom", + version: "patchloom 0.1.0" + }, + { + hasWorkspace: true, + workspaceName: "demo", + hasAgentsFile: true, + hasMcpConfig: false, + mcpTargets: [ + { kind: "cursor-workspace", label: "Cursor workspace", filePath: "/demo/.cursor/mcp.json", exists: false, configured: false } + ], + workspaceCount: 1, + environmentLabel: "Local", + environmentSupport: "supported" + } + ); + + assert.match(details, /\u2717/); + assert.match(details, /not configured/); +}); From 3b6713ad62e6e3e2002662b073ddd745ee3c086b Mon Sep 17 00:00:00 2001 From: Sebastien Tardif Date: Sat, 6 Jun 2026 10:27:49 -0700 Subject: [PATCH 2/3] docs: update README with MCP status bar, verify command, per-editor breakdown Signed-off-by: Sebastien Tardif --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 28e4369..6d2e48c 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,17 @@ Run `Patchloom: Setup Workspace` to walk through everything your project needs: ### Status bar -The status bar shows binary readiness and CLI version at a glance. Click it to see full diagnostics. +The status bar shows MCP and binary readiness at a glance: + +- **$(plug) Patchloom MCP** when the MCP server is configured +- **$(check) Patchloom** when the binary is ready but MCP is not yet set up +- **$(warning) Patchloom** when the binary is missing or needs an upgrade + +Click it to see full diagnostics, including per-editor MCP configuration status (VS Code, Cursor, Windsurf). + +### Verify MCP Server + +`Patchloom: Verify MCP Server` spawns `patchloom mcp-server`, sends a JSON-RPC `initialize` handshake, and confirms the server responds correctly. Reports the server name and version on success, or a diagnostic error on failure. ### Quick actions @@ -92,6 +102,7 @@ The extension detects outdated CLI builds and warns with upgrade guidance. It re | `Patchloom: Batch Apply` | Open a JSON batch plan and execute all operations atomically | | `Patchloom: Show Output` | Open the Patchloom output channel for CLI logs and diagnostics | | `Patchloom: Show Status` | Display binary readiness, version, compatibility, and workspace state | +| `Patchloom: Verify MCP Server` | Spawn the MCP server and verify it responds to a JSON-RPC initialize request | | `Patchloom: Install Patchloom` | Download and install the Patchloom CLI with checksum verification | | `Patchloom: Update Patchloom` | Update a managed Patchloom install to the latest release | | `Patchloom: Reinstall Patchloom` | Re-download and reinstall the managed Patchloom binary | From 0198f493acd63165a845d24959e55e1bf50e8069 Mon Sep 17 00:00:00 2001 From: Sebastien Tardif Date: Sat, 6 Jun 2026 10:50:00 -0700 Subject: [PATCH 3/3] docs: add Setup Workspace demo GIF to README Add an animated GIF showing the Setup Workspace flow: command palette, AGENTS.md generation, MCP configuration for VS Code/Cursor/Windsurf, and final status bar state. Recorded via Playwright CDP automation + ffmpeg + gifsicle. Closes #95 Signed-off-by: Sebastien Tardif --- README.md | 4 ++++ images/setup-workspace-demo.gif | Bin 0 -> 106838 bytes 2 files changed, 4 insertions(+) create mode 100644 images/setup-workspace-demo.gif diff --git a/README.md b/README.md index 6d2e48c..1fe2efb 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,10 @@ Or search for **Patchloom** in the Extensions view (`Ctrl+Shift+X` / `Cmd+Shift+ 1. Install the [Patchloom CLI](https://github.com/patchloom/patchloom/releases) (or run **Patchloom: Install Patchloom** from the command palette) 2. Open a project and run **Patchloom: Setup Workspace** +

+ Setup Workspace demo +

+ The extension finds the CLI automatically. If it's not on `PATH`, point `patchloom.path` to it in settings. --- diff --git a/images/setup-workspace-demo.gif b/images/setup-workspace-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d63ad5f54cf16b210d26fadf2c2bd530a5a715a7 GIT binary patch literal 106838 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