Rook is a local-first personal-agent runtime built around ACP (Agent Client Protocol). The repo contains the server, native clients, and supporting docs. Session discovery is REST-backed, and live session interaction uses one ACP WebSocket per active session.
- server/ — Fastify API organized by domain (
infrastructure,sessions,runtime,environments,location), with per-domain layering only where needed - clients/cli — minimal ACP-first command-line client
- clients/mac — native macOS menu bar client
- clients/iphone — native iPhone client
- clients/android — native Android client
- clients/cli — minimal ACP-first command-line client
- clients/RookKit — shared Swift package for the native clients
- skills/ — repo-local Pi skills that Rook injects into Pi sessions (currently includes
create-skills) - dev-tools/ — repo-local Pi development/debug extensions (currently includes provider-payload trace logging to
.var/pi-traces.jsonl)
./scripts/run-rook.sh server./scripts/run-rook.sh mac./scripts/run-rook.sh iphone./scripts/run-rook.sh android./scripts/run-rook.sh stop./scripts/print-environments.sh— dump active/recent environment diagnostics from the server./scripts/tail-pi-traces.sh— inspect provider-payload traces in.var/pi-traces.jsonl(follows by default; use--oncefor one-shot output)./scripts/run-tests.sh— run the known server, Swift package, iPhone, and macOS test/build checks
- setup,
.env, binding, and remote-access notes: docs/setup.md - agent-profile config: docs/configuration.md
- as-built architecture index: AS-BUILT-ARCHITECTURE/
- server package details: server/README.md
- iPhone client details: clients/iphone/README.md
- macOS client details: clients/mac/README.md
- Android client details: clients/android/README.md