Make sure you've completed the prerequisites for your platform first: macOS or Linux.
Clone and bootstrap
git clone https://github.com/fronalabs/frona.git
cd frona
mise trust
mise installmise install automatically installs the full toolchain: Rust 1.89, Node 22, rust-analyzer, and cargo-watch. Everything is defined in mise.toml. No manual Rust or Node setup needed.
Repository layout
The repo is a Cargo workspace with the frontend alongside:
| Path | Contents |
|---|---|
crates/frona-server/ | Backend server (binary frona) |
crates/frona-cli-mcp/ | The mcpctl CLI used inside MCP sandboxes |
crates/frona-api-types/ | Shared API contract types |
crates/frona-derive/ | Procedural macros |
web/ | Next.js frontend |
resources/ | Prompt templates, policy schema, channel manifests, agent definitions |
data/ | Local runtime state (DB, config, workspaces); gitignored |
Run the dev environment
mise run docker:devThis starts everything in Docker with hot-reload: Frona backend, frontend, Browserless, and SearXNG. No additional setup required.
Once running, open http://localhost:3000 to access the Frona UI. On first launch, the setup wizard walks you through configuring API keys, model groups, and optional integrations, all from the browser. Settings are saved to data/config.yaml.
You can also configure environment variables via mise.local.toml instead. See the Using mise guide for details and more commands.