
[](LICENSE)
[](https://crates.io/crates/muthr)
[](https://github.com/tappunk/muthr/releases)
[](https://x.com/tappunk)
**muthr** is a zero-trust orchestrator that automates **llama.cpp** and **Lima** to run local AI agents. It controls inference via a host-based llama-server and spawns isolated Lima VMs for agent execution. Agents get full read-write access to your project workspace, but zero access to the host OS or SSH keys.
## Architecture
1. `llama-server` on macOS, accelerated via Metal
2. `limactl` VMs provisioned per-project
3. `opencode` inside guest VMs, connecting over `host.lima.internal`
## Prerequisites
macOS (Apple Silicon, ≥48GB RAM for 35B models), [Lima](https://github.com/lima-vm/lima), [llama.cpp](https://github.com/ggml-org/llama.cpp)
> [!NOTE]
> The ≥48GB RAM requirement applies to 35B models. Smaller models run on machines with less memory.
## Usage
```bash
muthr init # Clone configs from tappunk/muthr-configs
muthr download <source> # Fetch GGUF model from HuggingFace
muthr serve # Start llama-server as a background daemon
muthr serve --foreground # Run in foreground
muthr status # Check engine status and active profile
muthr stop # Stop the engine
muthr up # Provision a Debian 13 VM for the current project
muthr ls # List all active sandboxes
muthr down # Stop the current sandbox
muthr services start # Launch MCP services VM
muthr services status
muthr services stop
```
## Configuration
Config in `~/.config/muthr/`:
- `llama/presets/*.ini` — context sizes, threading, model paths
- `lima/templates/*.yaml` — VM architecture, memory, container configs
- `lima/provision/*.sh` — boot scripts for OpenCode CLI and dependencies
Runtime state (PID files, logs, generated JSON) in `~/.cache/muthr/`.
## Installation
muthr is available on [Homebrew](https://brew.sh/) and [crates.io](https://crates.io/crates/muthr).
### Homebrew
```bash
brew install tappunk/muthr/muthr
```
### Cargo
```bash
cargo install muthr
```