Quickstart
Mutator Docs
From signup to your first auto-validated, staging-deployed fix in under 10 minutes.
1. Install the CLI
pip install eas-mutator
mutator auth login <your-api-key>
2. Configure a run
# .mutator.yaml
name: api-service
repo: github.com/your-org/api-service
target_paths:
- src/
generators:
- rules # deterministic rule-based fixes
- search # search-based refactors
- llm # LLM-assisted rewrites
validation:
test_command: "npm test"
coverage_delta_min: 0.0 # never lower coverage
block_on_regression: true
type_check: true
deploy:
staging_first: true
staging_soak_minutes: 60
drift_tolerance: "2pct" # behavior drift vs baseline
rollout: [0.01, 0.10, 0.50, 1.00]
auto_revert_on: ["error_rate", "health_check"]
require_approval: true # you own the prod-deploy decision
3. Run it
mutator run start .mutator.yaml
mutator run status # poll candidates surviving each gate
mutator promote <candidate-id> --to=staging
Core concepts
- Generators — tiers of candidate-change producers (rule-based, search-based, LLM-assisted). Candidates compete; only those that pass your gates advance.
- Quality gates — your test suite plus coverage-delta, regression, and type-safety checks. A candidate that overfits the tests instead of genuinely fixing the issue is rejected.
- Concurrency lock — prevents concurrent edits from racing each other into a deploy.
- Closed-loop drift — staging behavior is continuously compared to the expected baseline. Drift beyond your tolerance quarantines the change.
- Gradual rollout — promoted changes ramp from 1% of traffic upward, advancing only after passing each tier's health and error-rate check, with auto-revert on breach.