Living architecture control plane for the AI-dev era. Derive real architecture from code, keep living docs + ADRs, enforce intent in CI, and steer AI agents to conform. Local-first, MIT.
claude mcp add archsteer -- uvx archsteer{
"mcpServers": {
"archsteer": {
"command": "uvx",
"args": ["archsteer"]
}
}
}Resumen de MCP Servers
<!-- mcp-name: io.github.einvoice-dev1/archsteer -->
# ArchSteer
[](https://www.archsteer.com)
[](https://pypi.org/project/archsteer/)
[](LICENSE)
**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
```bash
pip install archsteer # regex engine + the local MCP server, zero native deps
pip install "archsteer[treesitter]" # optional native acceleration
```
(Since 0.4.1 the MCP server ships in the base install; `pip install "archsteer[mcp]"` still
works as a no-op alias.)
**Languages:** JavaScript / TypeScript, Python, **Java** (Spring-aware), and
**Salesforce Apex** (SOQL/DML + trigger/handler/selector conventions). Layer
detection uses in-source signals first — Spring stereotype annotations, Apex
class-name conventions — then directory names.
## Quickstart
```bash
archsteer init # scaffold .archsteer/ + a starter rule pack auto-matched to your stack
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: new structural decisions + widespread rule violations
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 install-hooks # wire `check` into a local git pre-push hook
archsteer report # self-contained .archsteer/report.html
```
`init` auto-detects your stack and seeds a matching baseline rule pack — edit
`.archsteer/architecture.yaml` to fit your conventions, or pick one explicitly:
| Pack | Detected by | Baseline rules |
|---|---|---|
| `java-spring` | pom.xml / build.gradle | persistence only in repositories; controllers never touch repositories; no hardcoded secrets; outbound calls confined to services |
| `salesforce` | sfdx-project.json / force-app | SOQL only in selectors; logic-less triggers; no DML in controllers; no hardcoded secrets; callouts confined to services |
| `python-service` | pyproject.toml / requirements.txt | persistence behind repositories; thin API handlers; no hardcoded secrets; outbound calls confined to services |
| `express-to-next` | package.json | repository pattern; Express → Next.js migration; no hardcoded secrets; outbound calls confined to services |
Every starter pack ships a **security baseline** — no hardcoded credentials/API
keys/tokens anywhere in source, and all outbound third-party calls confined to
the service layer — so day-one governance covers architecture *and* the two
security smells AI agents introduce most often.
```bash
archsteer init --pack salesforce # override the auto-detection
```
## 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.** Two narrow sources, both opt-in review —
never auto-committed. Across time: external-boundary changes (new dependency, new
datastore, new layer) — never internal reshuffles. Within a snapshot: a rule violated
in 3+ components — a genuine pattern worth ratifying or relaxing, not a one-off left to
`check`/`govern`. Drafts are idempotent; re-running never duplicates one already on disk.
3. **Sharp agent steering.** Guardrails injected into `CLAUDE.md`, `AGENTS.md`, and
`.cursor/rules/archsteer.mdc` (an always-on Cursor rule) 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`
```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`, `forbidden_security_finding` (hardcoded secrets), and
`required_layer_for_external_call` (confine outbound HTTP/SDK calls to a layer).
## Using with AI agents (MCP)
`archsteer mcp` runs a local MCP server over stdio — spawned by your own editor/agent,
never hosted by us. It reads only what `init`/`map`/`govern` already wrote to `.archsteer/`
on disk, so there's no network call and nothing leaves your machine. It exposes three tools:
- `current_architecture` — component/layer counts, conformance/drift, the declared target.
- `get_target_pattern` — the invariants that apply to a file, *before* you write to it.
- `check_file` — whether a file you just edited conforms, without waiting for CI.
Add it to Claude Code:
```bash
claude mcp add archsteer -- archsteer mcp
```
Add it to Cursor with one click:
[**Install in Cursor →**](cursor://anysphere.cursor-deeplink/mcp/install?name=archsteer&config=eyJjb21tYW5kIjoiYXJjaHN0ZWVyIiwiYXJncyI6WyJtY3AiXX0%3D)
Or to any MCP-compatible client's config:
```json
{ "mcpServers": { "archsteer": { "command": "archsteer", "args": ["mcp"] } } }
```
Also published to the [official MCP registry](https://registry.modelcontextprotocol.io) as
`io.github.einvoice-dev1/archsteer` (runnable via `uvx archsteer mcp`).
## CI / pre-commit / pre-push
- GitHub Action: `.github/workflows/archsteer.yml` (maps, drafts ADRs, runs the net-new gate,
uploads `report.html`).
- Local pre-push hook: `archsteer install-hooks` wires `archsteer check` into
`.git/hooks/pre-push` — an architecture conformance score printed on every push,
blocking only NET-NEW error violations (the same ratchet as CI, just earlier feedback).
`archsteer map`/`check` cache per-file parse results in `.archsteer/parse_cache.json`,
so a push that only touches a handful of files re-parses just those files, not the
whole repo. Uninstall with `archsteer install-hooks --uninstall`.
- Already using husky, pre-commit, or lefthook? Add `archsteer check` as a step instead
of the raw git hook, e.g. a `.husky/pre-push` containing `archsteer check`.
## Conformance badge
If your repo pushes snapshots to the situation room (`archsteer push`), its latest
conformance score is a live badge — the one at the top of this README is this repo
governing itself:
```markdown
[](https://www.archsteer.com)
```
Replace `YOUR-REPO` with the repo name `archsteer push` reports. Green at ≥90%, grey while
you're still x-ray-only (no `architecture.yaml` declared yet).
## Try the demo
```bash
cd examples/demo-repo
archsteer init && archsteer map && archsteer report # open .archsteer/report.html
```
## Roadmap
- **Shipped** — cloud control plane (Next.js + Supabase): multi-repo situation room with
drift/decision time-series. `archsteer mcp`: a local MCP server so agents query the live
model + intent mid-edit. An org-wide, hosted MCP server (Team tier) so agents can ask
cross-repo questions against the situation room — "what's our drift index," "which repos
have pending ADRs" — the same data as the dashboard, over MCP.
- **Later** — auth, org/repo model, billing.
## Development
```bash
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q
```
Lo que la gente pregunta sobre archsteer
¿Qué es einvoice-dev1/archsteer?
+
einvoice-dev1/archsteer es mcp servers para el ecosistema de Claude AI. Living architecture control plane for the AI-dev era. Derive real architecture from code, keep living docs + ADRs, enforce intent in CI, and steer AI agents to conform. Local-first, MIT. Tiene 4 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala archsteer?
+
Puedes instalar archsteer clonando el repositorio (https://github.com/einvoice-dev1/archsteer) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar einvoice-dev1/archsteer?
+
einvoice-dev1/archsteer aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.
¿Quién mantiene einvoice-dev1/archsteer?
+
einvoice-dev1/archsteer es mantenido por einvoice-dev1. La última actividad registrada en GitHub es de today, con 0 issues abiertos.
¿Hay alternativas a archsteer?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega archsteer en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/einvoice-dev1-archsteer)<a href="https://claudewave.com/repo/einvoice-dev1-archsteer"><img src="https://claudewave.com/api/badge/einvoice-dev1-archsteer" alt="Featured on ClaudeWave: einvoice-dev1/archsteer" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!