install-rho
Skill372 starsChanged 8 months agoMITView on GitHub
Install and configure Rho from scratch (Doom-style init.toml + sync). Only prereq: a coding agent that can run shell commands.
- Installs packages
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- auto-memorySkill
- code-assistSkill
- codebase-summarySkill
- code-task-generatorSkill
- create-sopSkill
- evalSkill
- memory-consolidateSkill
- pdd-buildSkill
- pddSkill
- release-changelogSkill
- rho-cloud-emailSkill
- rho-cloud-onboardSkill
- session-searchSkill
- small-improvementSkill
- update-piSkill
- vault-cleanSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 77
If Node.js version is < 18, use NodeSource or nvm.
- Distinctive: line 114
Check/install remaining dependencies
- Very specific: line 117
Run rho init (generates ~/.rho/init.toml, ~/.rho/packages.toml, and brain.jsonl defaults)
- Very specific: line 118
Run rho sync (writes pi's settings.json from your config)
- Very specific: line 122
If the user requested a non-default interval, edit ~/.rho/init.toml:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Install Rho
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:
- System deps (Node.js 18+, npm, tmux, git)
- pi coding agent (the runtime rho extends)
- rho (the agent framework)
- Config files in
~/.rho/(init.toml, packages.toml, brain.jsonl)
Time: ~5 minutes on a decent connection.
Parameters
- agent_name (optional, default:
rho): Name written into~/.rho/init.toml. - heartbeat_interval (optional, default:
30m): How often the agent checks in. Written to[settings.heartbeat].interval.
Steps
1. Detect environment
Print OS, shell, and dependency versions. This determines the install path.
Constraints:
- You MUST print OS + shell + node version (if present).
- You MUST NOT assume Termux unless
$TERMUX_VERSIONis 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"2. Install system dependencies
Constraints:
- You MUST ensure: Node.js >= 18, npm, tmux, git.
- You MUST detect the platform and use the correct package manager.
- You MUST NOT blindly run
sudo apt install— detect the package manager first.
Android / Termux
pkg update -y
pkg install -y nodejs-lts tmux gitmacOS
brew install node tmux gitLinux
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.
3. Install pi coding agent
pi is the runtime that rho extends. Install it globally.
Constraints:
- You MUST install pi globally if
command -v pifails. - You MUST verify the install succeeded.
command -v pi >/dev/null || npm install -g @mariozechner/pi-coding-agent
pi --version4. Install rho
Clone the repo and run the installer. The installer handles config bootstrapping, CLI setup, and brain initialization.
Constraints:
- You MUST clone to
~/.rho/project(the default path). - You MUST NOT clone if the repo already exists (pull instead).
- You MUST run
install.shfrom 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.shThe installer will:
- Detect your platform
- Check/install remaining dependencies
- Install Node deps for the project
- Set up the
rhoCLI on your PATH - Run
rho init(generates~/.rho/init.toml,~/.rho/packages.toml, and brain.jsonl defaults) - Run
rho sync(writes pi'ssettings.jsonfrom your config)
5. Configure heartbeat interval (optional)
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 sync6. Verify installation
Constraints:
- You MUST run
rho doctorand report any failures. - You MUST NOT declare success if doctor reports errors.
rho doctor7. Authenticate
Constraints:
- You MUST tell the user to run
rho loginto set up their LLM provider. - You MUST NOT run
rho loginautomatically (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.
8. Start rho (optional)
Constraints:
- You MUST ask before starting background processes.
rhoThis starts the daemon if needed and attaches to the tmux session.
9. Post-install orientation
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:
/brainorbrain 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 modules
Inside a session:
/rho status— Heartbeat state/rho now— Trigger check-in/rho interval 30m— Set check-in interval
tmux essentials (if unfamiliar):
- Detach:
Ctrl-b d - List sessions:
tmux -L rho ls - Attach:
tmux -L rho attach -t rho
Troubleshooting
| 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 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

