원클릭으로
install-rho
// Install and configure Rho from scratch (Doom-style init.toml + sync). Only prereq: a coding agent that can run shell commands.
// Install and configure Rho from scratch (Doom-style init.toml + sync). Only prereq: a coding agent that can run shell commands.
| name | install-rho |
| description | Install and configure Rho from scratch (Doom-style init.toml + sync). Only prereq: a coding agent that can run shell commands. |
Rho is a persistent AI agent framework. It runs in tmux, checks in on a heartbeat, accumulates memory in a single brain.jsonl file, and manages a knowledge vault. This skill installs it from scratch.
Prerequisites: A coding agent that can run shell commands. That's it.
What gets installed:
~/.rho/ (init.toml, packages.toml, brain.jsonl)Time: ~5 minutes on a decent connection.
rho): Name written into ~/.rho/init.toml.30m): How often the agent checks in. Written to [settings.heartbeat].interval.Print OS, shell, and dependency versions. This determines the install path.
Constraints:
$TERMUX_VERSION is set.uname -a
printf "SHELL=%s\n" "$SHELL"
command -v node >/dev/null && node -v || echo "node: missing"
command -v npm >/dev/null && npm -v || echo "npm: missing"
command -v tmux >/dev/null && tmux -V || echo "tmux: missing"
command -v git >/dev/null && git --version || echo "git: missing"
command -v pi >/dev/null && pi --version || echo "pi: missing"
command -v rho >/dev/null && rho --version || echo "rho: missing"
Constraints:
sudo apt install — detect the package manager first.pkg update -y
pkg install -y nodejs-lts tmux git
brew install node tmux git
Detect the package manager:
| Distro | Command |
|---|---|
| NixOS | Add to environment.systemPackages or nix-shell -p nodejs tmux git |
| Debian/Ubuntu | sudo apt update && sudo apt install -y nodejs npm tmux git |
| Arch | sudo pacman -S nodejs npm tmux git |
| Fedora | sudo dnf install nodejs npm tmux git |
If Node.js version is < 18, use NodeSource or nvm.
pi is the runtime that rho extends. Install it globally.
Constraints:
command -v pi fails.command -v pi >/dev/null || npm install -g @mariozechner/pi-coding-agent
pi --version
Clone the repo and run the installer. The installer handles config bootstrapping, CLI setup, and brain initialization.
Constraints:
~/.rho/project (the default path).install.sh from within the repo directory.if [ -d ~/.rho/project/.git ]; then
echo "Rho repo exists, pulling latest..."
cd ~/.rho/project && git pull --ff-only
else
git clone https://github.com/mikeyobrien/rho.git ~/.rho/project
fi
cd ~/.rho/project && bash install.sh
The installer will:
rho CLI on your PATHrho init (generates ~/.rho/init.toml, ~/.rho/packages.toml, and brain.jsonl defaults)rho sync (writes pi's settings.json from your config)If the user requested a non-default interval, edit ~/.rho/init.toml:
# Find the [settings.heartbeat] section and set the interval
sed -i 's/interval = "30m"/interval = "'"${HEARTBEAT_INTERVAL}"'"/' ~/.rho/init.toml
rho sync
Constraints:
rho doctor and report any failures.rho doctor
Constraints:
rho login to set up their LLM provider.rho login automatically (it's interactive).Tell the user:
Run
rho loginto authenticate with your LLM provider (Anthropic, OpenAI, etc). This is interactive — you'll need to provide API keys or log in via browser.
Constraints:
rho
This starts the daemon if needed and attaches to the tmux session.
Share these essentials with the user:
Key files:
~/.rho/init.toml — Main config (Doom-style: modules, settings)~/.rho/packages.toml — Third-party pi packages~/.rho/brain/brain.jsonl — Single source of truth for all memory (behaviors, learnings, preferences, tasks, reminders)Memory system:
/brain or brain action=list — View memory statsbrain action=add type=learning text="..." — Add a learningbrain action=add type=preference text="..." category=Code — Add a preferencebrain action=add type=task description="..." priority=high — Add a taskbrain action=add type=reminder text="..." cadence={kind:"daily",at:"08:00"} — Add a remindermemory-consolidate — Run consolidation (decay stale entries, mine sessions since last consolidation)CLI basics:
rho — Start and attachrho status — Show daemon and module statusrho doctor — Health checkrho trigger — Force immediate heartbeatrho stop — Stop daemonrho upgrade — Update rho and sync new modulesInside a session:
/rho status — Heartbeat state/rho now — Trigger check-in/rho interval 30m — Set check-in intervaltmux essentials (if unfamiliar):
Ctrl-b dtmux -L rho lstmux -L rho attach -t rho| Problem | Fix |
|---|---|
rho sync says pi missing | npm install -g @mariozechner/pi-coding-agent |
rho doctor shows settings out of sync | rho sync |
rho not found after install | Add ~/.local/bin to PATH |
| tmux missing | Install with your platform's package manager |
| Node.js < 18 | Upgrade via nvm or NodeSource |
install.sh fails on NixOS | Dependencies must be in your nix config, not installed via apt |
Extract durable learnings and preferences from conversations for automatic memory capture.
Consolidate brain memory and mine user sessions since the last consolidation checkpoint (sleep-cycle style). Use to reduce noisy prompt injection while preserving durable high-value memories.
Keep CHANGELOG.md idiomatic (Keep a Changelog) and cut a tag-based GitHub release that triggers npm publish CI.
Implement coding tasks with an explore-plan-code workflow and explicit verification gates.
Generate structured .code-task.md files from rough descriptions or PDD plans.
Analyze a repository and generate comprehensive architecture and workflow documentation.