Linter Pre-Pass
Atlas Review can run a deterministic linter pre-pass before the main review. This helps Atlas catch tool-detectable issues early and use them as grounded review context instead of asking the model to rediscover obvious lint or static-analysis failures.
Where To Configure It
Section titled “Where To Configure It”Open:
- Atlas Settings
- Review
- Policy File
The linter controls live inside the same project policy editor as review defaults and path rules.
What The Linter Pre-Pass Does
Section titled “What The Linter Pre-Pass Does”When enabled, Atlas checks the review scope with supported analyzers before the main review continues.
That gives Atlas three advantages:
- deterministic findings for issues the tool can already prove
- stronger grounding for the review prompt
- less wasted review effort on obvious lint or static-analysis problems
Atlas still runs the main review after the linter pre-pass. The linter pass improves the review; it does not replace it.
Supported Tools
Section titled “Supported Tools”Atlas currently supports these linter and static-analysis adapters:
- ESLint
- TypeScript
- .NET
- .NET conventions
- Semgrep
Which tools actually run depends on the current project and machine.
How Atlas Decides What Can Run
Section titled “How Atlas Decides What Can Run”Inside the policy editor, Atlas shows status for each tool.
Found in project: the project has the config and runtime needed for Atlas to run that tool hereNot found in project, use Atlas fallback: the project tool is missing, but Atlas can use a managed fallback when allowedFound in project, but Atlas cannot run it on this machine: the project is configured, but the local binary or runtime is missingNot found in project and no Atlas fallback available yet: Atlas cannot use that tool for this project right now
Two details matter here:
- starter defaults stay repo-stable, so the starter policy depends on repo signals rather than one specific machine
- runtime readiness is machine-local, so Atlas also shows whether this machine can execute the tool now
Global And Per-Tool Controls
Section titled “Global And Per-Tool Controls”Atlas gives you:
- one global toggle for the entire linter pre-pass
- one toggle per tool
Use the global toggle when you want to disable linter pre-pass entirely for a project.
Use the per-tool toggles when you want Atlas to keep some tools on and others off, for example:
- keep ESLint and TypeScript on
- turn off Semgrep for a lower-noise repo
- turn off
.NET conventionswhile keeping.NETenabled
Policy Fields
Section titled “Policy Fields”The linter settings live under linters in .atlas/review-policy.json.
{ "linters": { "enabled": true, "mode": "fallback_if_missing", "eslint": { "enabled": true }, "tsc": { "enabled": true }, "dotnet": { "enabled": true }, "dotnetFormat": { "enabled": true }, "semgrep": { "enabled": true, "allowAtlasManagedFallback": true } }}linters.enabled
Section titled “linters.enabled”Turns the project linter pre-pass on or off.
linters.mode
Section titled “linters.mode”Supported values:
project_onlyfallback_if_missing
Use project_only when you want Atlas to run only the tools that are configured inside the repo.
Use fallback_if_missing when you want Atlas to use a managed fallback where that is supported and the project tool is missing.
Today, this is most relevant for Semgrep.
Per-tool entries
Section titled “Per-tool entries”Each tool can have its own entry, such as:
eslinttscdotnetdotnetFormatsemgrep
Each entry can set:
enabledallowAtlasManagedFallback
allowAtlasManagedFallback only matters for tools where Atlas can provide a managed fallback.
Recommended Defaults
Section titled “Recommended Defaults”For most teams:
- leave the global linter pre-pass enabled
- keep repo-local tools like ESLint or TypeScript enabled when the project already uses them
- use
fallback_if_missingonly where a managed fallback is actually useful - disable a tool only when it is consistently noisy or not relevant to the repo
What Happens During Review
Section titled “What Happens During Review”The linter pre-pass is designed to improve review quality without making review brittle.
- Atlas runs supported tools against the current review scope
- deterministic findings are merged into review context
- linter failures do not block the review from continuing
That means the main review can still finish even if a tool is unavailable, misconfigured, or times out.
What This Is Not
Section titled “What This Is Not”The linter pre-pass is not a full replacement for CI or your own local verification workflow.
It is best used as:
- a grounding layer for Atlas Review
- a way to reduce obvious tool-detectable misses
- a project-level review enhancement that travels with the repo policy