SpecStudio
Native AI IDE that turns intent into specs, plans, and production code through a controlled Intent -> Spec -> Plan -> Code workflow.
SpecStudio is a native desktop IDE for teams that want AI acceleration without giving up delivery discipline. It structures work as Intent -> Spec -> Plan -> Code, turning vague prompting into a controlled engineering workflow.
The Problem
Most AI coding tools optimise for speed at the prompt box. That works for experiments. It breaks down when code has to match business requirements, existing architecture, and human review standards.
SpecStudio was designed around a different assumption: the problem is not getting an LLM to write code. The problem is getting it to write the right code, in the right order, with enough structure that a human team can trust the result.
The Architecture
The product uses a lightweight desktop stack: Next.js 16 and React 19 for the interface, Tauri 2 and Rust for the native backend. Underneath that UI are two specialised AI roles with different responsibilities.
Gemini 2.5 explores the local codebase with native tool calling, respects .gitignore, and turns business intent into markdown specifications and structured execution plans.
Claude Code CLI executes the generated tickets one by one, writing production code and tests directly to the working tree rather than returning code blocks for manual copy-paste.
The system accelerates execution without taking control of source control. It never auto-commits. Git remains a manual boundary, which keeps final authority with the developer.
Specs become JSON plans, plans become ordered tickets, and tickets become code. Each stage narrows ambiguity before the next model touches the task.
Key Design Decisions
The Rust backend runs Claude inside a PTY and uses a ghost-user automation thread to handle permission prompts, so tickets can execute sequentially without someone babysitting the terminal.
SpecStudio excludes its own .specstudio working directory from search context, preventing the model from reading its own plans back into the prompt and drifting into recursive hallucination loops.
After each ticket completes, the app captures the git diff and sends the changes back for a review pass against the original acceptance criteria. The result is not just faster generation, but a tighter feedback loop between intent and implementation.