con un clic
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.
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.
| 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 |