Architecture Intelligence · for the AI-development era

Your agents ship faster than you can govern.

ArchSteer is the always-current system of record for how your software evolves. It derives your real architecture from code, auto-builds living docs and ADRs, tracks your drift, and steers AI agents to conform — instead of replicating legacy slop.

See your architecture. Govern your agents. Capture every decision.

$ archsteer xray            # zero-config, no rules required
 X-ray of billing-api: 142 components, 5 layers.
  3 architectural change(s) since the last snapshot.
  → .archsteer/architecture.md and report.html

$ archsteer evolution
Architecture Evolution — 3 change(s) this week.
   Conformance 64% → 71% (+7 pts)
  ✗ New dependency: stripe
  • +4 components (142 total)
0config to first insight
1model, every artifact derives from it
agent edits, continuously governed

Documentation is no longer paperwork. It's agent infrastructure.

When AI agents write most of the code, four failures compound — fast:

📉 Docs rot instantly

ADRs and system maps are stale the moment a feature ships. Nobody trusts the wiki.

🌫️ The real architecture is invisible

You can't read every PR. Nobody — least of all the architect — knows the current shape of the system.

🤫 Decisions are made silently

An agent adds a datastore, an external call, a new boundary. A genuine decision — recorded nowhere.

🌀 Drift is unbounded

With no continuous conformance, every edit quietly erodes intent. Migrations never converge.

One idea: invert authorship

Today humans author docs, diagrams, and ADRs — so they rot the instant an agent ships code. ArchSteer makes the system author them continuously and the architect curate. The architect's job shifts from writing the map to ratifying what the map already shows.

Reality plane · descriptive · zero setup

See what your architecture is

Point ArchSteer at any repo. Get the current map, a component catalog, an evolution feed, and auto-drafted ADRs of what structurally changed — with no rules to declare.

  • Universal: every enterprise wants to see its own system
  • The free wedge — instant “I didn't know we had that”
Intent plane · prescriptive · opt-in

Declare what you want

Govern one invariant you care about today — not the whole system. ArchSteer enforces it in CI, tracks drift, and steers agents toward it.

  • Incremental: govern a single rule, not boil the ocean
  • The expansion — conformance, steering, the exec drift dashboard

Declared → distributed → actual

Most governance tools stop at the first step — a policy gets written and nobody checks whether it reached the agent, or whether the code still honors it a week later. ArchSteer closes the loop.

architecture.yaml① Declared

The invariant you wrote, once — not re-explained in every PR review.

CLAUDE.md / .cursor/rules② Distributed

archsteer steer injects it into every agent's context directly — not filed in a wiki nobody opens.

conformance score③ Actual

Computed from real code, every run. If an agent ignored the rule, the score says so — not a guess.

Five pillars. One model.

Everything is a pure projection of one code-derived model.json — which is what keeps a broad product coherent.

archsteer map① Map

Derive the real architecture from source — components, layers, dependencies, data access, external calls.

archsteer docs② Document

Living docs + Mermaid C4/dependency diagrams, regenerated deterministically. Never authored by hand.

archsteer govern③ Govern

Fitness functions with a net-new ratchet: block regressions, never freeze features for existing debt.

archsteer steer④ Steer

Sharp, file-scoped guardrails injected into CLAUDE.md / AGENTS.md so agents conform to the target.

archsteer adr⑤ Decide

Boundary-altering changes and widespread rule violations both surface as prefilled draft ADRs for ratification. No change without a record.

archsteer evolution+ Evolve

A git-log for your architecture and a Drift Index leadership can watch trend over time.

Roadmap

Now shipped
Local engine + X-ray.Code-derived model, living docs & diagrams, draft ADRs, conformance ratchet, agent steering, evolution feed & Drift Index, a built-in security baseline (hardcoded secrets, external-call layering). Language-agnostic: TS/JS, Python, Java Spring, Salesforce Apex, and a dedicated Next.js App Router pack (layers from page.tsx/layout.tsx/route.ts, tsconfig.json path-alias resolution, Supabase/Prisma-aware).
Now shipped
CI/CD, everywhere it happens. A GitHub Action for the net-new gate in CI, and archsteer install-hooks to wire the same conformance ratchet into a local git pre-push hook — a score on every push, not just in CI minutes later.
Now shipped
Cloud control plane. Multi-repo situation room: org-wide drift trends, pending decisions, conformance by repo. See it live →
Now shipped
ArchSteer MCP server (local). Agents query the live model and intent mid-edit, free with the CLI — no cloud, no account (get_target_pattern, check_file, current_architecture).
Now shipped
Claude Code plugin. The MCP server, a skill that knows when to x-ray/check/steer on its own, and /xray + /check commands — one install, no separate pip install. /plugin marketplace add einvoice-dev1/archsteer
Now shipped
Org-wide MCP server. Cross-repo queries against the situation room — the same data as the dashboard, over MCP. Team tier. See how to connect →
Later
VS Code extension (inline diagnostics, status-bar conformance score — the CLI and MCP server already work in any editor today), then Enterprise: SSO/RBAC, ADR approval workflows, Slack/Jira/PR integrations, policy-as-code, SOC 2.

Get started in 30 seconds

Two different places to type things — pick the one you're in.

💬 Claude Code chat — not your terminal
# type these in the chat, not a shell:
/plugin marketplace add einvoice-dev1/archsteer
/plugin install archsteer@archsteer

# then just ask, in plain English:
"x-ray this repo's architecture"
# or use the shortcut:
/xray
# any editor / standalone, in your terminal:
$ pipx install archsteer   # Python 3.10+
$ cd your-repo
$ archsteer xray          # map + docs + evolution, no config
# then, when ready to govern:
$ archsteer init && archsteer steer && archsteer check