Documentation Index
Fetch the complete documentation index at: https://docs.yourhq.ai/llms.txt
Use this file to discover all available pages before exploring further.
Development
Setting up a local development environment for HQ.Prerequisites
- Docker + Docker Compose
- Node.js 24 (UI)
- Git
- A Supabase project for testing (a free one is fine)
brew install node@24 docker (or install Docker Desktop).
On Ubuntu: curl -fsSL https://get.docker.com | sudo sh and install Node from nodesource.
Clone and setup
.env:
SUPABASE_URL— optional override for gateway services. Leave empty to use browser onboarding.SUPABASE_SERVICE_ROLE_KEY— optional override for gateway services. Leave empty to use browser onboarding.WORKSPACE_SLUG— any slug, e.g.devGATEWAY_AUTH_TOKEN— generate withopenssl rand -hex 32
- Open Supabase Studio → SQL Editor
- Run every file in
db/migrations/in filename order - Confirm the schema now has the core tables plus
agent_usage,agent_budgets, andagents.reports_to_id
Run the stack in dev mode
Live-reload overlay mounts source directories so changes pick up without rebuilding:- UI at
http://localhost:3000 - Gateway’s noVNC at
http://localhost:6901/vnc.html - Logs stream to stdout
apps/ui/ reload automatically. Changes to gateway/entrypoint.sh or the daemons require a restart:
Working on just the UI
If you only touch UI code and don’t need a gateway, run Next.js directly:apps/ui/.env.local:
HQ_CONFIG_DIR to a local directory containing compatible projects.json and secrets.json files. Pages that depend on a gateway will error if no gateway is running — expected.
Working on just the gateway
docker compose exec.
Project structure
Common tasks
Rebuild the UI image after a dependency change
Reset the gateway state
COMPOSE_PROJECT=yourhq-test) in .env so you don’t destroy your real data.
Add a dependency to the UI
package.json and package-lock.json. CI will use the lock.
Run linting / type-checking
Run shellcheck
Tests
Today there’s no automated test suite — CI runs typecheck + lint + shellcheck only. Contributions of test infrastructure welcome. For manual testing, see Troubleshooting for known failure modes to verify against.Publishing images
CI publishesghcr.io/yourhq/yourhq-{ui,gateway,dispatcher,runner}:latest on every push to main, and versioned tags on v* git tags.
To cut a release:
docker-publish.yml workflow’s type=semver rule publishes :0.x.y tags automatically.
Getting help
- Questions: GitHub Discussions
- Bugs: GitHub Issues
- Security: see SECURITY.md