Zero Config
The CLI can infer most of what it needs so you can start with the
deterministic review → gate loop before writing a
config file.
Zero-config shines in established test repos
The supported review workflow is intended for a Playwright or Cypress repo with a recognizable tests root and a normal git remote.
Let the CLI discover the shape of the repo
npx impact-gate review --path . --since origin/main
npx impact-gate gate --path . --since origin/main --threshold 80
Zero-config provides candidate advice. A maintained manifest can improve the associations, but neither establishes measured coverage or release safety. Keep the required regression suite.
What Gets Auto-Detected
Test Framework
The CLI reads your project files and package.json dependencies to detect:
- Playwright if
@playwright/testorplaywrightis present - Cypress if
cypressis present - pytest if
conftest.py,pytest.ini, or pytest config inpyproject.toml/setup.cfgis present - supertest if
supertestis in your npm dependencies (runs via Vitest or Jest) - Selenium if
selenium-webdriverorwebdriveriois present
Tests Root
Directory discovery follows common conventions
The first matching directory below becomes --tests-root.
e2e-tests/playwright, e2e-tests, e2e, tests/e2e
test/e2e, tests, test, specs, playwright, cypress
Diff base is discovered from the remote
The CLI queries git remote show origin for the default HEAD
branch. If that fails, it uses origin/main or
origin/master when on that branch, otherwise
origin/main. An explicit --since wins over
config git.since; detection still runs when a config file
exists but does not specify a base.
Project Root
Walks up from the current directory until it finds package.json or .git.
When You Need a Config File
Reach for config once heuristics are no longer enough
- Set a profile such as
strictfor tighter gating - Configure dependency graph depth or traceability behavior
- Enable the pipeline for test generation
- Define policy enforcement such as advisory, warn, or block
- Point to a separate server path for backend analysis
- Override framework or tests-root detection when the repo is unusual
Create impact-gate.config.json in your project root when you need to:
If auto-detection gets it wrong, prefer explicit flags or a config file over guessing.
The CLI searches for impact-gate.config.json or .impact-gate.config.json starting from the current directory and walking upward.
With git.includeUncommitted enabled, new application files are included in the
diff. Untracked .e2e-ai-agents/ artifacts and conventional Impact Gate config
files are omitted so repeated local runs do not analyze their own outputs.
Staged, committed, or modified tracked config and manifest files remain in the
diff and can require conservative assessment.
The Mattermost advisory pilot requires explicit configuration and --suite. plan --advisory uses configured suite roots and static spec patterns, validates them against a clean committed checkout and retains full fallback for nonempty diffs. A policy setting named advisory alone does not activate this isolated mode.
Bootstrap: Alternative Setup with a Knowledge Graph
Bootstrap route families from existing project knowledge
If you already have an Understand-Anything knowledge graph, bootstrap can generate the manifest automatically instead of training from scratch.
Generate the manifest directly
npx impact-gate bootstrap --path .
npx impact-gate bootstrap --dry-run --max-families 30
If your project already has an Understand-Anything knowledge graph, the bootstrap command can generate your route-families manifest automatically instead of running train:
npx impact-gate bootstrap --path .Bootstrap reads the knowledge graph, classifies your project (frontend, backend, or fullstack), and produces .e2e-ai-agents/route-families.json with prioritized families derived from the graph’s nodes and edges. It also auto-detects your test framework and test mode (ui, api, or both).
Use --dry-run to preview the manifest before writing, or --max-families 30 to limit the output. See the CLI reference for all flags.
Explicit Flags Always Win
CLI flags override both config and heuristics
When the repo needs a one-off override, use flags directly. They win over auto-detected values and the config file.
Any CLI flag overrides both auto-detected values and config file settings:
npx impact-gate impact \ --path ./webapp \ --tests-root ./e2e-tests/playwright \ --framework playwright \ --since origin/release-9.0