Setup
Last updated: 2026-01-01TL;DR
- Tailoring lives outside the repo:
~/croc(workspace) +~/.crocbot/crocbot.json(config). - Stable workflow: run
crocbot onboard --install-daemonand let the service manage the Gateway. - Bleeding edge workflow: run the Gateway via
pnpm gateway:watch, then use the Control UI or TUI.
Prereqs (from source)
- Node
>=22 pnpm- Docker (optional; only for containerized setup/e2e — see Docker)
Tailoring strategy (so updates don’t hurt)
If you want “100% tailored to me” and easy updates, keep your customization in:- Config:
~/.crocbot/crocbot.json(JSON/JSON5-ish) - Workspace:
~/croc(skills, prompts, memories; make it a private git repo)
pnpm crocbot setup.
Stable workflow (CLI + service)
- Install crocbot (npm/pnpm or from source).
- Run onboarding and install the user service:
- Link surfaces (example: Telegram):
- Sanity check:
Bleeding edge workflow (Gateway in a terminal)
Goal: work on the TypeScript Gateway, get hot reload, keep the UI attached.1) Start the dev Gateway
gateway:watch runs the gateway in watch mode and reloads on TypeScript changes.
2) Open a UI
- Control UI: http://127.0.0.1:18789/
- TUI:
crocbot tui
Common footguns
- Wrong port: Gateway WS defaults to
ws://127.0.0.1:18789; keep UI + CLI on the same port. - Where state lives:
- Credentials:
~/.crocbot/credentials/ - Sessions:
~/.crocbot/agents/<agentId>/sessions/ - Logs:
/tmp/crocbot/
- Credentials:
Credential storage map
Use this when debugging auth or deciding what to back up:- Telegram bot token: config/env or
channels.telegram.tokenFile - Model auth profiles:
~/.crocbot/agents/<agentId>/agent/auth-profiles.json - Legacy OAuth import:
~/.crocbot/credentials/oauth.json
Updating (without wrecking your setup)
- Keep
~/crocand~/.crocbot/as “your stuff”; don’t put personal prompts/config into thecrocbotrepo. - Updating source:
git pull+pnpm install(when lockfile changed) + keep usingpnpm gateway:watch.
Linux (systemd user service)
Linux installs use a systemd user service. By default, systemd stops user services on logout/idle, which kills the Gateway. Onboarding attempts to enable lingering for you (may prompt for sudo). If it’s still off, run:Related docs
- Gateway runbook (flags, supervision, ports)
- Gateway configuration (config schema + examples)
- Telegram (reply tags + replyToMode settings)
- crocbot assistant setup
