Introducingsprintengine
Manage and orchestrate all the frontier-lab CLIs you already pay for.
Manage and orchestrate all the frontier-lab CLIs you already pay for.
The whole studio is on GitHub under the MIT licence: the app, the Module SDK, and the protocol the phone speaks. Use it, change it, and ship it, including in commercial products.
Clone it and run it from source in three commands. Pull requests are welcome, and there is no CLA to sign.
Canvas puts an Excalidraw whiteboard in every workspace. Each board is a .excalidraw file in your repo.
Agents draw on it through the studio's built-in MCP server. They add shapes, connect them with arrows, tidy the layout, and screenshot the result to check it, while you watch the diagram appear.
You can draw on the same board at the same time. When you and the agent touch the same shape, your edit wins.
The Module SDK is the same contract the studio’s own surfaces use. A module can watch and spawn agent sessions, add its own doors and pages, give your agents new MCP tools, and hook into automations. Ask an agent to build one and it shows up in the studio as a workspace of your own.
import type { RendererHost } from "@sprintengine/module-sdk"import { StandupBoard } from "./StandupBoard"export function registerRenderer(host: RendererHost) { // A door in the sidebar, and the full page behind it. host.registerGlobalSurface({ id: "standup", label: "Standup", Component: StandupBoard, })}// Every agent session in the workspace, live.export function watch(host: RendererHost, workspaceId: string) { return host.watchAgentSessions(workspaceId, (sessions) => board.show(sessions.filter((s) => s.isLive)), )}// Hand a card to an agent, on whichever CLI you like.export async function assign(host: RendererHost, id: string, card: Card) { const result = await host.spawnAgent({ workspaceId: id, name: card.title, cli: "codex", prompt: card.body, focus: true, }) if (!result.ok) board.flag(card, result.message)}@sprintengine/module-sdk — MIT licensed, in the studio’s repository under packages/module-sdk.
Once the runtime existed, we kept wanting tools that needed a fleet of agents behind them — and they belonged in the workspace, not in a separate window.
The Module SDK exposes the session manager, automations, and the workspace pane the built-in surfaces are made of. Ask an agent to build a workspace on it and it turns up as a module in the studio: the calendar here was built that way, and drags backlog cards straight into a live agent session.
Fully customizable, and free. It runs on the frontier-lab subscriptions you already have rather than billing you at API rates.
Run Claude Code, Codex, Cursor and the rest side by side in one workspace, and close the window without losing a single session.
Tailor your development workflow with the Module SDK.
The backlog plugin tracks your epics and stories — your work, generally — inside the studio. Or keep the tracker you have: the studio talks to Linear, Jira and any other issue tracker through their MCPs.
Building with AI gave us front ends that never quite matched — every product, and every corner of a product, drifting a little further from the last.
The built-in design system settles what the product looks like. Build one with agents, or import one from the design tools you already use.
Once it is configured, every agent builds against it and checks its work against it — and you can add build-time checks, so drift fails the build instead of shipping.
Pair your machines over the built-in Tailscale integration. Start a session on the desktop that runs the game engine, follow it from the laptop, and answer it from your phone. The work stays on your machines.
We wanted to check on a session, answer a blocking question, and open the PR from wherever we were. The studio and the phone talk over the built-in Tailscale integration — no bridge, no account in the middle.
And the whole app is drivable over the SprintEngine Studio MCP server. Anything the UI can do — spawn agents, draw on a Canvas, run automations, drive the in-app browser — an agent can do over MCP.