AppsAgent
Development
Set up the Agent locally for development.
The agent runs inside Docker with Claude Code CLI and the Basecamp CLI pre-installed.
The Docker infrastructure is documented in Docker Development. This page covers the application workflow.
Start the dev container
pnpm agent:devThis uses services/docker/docker-compose.yml to build and run the agent with:
- Hot reload (source mounted from
apps/agent/src) - Hookdeck sidecar for webhook tunneling
- Persistent volume at
.volumes/root-devfor credentials
Authenticate
After the container is running, authenticate in separate terminals:
# OAuth flow — opens browser
pnpm agent:claude-login# Device code flow — follow the printed URL
pnpm agent:basecamp-loginCredentials persist in .volumes/root-dev/ across restarts.
Alternatively, set ANTHROPIC_API_KEY in .env to skip Claude OAuth.
Test a webhook
curl -X POST http://localhost:3000/webhooks \
-H 'Content-Type: application/json' \
-d '{"kind":"comment_created","creator":{"name":"Test"},"recording":{"title":"Test"}}'Hookdeck (webhook tunneling)
The docker-compose setup includes a Hookdeck sidecar that tunnels Basecamp webhooks to http://sherpa:3000/webhooks. Set HOOKDECK_API_KEY in .env to enable it.