# hack-house — Claude operating guide Encrypted collaborative terminal sessions with a summoned, shareable sandbox. **Rust TUI client** (`hh/`) + **Python server & operator bridge** (`cmd_chat/`). A Claude Code session can join a room as a **first-class member**: read/answer humans and other AIs, and — once granted — drive the shared sandbox with full shell + keystroke control. VMs carry a self-describing `.hh-agent` manifest so work + memory hand off between agents (and humans), and saved VM states are tradeable via a host-global registry. ## Operating a room — use the `hh-operator` skill To enter/run/watch a room, bridge a Claude session into one, or autonomously monitor and respond, **use the `hh-operator` skill** (`~/.claude/skills/hh-operator/`). It documents the full doctrine: the daemon + `hh-bridge` CLI, the read→think→act loop, sandbox drive (exec/write/get), the keystroke relay + stop-vocabulary, the `watch` stop-condition engine, and the `.hh-agent` manifest for handoffs. ```bash # Run from this repo root; pin the interpreter to the venv. HH=".venv/bin/python -m cmd_chat.operator" # = the hh-bridge CLI $HH up --password --no-tls # join (spawns the daemon) $HH read --wait --timeout 30 # long-poll for activity $HH say "…" # chat into the room $HH keys "make build" enter ; $HH watch --for 'PASS|FAIL' --in screen # drive $HH manifest push --root /root --name --purpose … --objective … # handoff $HH spawn "" --room-host … --go --skip-permissions ``` ## Key components | What | Where | |------|-------| | Operator bridge (daemon + CLI) | `cmd_chat/operator/__main__.py`, `bridge.py` | | Agent manifest (`hh-agent/v1`) | `cmd_chat/operator/manifest.py` — `.hh-agent/` bundle library + CLI | | Recursive spawn (Claude-spawns-Claude) | `cmd_chat/operator/bootstrap.py` (budgeted: `--depth`/`--fanout`) | | Saved-VM registry / discovery | `hh/src/registry.rs` → `~/.hh/registry.json`; reader: `$HH registry list\|show` | | Sandbox grammar (TUI) | `/sbx podman\|launch`, `/grant `, `/sbx save`, `/sbx browse`, `/sbx publish`, `/sbx catalog @user`, `/sbx pull @user