Configuration¶
Running synthesize init creates synth.yaml in your project root. Every section is optional — defaults are sensible.
Full Reference¶
project_name: my-project
version: 1.0.0
timeout: 30s
# Which models handle which tasks
models:
interpret: claude-sonnet-4-6 # Parsing .synth intent
generate: claude-sonnet-4-6 # Test code generation
quick_fix: claude-haiku-4-5-20251001 # Fast, cheap healing fixes
chat: claude-sonnet-4-6 # Interactive chat sessions
# Target environment for generated tests
environment:
type: web # web | api | database | cli
base_url: https://example.com
browser: chromium # chromium | firefox | webkit
headless: true
variables:
USERNAME: testuser
PASSWORD: testpass
# Output settings
output:
directory: output
generate_meta: true # Metadata alongside generated tests
generate_review: true # Auto-review reports
# Authentication
auth:
offline_mode: false # true = skip all account checks (BYO API key)
# Local analytics database
database:
enabled: true # SQLite store for trends/flaky/analytics commands
# Docker execution
docker:
enabled: false
timeout: 300
# Quality review defaults
review:
strictness: standard # relaxed | standard | strict | paranoid
auto_fix: false
Key Sections Explained¶
models¶
Synthesize routes different tasks to different models. The defaults balance quality and cost: a stronger model for interpretation and generation, a fast model for quick healing fixes. Override any of them if you have preferences or cost constraints.
environment¶
Tells the generator what it's targeting. type: web produces browser tests; api produces HTTP tests; database produces data-validation tests. variables are injected into generated tests — pair with ${VAR} placeholders in your .synth files.
Per-environment overrides (dev/staging/prod) work through data profiles with the -e flag.
auth.offline_mode¶
Set true to run entirely against your own ANTHROPIC_API_KEY with no Synthesize account. All local features work; account-backed features (collaboration, Studio sync) are unavailable.
database¶
The local SQLite store powers trends, flaky, analytics, and coverage history. Disable it if you want zero local state.
review.strictness¶
How picky the quality gate is when reviewing generated tests:
- relaxed — structural validity only
- standard — structure + common anti-patterns (default)
- strict — adds assertion quality and locator robustness checks
- paranoid — everything, fail on any warning
Environment Variables¶
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY |
LLM access for generation (required unless logged in to an account with usage) |
Credentials from synthesize auth login are stored in ~/.synth/credentials.json. Plugins and other per-user state live under ~/.synth/.