This page is the developer lens. For the maker lens see
landing_for_makers.md, the writer lens seelanding_for_writers.md, the power-user lens seelanding_for_power_users.md. Same engine. Four lenses. One chat.
Why Miton Over Cursor / Windsurf / Replit
- BYOK, no lock-in. Connect Anthropic, OpenAI, Gemini, OpenRouter, Mistral, or any local model via Ollama. No proprietary model, no forced billing, no vendor lock-in. Your keys, your models, your data.
- Free multi-provider gateway. Don’t have a model key? Miton’s free gateway routes to
*-freemodels across multiple providers so you can start with zero Miton spend. OpenCode Go is available as a goodwill refer. Your keys. Your data. Your machine. - Smart model routing. The routing engine picks the right model for each task. Five profiles from Free to Max. Detects provider-side routers so you never double-route. Stop paying Opus prices for tab completions.
- Project-aware. Loads your
MITON.md, your.miton/rules/, and the project blueprint automatically. The agent understands your stack, conventions, and milestones — not just your current file. - Sub-agents in worktrees. Isolated background agents that run in their own git worktree. Run a migration, fix a bug, write tests — in parallel, without touching your working directory.
- Full transparency. Live activity tree, context window breakdown, real-time cost tracking. See exactly what the agent is doing, what it’s reading, and what it’s costing.
- Token efficiency by default. Prompt caching, per-turn condensation, and a Budget Bridge across the engine mean you stop second-guessing your prompt spend.
- Skills and sub-agents. Reusable slash-command skills. Custom sub-agents with isolated contexts. MCP support for external tools.
- Milestones and drift detection. Define what you’re building. The agent tracks progress, detects when code drifts from the plan, and alerts you before things break.
- Local-first, no telemetry. Everything runs on your machine. Miton never sees your code, your chat, or your keys. There is no cloud agent executing your work.
- Source-available (FSL). Inspect the code. Fork it. Build on it. FSL with a 2-year Change Date, converting to Apache 2.0. No rug-pulls.
Architecture
Agent loop
├── Model routing → picks the best model per task
├── Token optimisation → caching, condensation, compression
├── Codebase search → grep + semantic hybrid
├── Knowledge index → blueprint, milestones, drift
├── Sub-agents → isolated, worktree-scoped
├── Skills → slash-command invocable
└── MCP (external tools) → connect any MCP server
Surfaces (lenses over the same engine):
├── Canvas → visual no-code builder
├── Project → code editor + file tree
├── Workflow → visual automation builder
└── Document → long-form writing
The full system map — including the engine’s internal subsystem names — lives in
docs/system_architecture.md and docs/glossary.md.
Greek subsystem names are the engine’s internal vocabulary, not user vocabulary. Per
ADR-0032, they do not appear in any user-visible
surface.
Quick Start
git clone https://github.com/foundryseven/miton.git
cd miton
pnpm install
pnpm dev
Prerequisites: Node 20+, pnpm 9+, Rust 1.74+, Xcode CLT (macOS).
Key Features for Developers
Five routing profiles:
free— only local/free modelscheapest— minimise cost while staying functionalbalanced— best quality / cost / speed trade-offquality— prefer frontier modelsmax— always use the best available
Sub-agents in worktrees:
/daemon spawn fix-the-login-bug
# Miton creates a worktree, spawns an isolated agent, reports back when done
Skills:
/review # code review
/scan # security scan
/docs # generate documentation
/deploy # deployment pipeline
/debug # systematic debugging
Milestones:
## Milestone: v0.4 Auth
- [x] Set up Express
- [x] Add user model
- [x] Login endpoint
- [ ] Password reset ← agent works on this next
MCP support:
// ~/.config/miton/mcp.json
{
"servers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "..."]
},
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] }
}
}
Pricing
- BYOK is always free. Bring any model key and Miton is free, forever, for individuals and small teams. No Miton spend, no metering, no seat tax.
- Free multi-provider gateway. Don’t have a key? Miton’s free gateway routes to
*-freemodels across multiple providers with zero Miton spend. - Pro and Team pricing lands with v1.0. Detailed Pro and Team plans are being finalised alongside the v1.0 release. See ADR-0007 for the model and miton.dev/pricing for the latest.
The on-disk source is source-available under the Functional Source License, Version 1.1, with an
Apache 2.0 Change Date of 2028-06-12. See LICENSE and
docs/LICENSING.md.
Roadmap
Miton is in active pre-release (Phase 1.7 in progress as of 2026-06-19). The chat, the model layer, the four-lens surface system, sub-agents in git worktrees, skills, the free multi-provider gateway, and the local-first guarantees are all wired and shipping in the current pre-release build. Provider & Models panel, the rich model dashboard, and paid-plan referral are the last blockers before a v0.x → v1.0 cut.
The full live status — Shipped / In flight / Planned — is on the
public roadmap. Engineering detail is in
docs/active_context.md and
docs/implementation_tracker.md.
Recent shipped phases:
- Phase 0 — Tauri 2 + React 19 monorepo foundation
- Phase 0.5 — Repositioning + chat-first onboarding
- Phase 1 — Agent core + tool system
- Phase 2 — Routing + token optimisation
- Phase 2.5 — Canvas + starter library + suggestion strip
- Phase 3 — Provider expansion + MCP
- Phase 4 — Skills + sub-agents
- Phase 5 — Project intelligence (knowledge index, milestones, drift)
- Phase 1.5 — Session recovery + stall detection
- Phase 1.6 — Onboarding v2 (Welcome frame, Import Hub, BYOK + Free Gateway entry, Provider Intelligence, contextual tour)
- Phase 9.6 — Repo hardening + agent operating contract
Contributing
# Read the project instructions first
cat MITON.md
# Check what's being worked on
cat docs/active_context.md
# Pick a task from the tracker
cat docs/implementation_tracker.md
AU English spelling. TypeScript strict mode. No any. Co-located tests. Run
pnpm lint && pnpm typecheck after every change.
See CONTRIBUTING.md for the full guide, and docs/marketing/voice.md for the public-facing brand voice.