CI Integration
Symphony can work alongside your existing CI/CD pipeline. This guide covers how to integrate Symphony's agent workflow with continuous integration systems.
How Symphony Interacts with CI
Symphony agents create branches and pull requests as part of their workflow. When a worker agent completes implementation:
- The agent commits code to an isolated worktree branch (
symphony/<identifier>) - The orchestrator auto-creates a PR from the worktree diff
- A judge agent reviews the PR and approves or rejects it
- On approval, the PR is ready for human merge
Your CI pipeline triggers on the PR just like any developer-created PR.
GitHub Actions Integration
If your project uses GitHub Actions, Symphony PRs will automatically trigger your CI workflows. No special configuration is needed — Symphony creates standard git branches and PRs.
Example: Running Tests on Symphony PRs
# .github/workflows/ci.yml
name: CI
on:
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npm testSymphony branches follow the pattern symphony/*, so you can add branch filters if needed:
on:
pull_request:
branches: [main]
# Optionally filter to only Symphony branches:
# paths-ignore:
# - 'docs/**'Configuring Agents for CI
You can instruct agents to run CI-related commands before completing their work. Add this to your project's custom instructions:
Before completing work:
1. Run `npm test` and ensure all tests pass
2. Run `npm run lint` and fix any issues
3. Run `npm run build` to verify the build succeedsAgents will follow these instructions and report test results in their findings.
Status Checks and Branch Protection
If you have branch protection rules on main, Symphony PRs must pass all required status checks before they can be merged. This works naturally with the Symphony workflow:
- Agent creates PR
- CI runs automatically
- Judge reviews the PR (including CI status)
- Human merges when everything passes
Coverage Tracking
Symphony agents can record test coverage via the record_coverage MCP tool. Coverage data is stored per-issue and visible in the web UI, giving you visibility into how agent-written code affects your test coverage.