Skip to content

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:

  1. The agent commits code to an isolated worktree branch (symphony/<identifier>)
  2. The orchestrator auto-creates a PR from the worktree diff
  3. A judge agent reviews the PR and approves or rejects it
  4. 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

yaml
# .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 test

Symphony branches follow the pattern symphony/*, so you can add branch filters if needed:

yaml
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 succeeds

Agents 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:

  1. Agent creates PR
  2. CI runs automatically
  3. Judge reviews the PR (including CI status)
  4. 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.