{"id":49156988,"url":"https://github.com/SixHq/Overture","last_synced_at":"2026-05-08T17:01:08.154Z","repository":{"id":339028411,"uuid":"1159653516","full_name":"SixHq/Overture","owner":"SixHq","description":"Overture is an open-source, locally running web interface delivered as an MCP (Model Context Protocol) server that visually maps out the execution plan of any AI coding agent as an interactive flowchart/graph before the agent begins writing code. ","archived":false,"fork":false,"pushed_at":"2026-03-08T01:51:05.000Z","size":188150,"stargazers_count":596,"open_issues_count":3,"forks_count":57,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-03-12T01:29:50.050Z","etag":null,"topics":["ai-agent","ai-coding","automation","claude","claude-code","codex","copilot","cursor","deepseek","developer-tools","gemini","generative-ai","gpt","llm","mcp","mcp-server","openclaw","planning","typescript","vscode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SixHq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["SixHq"],"custom":["https://trysixth.com"]}},"created_at":"2026-02-17T01:46:15.000Z","updated_at":"2026-03-11T18:48:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SixHq/Overture","commit_stats":null,"previous_names":["sixhq/overture"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/SixHq/Overture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixHq%2FOverture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixHq%2FOverture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixHq%2FOverture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixHq%2FOverture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SixHq","download_url":"https://codeload.github.com/SixHq/Overture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixHq%2FOverture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32789370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-coding","automation","claude","claude-code","codex","copilot","cursor","deepseek","developer-tools","gemini","generative-ai","gpt","llm","mcp","mcp-server","openclaw","planning","typescript","vscode"],"created_at":"2026-04-22T10:00:23.575Z","updated_at":"2026-05-08T17:01:08.129Z","avatar_url":"https://github.com/SixHq.png","language":"TypeScript","funding_links":["https://github.com/sponsors/SixHq","https://trysixth.com"],"categories":["MCP Servers \u0026 Protocol"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/overture-logo-dark.png\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/overture-logo-light.png\" alt=\"Overture\" width=\"400\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eSee the plan before the code. Approve it. Then watch it execute.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/overture-mcp\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/overture-mcp?style=for-the-badge\u0026color=blue\" alt=\"npm version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/SixHq/Overture/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/SixHq/Overture/ci.yml?branch=main\u0026style=for-the-badge\" alt=\"CI status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/overture-mcp\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/overture-mcp?style=for-the-badge\u0026color=orange\" alt=\"npm downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/SixHq/Overture/discussions\"\u003e\u003cimg src=\"https://img.shields.io/github/discussions/SixHq/Overture?style=for-the-badge\u0026color=purple\" alt=\"Discussions\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge\" alt=\"MIT License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-the-problem\"\u003eProblem\u003c/a\u003e •\n  \u003ca href=\"#-the-solution\"\u003eSolution\u003c/a\u003e •\n  \u003ca href=\"#-installation\"\u003eInstall\u003c/a\u003e •\n  \u003ca href=\"#-features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#-mcp-marketplace\"\u003eMarketplace\u003c/a\u003e •\n  \u003ca href=\"#-configuration\"\u003eConfig\u003c/a\u003e •\n  \u003ca href=\"https://github.com/SixHq/Overture/discussions\"\u003eDiscussions\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\nhttps://github.com/user-attachments/assets/eeb9c4cb-c80d-42da-bf63-c0c4ecb1e5d6\n\n\u003c/p\u003e\n\n---\n\n## 🔥 The Problem\n\nEvery AI coding agent today — **Cursor**, **Claude Code**, **Cline**, **Copilot** — works the same way:\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### What Happens Now\n\n1. You type a prompt\n2. Agent **immediately starts writing code**\n3. You have **zero visibility** into what it's doing\n4. You realize it misunderstood your request\n5. **Hundreds of lines of code** need to be discarded\n6. You've wasted tokens, time, and patience\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### Text Plans Don't Help\n\nSome agents show plans as text in chat. But text fails to show:\n\n- **Dependencies** — which tasks depend on what?\n- **Branch points** — what alternative approaches exist?\n- **Context requirements** — which files, APIs, or secrets are needed?\n- **Complexity** — which steps are risky?\n- **Progress** — what's done, what's next?\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/problem-illustration.png\" alt=\"The Problem\" width=\"700\"\u003e\n\u003c/p\u003e\n\n---\n\n## ✨ The Solution\n\n**Overture** intercepts your AI agent's planning phase and renders it as an **interactive visual flowchart** — before any code is written.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/solution-screenshot.png\" alt=\"Overture Solution\" width=\"900\"\u003e\n\u003c/p\u003e\n\n### The agent doesn't write a single line of code until you approve the plan.\n\n\u003cbr\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"20%\"\u003e\n\u003cimg src=\"https://img.icons8.com/color/96/flow-chart.png\" width=\"64\"\u003e\u003cbr\u003e\n\u003cstrong\u003eVisual Plans\u003c/strong\u003e\u003cbr\u003e\n\u003csub\u003eInteractive flowchart with pan, zoom, and click-through navigation\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"20%\"\u003e\n\u003cimg src=\"https://img.icons8.com/color/96/attach.png\" width=\"64\"\u003e\u003cbr\u003e\n\u003cstrong\u003eAttach Context\u003c/strong\u003e\u003cbr\u003e\n\u003csub\u003eFiles, API keys, instructions per step\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"20%\"\u003e\n\u003cimg src=\"https://img.icons8.com/color/96/split.png\" width=\"64\"\u003e\u003cbr\u003e\n\u003cstrong\u003eChoose Approaches\u003c/strong\u003e\u003cbr\u003e\n\u003csub\u003eCompare pros/cons of different paths\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"20%\"\u003e\n\u003cimg src=\"https://img.icons8.com/color/96/lightning-bolt.png\" width=\"64\"\u003e\u003cbr\u003e\n\u003cstrong\u003eReal-time Execution\u003c/strong\u003e\u003cbr\u003e\n\u003csub\u003eWatch nodes light up with progress\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"20%\"\u003e\n\u003cimg src=\"https://img.icons8.com/color/96/shop.png\" width=\"64\"\u003e\u003cbr\u003e\n\u003cstrong\u003eMCP Marketplace\u003c/strong\u003e\u003cbr\u003e\n\u003csub\u003eBrowse \u0026 attach tools per node\u003c/sub\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🚀 Installation\n\nOverture is an MCP server that works with **any MCP-compatible AI coding agent**. One command to install.\n\n### Claude Code\n\n```bash\nclaude mcp add overture-mcp -- npx overture-mcp\n```\n\n### Cursor\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"overture\": {\n      \"command\": \"npx\",\n      \"args\": [\"overture-mcp\"]\n    }\n  }\n}\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eMore Agents (Cline, Copilot, Sixth AI)\u003c/strong\u003e\u003c/summary\u003e\n\n### Cline (VS Code Extension)\n\nOpen VS Code settings → search \"Cline MCP\" → add:\n\n```json\n{\n  \"mcpServers\": {\n    \"overture\": {\n      \"command\": \"npx\",\n      \"args\": [\"overture-mcp\"]\n    }\n  }\n}\n```\n\n### GitHub Copilot\n\nCreate `.vscode/mcp.json` in your project root:\n\n```json\n{\n  \"servers\": {\n    \"overture\": {\n      \"command\": \"npx\",\n      \"args\": [\"overture-mcp\"]\n    }\n  }\n}\n```\n\n\u003e **Note:** GitHub Copilot MCP requires VS Code 1.99+ and uses `servers` instead of `mcpServers`.\n\n### Sixth AI (VS Code Extension)\n\nAdd to your Sixth AI MCP settings file:\n\n| Platform | Path |\n|----------|------|\n| macOS | `~/Library/Application Support/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json` |\n| Windows | `%APPDATA%\\Code\\User\\globalStorage\\sixth.sixth-ai\\settings\\sixth-mcp-settings.json` |\n| Linux | `~/.config/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json` |\n\n```json\n{\n  \"mcpServers\": {\n    \"overture\": {\n      \"command\": \"npx\",\n      \"args\": [\"overture-mcp\"],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n### Global Installation (Optional)\n\n```bash\nnpm install -g overture-mcp\n```\n\n### Verify It Works\n\nGive your agent any task. Overture automatically opens at `http://localhost:3031` with your plan ready for approval.\n\n---\n\n## 🎯 How It Works\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/how-it-works.png\" alt=\"How Overture Works\" width=\"800\"\u003e\n\u003c/p\u003e\n\n**The Flow:**\n\n| Step | What Happens |\n|------|--------------|\n| **1. Prompt** | You give your agent a task: \"Build a REST API with auth\" |\n| **2. Plan** | Agent generates a detailed plan with steps, branches, and requirements |\n| **3. Visualize** | Overture renders the plan as an interactive graph |\n| **4. Enrich** | You click nodes, attach files, select branches, fill in API keys |\n| **5. Approve** | You click \"Approve \u0026 Execute\" (or press Enter) |\n| **6. Execute** | Watch real-time as nodes pulse, complete, or fail |\n| **7. Control** | Pause (Spacebar), resume, re-run nodes, or modify the plan mid-flight |\n\n---\n\n## 🛠 Features\n\n### Interactive Plan Canvas\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-canvas.png\" alt=\"Interactive Canvas\" width=\"800\"\u003e\n\u003c/p\u003e\n\n| Feature | Description |\n|---------|-------------|\n| **React Flow Canvas** | Full pan, zoom, drag with smooth animations |\n| **Streaming Parser** | Plan nodes appear in real-time as the agent generates them |\n| **Dagre Auto-Layout** | Intelligent automatic positioning of nodes |\n| **Visual Status** | Pending (gray) → Active (pulsing yellow) → Completed (green) / Failed (red) |\n| **Next Node Indicator** | Blue pulse shows which node executes next |\n| **Complexity Badges** | Low (green), Medium (yellow), High (red) at a glance |\n| **Glow Effects** | Shadow glows highlight active and upcoming nodes |\n| **Insertable Edges** | Hover over edges to insert new nodes mid-plan |\n\n---\n\n### Node Details Panel\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-node-panel.png\" alt=\"Node Details Panel\" width=\"700\"\u003e\n\u003c/p\u003e\n\nClick any node to reveal its full details:\n\n| Info | What You See |\n|------|--------------|\n| **Title \u0026 Description** | Full context for what this step does |\n| **Complexity Level** | Low / Medium / High with visual indicator |\n| **Expected Output** | What the step should produce |\n| **Risks \u0026 Edge Cases** | Potential issues to watch for |\n| **Pros \u0026 Cons** | For branch options, compare trade-offs |\n\n---\n\n### Dynamic Fields (User Inputs)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-dynamic-fields.png\" alt=\"Dynamic Fields\" width=\"600\"\u003e\n\u003c/p\u003e\n\nNodes can request input from you before execution:\n\n| Field Type | Use Case |\n|------------|----------|\n| **String** | Project names, URLs, custom values |\n| **Number** | Port numbers, limits, counts |\n| **Boolean** | Yes/No toggles for options |\n| **Select** | Dropdown with predefined choices |\n| **Secret** | API keys, tokens (masked input) |\n| **File** | File paths to attach context |\n\nEach field includes:\n- Required/optional indicator\n- Default values\n- Help text \u0026 descriptions\n- Setup instructions (\"How to get an API key\")\n\n---\n\n### File Attachments\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-attachments.png\" alt=\"File Attachments\" width=\"600\"\u003e\n\u003c/p\u003e\n\nAttach context files to specific nodes:\n\n- **Automatic type detection** — Image, code, document, or other\n- **Visual icons** per file type\n- **Descriptions** — add notes about why this file matters\n- **Delete** — remove unwanted attachments\n\n---\n\n### Meta Instructions\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-meta-instructions.png\" alt=\"Meta Instructions\" width=\"600\"\u003e\n\u003c/p\u003e\n\nAdd custom LLM instructions to any node:\n\n\u003e \"Pay special attention to error handling here\"\n\u003e \"Use the existing auth pattern from src/auth.ts\"\n\u003e \"Make sure to add tests for edge cases\"\n\nInstructions are sent to the agent right before that node executes.\n\n---\n\n### Branch Detection \u0026 Selection\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-branching.png\" alt=\"Branch Selection\" width=\"800\"\u003e\n\u003c/p\u003e\n\nWhen the agent proposes multiple approaches:\n\n| Feature | Description |\n|---------|-------------|\n| **Auto-Detection** | Branches detected from graph structure (no special markup) |\n| **Branch Points** | Nodes with multiple outgoing edges become decision points |\n| **Selection Modal** | Side-by-side comparison with pros/cons |\n| **Complexity Comparison** | See difficulty level for each option |\n| **Visual Indicator** | Selected branch highlighted on canvas |\n| **Skip Unselected** | Only your chosen path executes |\n\n---\n\n### Requirements Checklist\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-checklist.png\" alt=\"Requirements Checklist\" width=\"400\"\u003e\n\u003c/p\u003e\n\nBefore you can approve, Overture shows what's needed:\n\n- **Empty required fields** — counted per node\n- **Branch selections** — which decisions are pending\n- **Progress indicator** — visual completion tracking\n- **Expandable items** — click to see details\n- **Color coding** — Green (done) / Orange (pending)\n\nThe Approve button stays disabled until all requirements are met.\n\n---\n\n### Execution Controls\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-execution.png\" alt=\"Execution Controls\" width=\"700\"\u003e\n\u003c/p\u003e\n\n| Control | How |\n|---------|-----|\n| **Approve** | Click button or press `Enter` |\n| **Pause** | Press `Spacebar` mid-execution |\n| **Resume** | Press `Spacebar` again |\n| **Re-run Node** | Click failed node → \"Re-run\" |\n| **Re-run From Here** | Re-execute from any node to the end |\n\nThe approval button is smart:\n- 🟢 **\"Approve \u0026 Execute\"** — plan ready, requirements met\n- 🟠 **\"Complete Requirements\"** — conditions unmet\n- 🔵 **\"Executing...\"** — running with spinner\n- 🟢 **\"Completed\"** — all done\n- 🔴 **\"Failed\"** — error occurred\n\n---\n\n### Structured Output\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-output.png\" alt=\"Structured Output\" width=\"700\"\u003e\n\u003c/p\u003e\n\nAfter each node executes, see rich structured output:\n\n| Category | What It Shows |\n|----------|---------------|\n| **Overview** | Summary of what was accomplished |\n| **Files Changed** | Paths, lines added/removed, diffs |\n| **Files Created** | New files with line counts |\n| **Files Deleted** | Removed files |\n| **Packages Installed** | npm packages with versions |\n| **MCP Servers Setup** | Installation status (installed/configured/failed) |\n| **Web Searches** | Queries performed, results used |\n| **Tool Calls** | Which tools were used and how often |\n| **Preview URLs** | Links to deployed sites or previews |\n| **Notes** | Info, warnings, errors |\n\nEach category is **expandable** — drill in without visual overload.\n\n---\n\n### Output Modal\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-output-modal.png\" alt=\"Output Modal\" width=\"700\"\u003e\n\u003c/p\u003e\n\nClick any completed node to see full output:\n\n- **Scrollable** for long outputs\n- **Syntax highlighted** code snippets\n- **Close with Escape** or click outside\n\n---\n\n## 🏪 MCP Marketplace\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/feature-marketplace.png\" alt=\"MCP Marketplace\" width=\"800\"\u003e\n\u003c/p\u003e\n\n**Browse and attach MCP servers directly from the Overture UI.**\n\n| Feature | Description |\n|---------|-------------|\n| **Built-in Marketplace** | Search and discover MCP servers |\n| **Server Details** | Descriptions, authors, GitHub links, stars |\n| **Category Browsing** | Filter by use case |\n| **Per-Node Attachment** | Attach specific tools to specific steps |\n| **Setup Instructions** | See how to configure each server |\n| **Recommended Servers** | Curated list for common tasks |\n\nWhen you attach an MCP server to a node, the agent gains access to those tools **only for that step**.\n\n---\n\n## 📂 Multi-Project Support\n\nWork on multiple projects simultaneously:\n\n| Feature | Description |\n|---------|-------------|\n| **Tab Navigation** | Switch between projects instantly |\n| **Auto Registration** | Projects register on first agent contact |\n| **Isolated State** | Each project has separate plans, nodes, configs |\n| **Unread Badges** | Know when other projects have updates |\n| **Project Context** | See project name, path, and agent type |\n\nSingle project? Tab bar hides automatically for a cleaner UI.\n\n---\n\n## 📜 Plan History \u0026 Persistence\n\nNever lose your work:\n\n| Feature | Description |\n|---------|-------------|\n| **Auto-Save** | Plans saved every 3 seconds |\n| **Local Storage** | Stored in `~/.overture/history.json` |\n| **History Browser** | Slide-in panel with all past plans |\n| **Status Icons** | Completed, failed, executing, paused |\n| **Progress Bars** | Visual completion percentage |\n| **One-Click Resume** | Load and continue any past plan |\n| **Full Context** | All field values, branch selections, attachments preserved |\n\n### Resume Information\n\nWhen resuming, you get complete context:\n\n- **Current node** — where execution stopped\n- **Completed nodes** — with their outputs\n- **Pending nodes** — what's left to do\n- **Failed nodes** — with error messages\n- **All configurations** — field values, branches, attachments\n- **Timestamps** — when created, when paused\n\n---\n\n## ✏️ Dynamic Plan Modification\n\nModify plans even during execution:\n\n| Operation | Description |\n|-----------|-------------|\n| **Insert Nodes** | Add new steps mid-execution |\n| **Remove Nodes** | Delete steps (edges auto-reconnect) |\n| **Replace Content** | Update node title/description in-place |\n| **Batch Operations** | Multiple changes in one request |\n\n### Plan Diff View\n\nWhen a plan changes, see exactly what's different:\n\n- **Added nodes** — highlighted green\n- **Removed nodes** — highlighted red\n- **Modified nodes** — yellow with before/after comparison\n- **Edge changes** — added/removed connections\n\n---\n\n## 🔌 MCP Tools (For Agent Developers)\n\nOverture exposes 11 MCP tools for agents to interact with:\n\n| Tool | Purpose |\n|------|---------|\n| `submit_plan` | Submit complete plan as XML |\n| `get_approval` | Wait for user approval (blocks until approved) |\n| `update_node_status` | Update node status + output during execution |\n| `plan_completed` | Mark plan as successfully completed |\n| `plan_failed` | Mark plan as failed with error message |\n| `check_rerun` | Check if user requested a node re-run |\n| `check_pause` | Check if user paused execution |\n| `get_resume_info` | Get full context for resuming a paused plan |\n| `request_plan_update` | Request incremental plan modifications |\n| `create_new_plan` | Signal creation of a new plan |\n| `get_usage_instructions` | Get agent-specific instructions |\n\n---\n\n## 🔄 Real-time WebSocket Communication\n\n**19 server-to-client message types:**\n\n`connected` • `plan_started` • `node_added` • `edge_added` • `plan_ready` • `plan_approved` • `node_status_updated` • `plan_completed` • `plan_failed` • `plan_paused` • `plan_resumed` • `nodes_inserted` • `node_removed` • `project_registered` • `projects_list` • `history_entries` • `plan_loaded` • `resume_plan_info` • `plan_updated`\n\n**16 client-to-server message types:**\n\n`approve_plan` • `cancel_plan` • `rerun_request` • `pause_execution` • `resume_execution` • `insert_nodes` • `remove_node` • `register_project` • `subscribe_project` • `unsubscribe_project` • `get_history` • `load_plan` • `get_resume_info` • `save_plan` • `request_plan_update` • `create_new_plan`\n\n### Relay Mode\n\nWhen the WebSocket port is already in use, Overture automatically operates as a **relay client**, forwarding messages through the existing server. Multiple agent instances can share a single UI.\n\n---\n\n## ⚙️ Configuration\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `OVERTURE_HTTP_PORT` | `3031` | Port for the web UI |\n| `OVERTURE_WS_PORT` | `3030` | Port for WebSocket |\n| `OVERTURE_AUTO_OPEN` | `true` | Auto-open browser on start |\n\n### Setting Environment Variables\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nclaude mcp add overture-mcp -e OVERTURE_HTTP_PORT=4000 -e OVERTURE_AUTO_OPEN=false -- npx overture-mcp\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCursor / Cline / Sixth AI\u003c/strong\u003e\u003c/summary\u003e\n\n```json\n{\n  \"mcpServers\": {\n    \"overture\": {\n      \"command\": \"npx\",\n      \"args\": [\"overture-mcp\"],\n      \"env\": {\n        \"OVERTURE_HTTP_PORT\": \"4000\",\n        \"OVERTURE_WS_PORT\": \"4001\",\n        \"OVERTURE_AUTO_OPEN\": \"false\"\n      }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGitHub Copilot\u003c/strong\u003e\u003c/summary\u003e\n\n```json\n{\n  \"servers\": {\n    \"overture\": {\n      \"command\": \"npx\",\n      \"args\": [\"overture-mcp\"],\n      \"env\": {\n        \"OVERTURE_HTTP_PORT\": \"4000\",\n        \"OVERTURE_WS_PORT\": \"4001\",\n        \"OVERTURE_AUTO_OPEN\": \"false\"\n      }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n---\n\n## ⌨️ Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `Enter` | Approve plan (when ready) |\n| `Space` | Pause / Resume execution |\n| `Escape` | Deselect current node / Close modal |\n\n---\n\n## 🤝 Supported Agents\n\n| Agent | Status | Notes |\n|-------|--------|-------|\n| **Claude Code** | ✅ Full | Native MCP support |\n| **Cursor** | ✅ Full | Via mcp.json config |\n| **Cline** | ✅ Full | Via VS Code settings |\n| **GitHub Copilot** | ✅ Full | VS Code 1.99+ required |\n| **Sixth AI** | ✅ Full | Built-in, zero config |\n\nEach agent has **custom-tailored prompts** for optimal plan generation.\n\n---\n\n## 💪 Why Overture?\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### For Users\n\n- **Transparency** — See exactly what happens before code is written\n- **Control** — Approve, reject, or modify any plan\n- **Context** — Attach files and instructions to the right steps\n- **Choice** — Compare approaches and pick your path\n- **Visibility** — Real-time progress with rich output\n- **Safety** — Pause, resume, or re-run at any time\n- **History** — Resume any past plan instantly\n- **Efficiency** — No wasted tokens on rejected approaches\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### For AI Coding\n\n- **Trust** — Makes agents predictable and controllable\n- **Interpretability** — See AI reasoning before execution\n- **Universal** — Works with any MCP-compatible agent\n- **Extensible** — MCP Marketplace for tool discovery\n- **Open Source** — MIT licensed, community-driven\n- **Self-Contained** — No cloud dependencies\n- **Works Offline** — Fully local execution\n- **Multi-Project** — Manage multiple workspaces\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🧑‍💻 Development\n\n```bash\n# Clone the repo\ngit clone https://github.com/SixHq/Overture.git\ncd Overture\n\n# Install dependencies\nnpm install\n\n# Build all packages\nnpm run build\n\n# Start MCP server (in one terminal)\ncd packages/mcp-server \u0026\u0026 npm start\n\n# Start UI dev server (in another terminal)\ncd packages/ui \u0026\u0026 npm run dev\n```\n\n### Tech Stack\n\n| Layer | Technologies |\n|-------|--------------|\n| **MCP Server** | Node.js, TypeScript, Express, WebSocket (ws), SAX XML Parser |\n| **UI** | React 18, React Flow, Zustand, Framer Motion, Tailwind CSS, Vite |\n| **Layout** | Dagre (automatic graph positioning) |\n\n---\n\n## 🤝 Contributing\n\nOverture is open source and we welcome contributions!\n\n- 🐛 **Report bugs** at [GitHub Issues](https://github.com/SixHq/Overture/issues)\n- 💡 **Suggest features** at [GitHub Discussions](https://github.com/SixHq/Overture/discussions)\n- 📖 **Improve docs** — PRs welcome\n- 🔧 **Contribute code** — see [CONTRIBUTING.md](CONTRIBUTING.md)\n\nAll contributions are appreciated, no matter how small.\n\n---\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SixHq/Overture/main/assets/sixth-logo.png\" alt=\"Sixth\" width=\"120\"\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  Built by \u003ca href=\"https://trysixth.com\"\u003e\u003cstrong\u003eSixth\u003c/strong\u003e\u003c/a\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  For the best experience, try \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=Sixth.sixth-ai\"\u003e\u003cstrong\u003eSixth for VS Code\u003c/strong\u003e\u003c/a\u003e\u003cbr\u003e\n  Overture is built-in with zero configuration required.\n  \u003cbr\u003e\u003cbr\u003e\n  \u003csub\u003eStop flying blind. See the plan. Approve it. Execute with confidence.\u003c/sub\u003e\n\u003c/p\u003e\n\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=SixHq/Overture\u0026type=date\u0026legend=top-left)](https://www.star-history.com/#SixHq/Overture\u0026type=date\u0026legend=top-left)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSixHq%2FOverture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSixHq%2FOverture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSixHq%2FOverture/lists"}