HumanLayer runs coding agents (Claude Code, Codex, OpenCode, Pi) on your machines and lets your team steer them from one place: tasks, sessions, plans, and reviews, synced between a desktop app, a web app, and a daemon on each host.
This repo holds all of it. It's a Turborepo monorepo that uses Bun.
apps/riptide-ui: the app, as a web app and inside the desktop shellsapps/riptide-electron,apps/riptide-native: the macOS desktop apps (Electron, Tauri)apps/riptide-daemon: the daemon that runs agent sessions on a hostapps/cli: thehumanlayerCLI, which also ships the daemonapps/riptide-api: the oRPC + Hono APIapps/riptide-electric-proxy: the auth proxy in front ofElectric , which syncs Postgres to clientsapps/riptide-cloud: the admin web app (organizations, invites, settings, install page)apps/riptide-migrator,apps/updater-server,apps/stale-daemon-sweeper,apps/database-maintenance-function: AWS Lambda jobsapps/riptide-claude-code-plugin,apps/riptide-opencode-plugin,apps/riptide-pi-extension: plugins that mirror Claude Code, OpenCode, and Pi sessions into HumanLayerapps/riptide-humanlayer-claude-plugin: the built-in HumanLayer skillsapps/riptide-rpi-claude-plugin,apps/linear-cli: the Research-Plan-Implement skills and the Linear CLIapps/docs: the user docsapps/devstack: runs a full local stack per worktreepackages/: shared libraries (db,schemas,ui,sync,ai,billing, ...)contracts/: the oRPC and Effect RPC contracts between the apps
You need Bun and Docker. Building apps/riptide-native also needs Rust.
bun install
cp .env.example .env
bun --bun run typecheck
bun run test
bun --bun run devstack help explains how to run the whole stack locally. CONTRIBUTING.md lists every check a pull request must pass.
A build from source sends nothing to us: Sentry, PostHog, and the WorkOS client ID come from env, and stay off when unset. .env.example lists them.
HumanLayer Cloud runs this code. Guides for running it yourself are in progress.
Apache License 2.0. A few vendored folders keep their MIT licenses; NOTICE lists them.