Local, no cloud
Everything runs on your own machine and your own Docker. No account, no rental, no hourly bill; nothing leaves the device except what you choose to send.
Monoceros is a workbench for local, reproducible dev containers with AI coding tooling. You describe what should live in a container - languages, services, AI tools, repos - in one YAML file, and Monoceros materializes it. The point: to give your AI agents (and yourself) a box that holds the whole stack but can’t reach your host - so you can let an agent work without handing it your machine. Language- and stack-agnostic; no cloud, no SaaS, no built-in workflow lock-in.
New to Monoceros? Start with Installation, then build your first workbench.
monoceros apply <name>: one command turns the file into a
running container.Change the yml and apply again. The container is always derived from the file, so it is reproducible on any machine and disposable: tear it down, rebuild it, get the same thing back.
| Alternative | What they do differently | What Monoceros does better |
|---|---|---|
| GitHub Codespaces | Cloud-only, vendor lock-in, hourly cost | Local, no rental, data stays on your machine |
| Cursor Cloud | Cloud workspace, fixed tooling stack | Local, the tools are your choice |
| Plain devcontainer | Works, but you build everything yourself | Reusable yml profiles, CLI boilerplate, curated AI-tool features |
| Local dev setup | Full host access for every tool | Container isolation: AI tools run in a separate Linux, not on your host |
Local, no cloud
Everything runs on your own machine and your own Docker. No account, no rental, no hourly bill; nothing leaves the device except what you choose to send.
Declarative yml model
One file describes the container; monoceros apply materializes it.
Reproducible across machines, versionable, diffable.
AI tools are first-class
Claude Code, OpenCode, Atlassian Rovo Dev, the GitHub and GitLab CLIs land as devcontainer features, chosen explicitly in the yml.
Container isolation by default
Everything runs in a Linux container, not on your host. An agent cannot
reach your ~/.ssh, your browser state, or files outside the workspace.
$MONOCEROS_HOME;
sharing a setup is a matter of git, not shared state.