DocsGuidesCi integration

CI/CD Integration

Quell's ci command is designed for automated pipelines. This guide covers the recommended patterns for different CI systems.

Core concept

The recommended PR workflow is:

  1. Run quell ci on your source directory
  2. Fail the build if coverage is below your threshold
  3. Optionally run quell check --fix to auto-generate tests for gaps

No mutation testing tool required. Quell reads your specs directly.

GitHub Actions

See the dedicated GitHub Actions guide for a complete workflow YAML.

GitLab CI

# .gitlab-ci.yml
quell:
  stage: test
  image: python:3.11
  script:
    - pip install quelltest
    - pip install -e ".[dev]"
    - quell ci src/ --threshold 0.75
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"

CircleCI

# .circleci/config.yml
jobs:
  quell:
    docker:
      - image: cimg/python:3.11
    steps:
      - checkout
      - run:
          name: Install deps
          command: pip install quelltest && pip install -e ".[dev]"
      - run:
          name: Quell CI
          command: quell ci src/ --threshold 0.75

Recommended thresholds

Project stageRecommended threshold
New project (no history)0.0 (no gate yet)
Established project0.7 (70%)
Critical path / payment code0.85 (85%)
Strict / security-sensitive0.9 (90%)

Start low and ratchet up as your team builds the habit.

Performance

quell ci uses an AST-based coverage checker — no test execution required for the scan phase. Even large codebases complete in seconds.

Exit codes

Your CI pipeline should treat Quell's exit code as the gate:

quell ci src/ --threshold 0.8
echo "Exit code: $?"
# 0 = passed, 1 = below threshold