Your linter checks syntax.
Who checks architecture?
ESLint, Biome, Ruff, and pyright are essential — but they only see one file at a time. Archgate adds the governance layer that enforces cross-file conventions, architectural boundaries, and team decisions.
Three layers, one goal
Linters enforce code style. Type checkers enforce correctness. Archgate enforces architecture. They're complementary — use all three.
Linters
ESLint, Biome, oxlint, Ruff, golangci-lint — catch syntax errors, enforce code style, flag unused variables. Per-file, per-language, deterministic. Essential, but scoped to what a single file can tell you.
Type & Compile Checkers
pyright, tsc, cargo check, go vet — validate type correctness and catch compile-time errors. Language-specific, deeply integrated with the compiler. Irreplaceable for type safety.
Archgate
Architecture governance that works above linting. Enforces cross-file conventions, architectural boundaries, and team decisions — then teaches AI agents to follow them from the start.
What each tool actually checks
Linters and type checkers handle the bottom of the stack. Archgate handles the top — where architecture, conventions, and AI alignment live.
| Capability | Linters ESLint · Biome · oxlint · Ruff | Type Checkers pyright · tsc · cargo check | Archgate Architecture governance |
|---|---|---|---|
| Code style & formatting | | | Delegates to existing tools |
| Unused variables & imports | | Partial support | Delegates to existing tools |
| Type safety | | | Delegates to existing tools |
| File & folder structure | | | |
| Architecture boundaries | | | |
| Cross-file conventions | | | |
| Naming conventions (semantic) | Partial support | | |
| AI agent alignment | | | |
| Self-improving rules | | | |
| Decision documentation | | | |
| Language-agnostic | | | |
Why agents burn tokens without governance
Without structured architecture rules, AI agents spend most of their context window discovering your conventions through trial and error. Archgate gives them the answer upfront.
Agent without Archgate
Agent with Archgate
Agents skip the discovery phase — no grep, no find, no guessing at conventions from file examples.
Rules are explicit, not inferred. Agents produce conforming code on the first try instead of iterating.
Every agent — Claude, Cursor, Copilot — reads the same ADRs and follows the same rules.
Agents skip the discovery phase when ADRs provide structured rules upfront
Read ADRs, write code, run check — no grepping, no guessing, no iterating
Archgate works across your entire stack — not one config per language
Add the missing layer to your stack
Keep your linters. Keep your type checkers. Add Archgate for the architecture governance they can't provide.