Debugging
Configure VSCode for local Crow CI development and debugging.
VSCode Configuration
Section titled “VSCode Configuration”The repository includes .vscode/launch.json with a complete “Crow CI” configuration for running all components locally.
Prerequisites
Section titled “Prerequisites”Create a .env file in the repository root:
export CROW_OPEN=trueexport CROW_ADMIN=<your-forge-username>export CROW_HOST=http://localhost:8000
# Forge configuration (Forgejo example)export CROW_FORGEJO=trueexport CROW_FORGEJO_URL=https://codeberg.orgexport CROW_FORGEJO_CLIENT=<oauth-client-id>export CROW_FORGEJO_SECRET=<oauth-client-secret>
# Agent configurationexport CROW_SERVER=localhost:9000export CROW_AGENT_SECRET=<agent-secret>export CROW_MAX_WORKFLOWS=1
# UI development (enables hot-reload)export CROW_DEV_WWW_PROXY=http://localhost:8010
# Disable health-checks while debuggingexport CROW_HEALTHCHECK=false
export CROW_LOG_LEVEL=debugStarting Development
Section titled “Starting Development”- Open the repository in VSCode
- Select “Run and Debug” (Ctrl+Shift+D)
- Choose “Crow CI” configuration
- Press F5 to start
- Open
http://localhost:8000
Important Notes
Section titled “Important Notes”Database
Section titled “Database”Crow uses SQLite for local development, stored at ./crow.sqlite (gitignored). All changes (repos, secrets, etc.) persist in this file.
OAuth Application
Section titled “OAuth Application”Create a dedicated OAuth application on your forge for local development. Using the same OAuth app across multiple instances causes token conflicts.
Webhooks
Section titled “Webhooks”For testing webhooks locally, you have two options:
- Use
event: manual(recommended) - Trigger pipelines from the Crow UI without external webhooks - Expose locally - Set
CROW_EXPERT_WEBHOOK_HOSTto a publicly accessible URL pointing to your local server
Hot Reload
Section titled “Hot Reload”- UI changes: Automatically reload via Vite dev server
- Backend changes: Restart the debug session (refresh button in VSCode debug toolbar)
Testing Changes
Section titled “Testing Changes”Make a simple change (e.g., edit text in web/src/assets/locales/en.json) and verify it appears after refresh.