Skip to main content

Living Architecture Control Plane for the AI-Dev Era

Project description

ArchSteer

Living Architecture Control Plane for the AI-Dev Era.

AI agents now write code faster than any architect can review, document, or govern it. Docs rot instantly, the real architecture is invisible, structural decisions get made silently, and intended architecture drifts with every edit. ArchSteer is the always-current architecture system of record + governance plane: it derives the real architecture from code, keeps living docs and ADRs auto-built, surfaces every major decision for the architect to ratify, enforces declared intent as code-level fitness functions, and steers AI agents to conform instead of replicating local slop.

Everything is a projection of one code-derived model — .archsteer/model.json.

                    .archsteer/model.json  (single source of truth)
                                 │
   MAP ──── DOCUMENT ──── GOVERN ──── STEER ──── EVOLVE
  model    living docs   fitness     agent     report.html
  from     + auto ADRs   functions   guardrails  (drift/
  source   + diagrams    + ratchet   + (MCP)     decisions)

Install

pip install archsteer                 # regex engine, zero native deps
pip install "archsteer[treesitter]"   # optional native acceleration

Quickstart

archsteer init      # scaffold .archsteer/ + seed intent (Express → Next.js + repository)
archsteer map       # build model.json from source
archsteer docs      # regenerate .archsteer/architecture.md (deterministic, Mermaid)
archsteer govern    # conformance + drift score by rule
archsteer adr       # draft ADRs for new structural decisions (architect-in-the-loop)
archsteer baseline  # accept current debt — the ratchet
archsteer steer -f src/controllers/payment.js -t "add refund endpoint"
archsteer check     # CI/pre-commit: fail on NET-NEW violations only
archsteer report    # self-contained .archsteer/report.html

The three design guarantees

  1. Ratchet, not freeze. archsteer check blocks only net-new violations against a baseline — teams keep shipping features while debt can only shrink.
  2. Conservative, architect-in-the-loop ADRs. Only external-boundary changes (new dependency, new datastore, new layer) draft an ADR — never internal reshuffles, never auto-committed.
  3. Sharp agent steering. Guardrails injected into CLAUDE.md / AGENTS.md are scoped to the files in play and point at the governing ADR — they don't dump the whole model into the context window.

Declaring intent — .archsteer/architecture.yaml

target: "Migrate Express + raw SQL to Next.js route handlers + the repository pattern"
layers: [route, controller, service, repository, model]
rules:
  - id: no-raw-sql-outside-repository
    type: required_layer_for_data_access
    allowed_layers: [repository]
    operations: [RAW]
    severity: error
    adr: .archsteer/adr/0001-repository-pattern.md
    steer: "Wrap all queries in a repository under src/repositories/. No raw SQL elsewhere."

Rule types: required_layer_for_data_access, forbidden_import, forbidden_data_access, forbidden_layer_edge.

CI / pre-commit

  • GitHub Action: .github/workflows/archsteer.yml (maps, drafts ADRs, runs the net-new gate, uploads report.html).
  • Git hook: cp hooks/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit.

Try the demo

cd examples/demo-repo
archsteer init && archsteer map && archsteer report   # open .archsteer/report.html

Roadmap

  • Phase 2 — cloud control plane (Next.js + Supabase): multi-repo situation room with drift/decision time-series.
  • Phase 3archsteer mcp: an MCP server so agents query the live model + intent mid-edit.
  • Phase 4 — auth, org/repo model, billing.

Development

python3.11 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archsteer-0.2.0.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

archsteer-0.2.0-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file archsteer-0.2.0.tar.gz.

File metadata

  • Download URL: archsteer-0.2.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for archsteer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c7d036e0bb754b20411f7553f5a4e639fb37d5f5630bfe32ba39bcbd54ce1afe
MD5 b698b7c960bda1f006bc1cf48d69ce03
BLAKE2b-256 1538627dbc9d67eb3f8c013533b1d16680e0220ac161cfe4adf08393674f7827

See more details on using hashes here.

File details

Details for the file archsteer-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: archsteer-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for archsteer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a02f4cd163cdc3cbde83e77c4b109129c3857201ff437f34c738a5fbe0fab3a
MD5 32b12b62bbfe864e674b583b2c9ec97e
BLAKE2b-256 ebe5bd6eb7ee39417ab9ccae8fe09bd118bdeca88363e7d9ce7a6c297c63a7f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page