One AI does the work. Another decides if it’s done.
A VS Code fork that runs any mission — code, images, audio, video — under a cap you set.
Which iteration touched which scope item, and how it came back.
| item \ iter | 1 | 2 | 3 | 4 | 5 | next |
|---|---|---|---|---|---|---|
| c1 | iteration 1: done | |||||
| c2 | iteration 1: done | |||||
| c3 | iteration 1: done | |||||
| c4 | iteration 1: partial | iteration 4: done | ||||
| c5 | iteration 1: done | |||||
| c6 | iteration 2: done | |||||
| c7 | iteration 3: done | |||||
| c8 | iteration 3: done | |||||
| c9 | iteration 4: done | |||||
| c10 | iteration 4: done | |||||
| c11 | iteration 2: done | |||||
| c12 | iteration 2: done | |||||
| c13 | iteration 3: done | |||||
| c14 | iteration 3: done | |||||
| c15 | iteration 4: partial | iteration 5: done |
A single-page marketing site for Cyrus IDE — a VS Code fork that bundles the Cyrus AI-orchestration extension as a first-class citizen. A developer-tool landing page that explains the product, shows how it works, and gets people to download it.
Cyrus IDE pairs two AI CLIs — a manager that scopes and reviews, and a doer that writes code — in a capped loop. The user stays in control.
What “done” looks like
- Understand the product in ~10 seconds — the manager/doer loop front-and-centre, not buried
- See what makes it different — orchestration, multi-adapter doers, Open VSX, zero telemetry
- Know how to get it — three OS buttons, defaulting to "coming soon" while releases are not live
- Trust it is a real tool — dark-first design matching the IDE, the walkthrough art reused
- See the legal baseline — Microsoft non-affiliation disclaimer, MIT licence
Five iterations, one page
The same mission, at mission scale. Each iteration is scoped by the manager, built by the doer and reviewed before the next one starts — and twice out of five, the review sent it back. This is the page you are reading, assembling itself.
- ITER 1c1c2c3c4c5
Scaffold, vendor the assets, extract the data
Created the Next.js project as a static export, copied the logo and five walkthrough SVGs out of the IDE, and pulled every adapter and every line of copy into data files.
⚠ REVIEW · CHANGES_REQUESTEDFour of five met. Both Replicate adapters carry the same label — “confusing in a UI list”. And `getLinkProps` returns an onClick that does nothing, so unavailable links still jump to the top of the page.
- ITER 2c11c12c6
Build the full single-page website
Fixed both findings first, then wrote all six sections in one pass — hero, features, how it works, supported tools, download, footer.
✓ REVIEW · APPROVEDAll three met. Six sections present and populated; the Replicate entries now read “Replicate (image)” and “Replicate (video)”.
- ITER 3c7c8c13c14
Responsive, metadata, and the small corrections
Made the layout hold at 375px, 768px and 1280px, added the document metadata, pointed the hero CTA at the download section instead of a hardcoded Windows release, and made the copyright year dynamic.
✓ REVIEW · APPROVEDAll four met — no horizontal overflow at any of the three widths.
- ITER 4c4c9c10c15
Close the remaining checklist items
Verified the adapter list against the extension registry, put the Microsoft disclaimer in verbatim, and proved no URL is hardcoded anywhere in `app/`.
⚠ REVIEW · CHANGES_REQUESTEDThree of four met. c15 partial: `app/favicon.ico` is 25,931 bytes — the default Next.js triangle, not the Cyrus mark. Modern browsers pick the SVG; older ones would show the wrong icon.
- ITER 5c15
Favicon cleanup and visual polish
Deleted the default `favicon.ico`, leaving `app/icon.svg` as the only icon the browser can pick, and finished the styling pass.
✓ REVIEW · APPROVEDMet. The static export contains `icon.svg` and `index.html` links it. Build succeeded (exit 0). Mission approved — 15 of 15.
Two of the five came back with changes, and both findings were things a person would have shipped: two adapters sharing a label, and a favicon that was still the framework's default. The loop stopped when the manager had nothing left to send back — 15 of 15, five iterations into a cap of five.
Why Cyrus?
Manager / doer orchestration
One AI scopes and reviews. Another does the work. The loop runs with a cap you set — no runaway agents.
Multi-adapter doer support
Swap doers freely: cursor-agent, claude, gemini, codex, aider, opencode, copilot, or kimi. Same workflow, your choice of model.
Media generation built in
Image, audio, and video adapters alongside coding — OpenAI, Stability, ElevenLabs, Runway, and more.
Open VSX marketplace
Extensions from the community-driven Open VSX Registry. No Microsoft Marketplace dependency.
Zero telemetry
Microsoft telemetry disabled by default. Your code, your data, your machine.
Workspace-scoped missions
Every mission lives in .cyrus/missions/ inside your project. Portable, version-controllable, transparent.
How it works
The manager / doer loop
Cyrus pairs two AI CLIs — a manager that scopes the work and reviews results, and a doer that carries it out with live tool-call streaming. The manager plans iterations, the doer executes, and you stay in control.
Install & connect your doer CLI
Open Cyrus Settings → Installations to install and authenticate your preferred doer CLI. Choose from cursor-agent, claude, gemini, codex, aider, and more.
Authenticate your manager
Run claude /login in the integrated terminal to authenticate the manager CLI. The manager orchestrates the entire workflow — scoping missions, drafting briefs, and reviewing doer output.
Register the Cyrus MCP
The Cyrus MCP server lets the manager delegate work to the doer, stream progress, and collect results — all inside the IDE. Verify registration with claude mcp list.
Open a project & run your first mission
Missions live in .cyrus/missions/. Press Ctrl+Alt+N or run "Cyrus: New mission" from the command palette to start. The manager breaks your task into iterations and the doer builds it step by step.
Supported tools
Coding adapters
AI Coding Assistants
Media adapters
Image
Audio
Video
Get Cyrus IDE
Coming soon — build from source — GitHub repo coming soon
Already use VS Code?
Install the Cyrus extension directly.