Heat score
1Topic analysis
Show HN: Modo – I built an open-source alternative to Kiro, Cursor, and Windsurf
The open-source AI IDE that plans before it codes. MIT License · Quick Start · What Modo Adds · Contributing I wanted a small feature in an AI coding tool. Couldn't find a way to suggest it. So I asked myself: how hard is it to actually build something like Kiro, Cursor, or Windsurf? Turns out — not as hard as you'd think. Starting from the Void editor (itself a fork of VS Code), I got to roughly 60–70% of what those tools offer in a short stretch of building. It was genuinely fun. This is Modo. A standalone desktop IDE where prompts become structured plans before they become code. Open source, MIT licensed, yours to hack on. Everything below was built on top of Void's existing AI chat, inline edit (Cmd+K), autocomplete, multi-provider LLM support, tool use, and MCP integration. Here's what's new: Most AI tools go prompt → code. Modo goes prompt → requirements → design → tasks → code. A spec lives in .modo/specs/ / as three markdown files: Create one with Cmd+Shift+S or by picking Spec mode in the session picker. Choose feature or bugfix, then requirements-first or design-first workflow. The agent fills each document, you review, then it executes tasks one by one — marking them done as it goes. Tasks persist to disk. Close the IDE, come back, pick up where you left off. Open any tasks.md and each pending task gets a clickable "▶ Run Task" button inline. A "Run All Pending Tasks" button appears at the top. Running tasks show a spinner, completed ones show a checkmark. The agent marks - [ ] → - [~] → - [x] as it works. Markdown documents in .modo/steering/ that inject project rules into every AI interaction — no need to repeat yourself. Three inclusion modes: Supports #[[file:path]] references to link OpenAPI specs, GraphQL schemas, or any project doc. JSON configs in .modo/hooks/ that automate actions around the agent lifecycle. 10 event types: fileEdited , fileCreated , fileDeleted , promptSubmit , agentStop , preToolUse , postToolUse , preTaskExecution , postTaskExecution , userTriggered . Two action types: askAgent or runCommand . Pre-tool hooks can deny execution. Circular dependency detection built in. A status bar pill that switches between Autopilot (agent acts autonomously) and Supervised (agent pauses for approval). Wired directly to auto-approve settings for edits, terminal commands, and MCP tools. Multiple chat sessions as tabs. Each has its own thread, context, and history. Open new ones, close old ones, or run them all at once. A searchable history panel lets you find past conversations. Start a session in Vibe mode for free-form exploration, or Spec mode for structured development. In Spec mode, your prompt triggers the full requirements → design → tasks workflow. The active spec's content is automatically injected into the LLM system prompt. Spawn parallel agents for independent subtasks. Each gets its own thread and tool access. Track status, cancel running tasks, or clear completed ones. Installable knowledge packages that bundle documentation, steering files, and MCP configs. Built-in powers for TypeScript, React, Testing, API Design, and Docker. Activate based on keywords in your prompts. Install custom powers from URLs. A sidebar with collapsible sections for Specs (with progress bars and task counts), Agent Hooks (showing event → action flow), Steering (showing inclusion mode), and Powers. Type / in chat to access manual hooks, steering files, and built-in commands: create spec, run tasks, export conversation, initialize workspace. Steering files and the active spec are automatically prepended to every LLM interaction. The agent follows your project rules and knows what it's building without being told each time. A purpose-built "Modo Dark" theme with teal accents, tuned syntax highlighting, and terminal colors. A Modo avatar appears before each response with randomized expressions during streaming and a calm default after completion. Custom app icon, window title, watermark logo, product identity, URL protocol ( modo:// ), and data directories ( .modo-editor/ ). All Void references in the UI replaced with Modo equivalents. Modo: Initialize Workspace creates the full .modo/ directory structure with default steering files and config templates. Export any conversation as Markdown to clipboard from the command palette. Modo wouldn't exist without these projects: Void itself provides: multi-provider support (Anthropic, OpenAI, Gemini, Ollama, Mistral, Groq, OpenRouter), chat sidebar, Cmd+K inline editing, autocomplete, fast/slow apply, tool calling, MCP integration, SCM integration, and the settings system. Modo adds everything in the What Modo Adds section on top of that foundation. On first launch, onboarding walks you through connecting a model provider. Gemini free tier is the fastest way to start. This project is community-maintained. I built it as a learning experiment — I'm not actively maintaining it on a schedule. If you want something fixed or added, the best path is to fork it and submit a PR. Core services: src/vs/workbench/contrib/void/common/ . Browser-side logic: browser/ . React components: browser/react/src/ . Serious contributors who want commit access — open an issue. See CONTRIBUTING.md for details. PRs welcome. MIT licensed.
Sources
1Platforms
1Relations
8- First seen
- Apr 6, 2026, 7:59 AM
- Last updated
- Apr 6, 2026, 12:00 PM
Why this topic matters
Show HN: Modo – I built an open-source alternative to Kiro, Cursor, and Windsurf is currently shaped by signals from 1 source platforms. This page organizes AI analysis summaries, 1 timeline events, and 8 relationship edges so search engines and AI systems can understand the topic's factual basis and propagation arc.
Keywords
8 tagsSource evidence
1 evidence itemsShow HN: Modo – I built an open-source alternative to Kiro, Cursor, and Windsurf
News · 1Timeline
Show HN: Modo – I built an open-source alternative to Kiro, Cursor, and Windsurf
Apr 6, 2026, 7:59 AM