
Archsteer
io.github.einvoice-dev1由 GitHub 账号 einvoice-dev1 发布v0.10.0更新于 Oct 24, 2026
Architecture governance for AI agents: query the live model, get target patterns, check files.
发布方自己的服务:Invoicehub
概览
让助手查询由代码推导出的架构模型、获取适用于某个文件的规则,并检查刚编辑的文件是否符合规范。
- 可以做什么
- ArchSteer 通过 stdio 运行本地 MCP 服务器,读取其 init、map 和 govern 命令写入 .archsteer 目录的产物。它提供三个工具:current_architecture 返回组件与分层数量、符合度与漂移情况以及声明的目标;get_target_pattern 返回写入文件前适用的约束;check_file 用于在无需等待 CI 的情况下检查刚编辑的文件是否符合规范。底层模型由源代码推导,并保存为单个 JSON 文件。
- 适用场景
- 适用于助手在已声明架构规则的代码仓库中修改代码的场景,使其在写入前了解适用约束,并在写入后验证符合度。最适合已经运行 ArchSteer 映射与治理流程的团队,或希望助手遵循目标模式而非局部惯例的团队。
- 运行要求
- 需要本地 Python 运行环境;该包通过 uvx 运行(或使用 PATH 中已有的 archsteer)。仓库需先执行初始化与映射,使 .archsteer 目录存在。未声明需要账户、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Archsteer,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
ArchSteer
[ArchSteer conformance] [PyPI] [License: MIT]
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.
Local by default: the X-ray and governance workflow runs locally and never uploads or
executes your repository's source code. It needs no account, API key, or configuration
before the first scan; cloud snapshot publishing is a separate, explicit push command.
Install
As a Claude Code plugin (recommended if you use Claude Code):
This installs the bundled MCP server (current_architecture, get_target_pattern,
check_file — via uvx, no separate pip install needed) plus a skill that teaches
the agent when to x-ray, check, and steer on its own, and /xray / /check commands.
See .claude-plugin/plugin.json for the manifest.
As a CLI (works with any editor/agent, or standalone):
(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 (Next.js App Router-aware, including
tsconfig.json path-alias resolution — @/lib/x resolves to a real internal
edge, not a phantom third-party dependency), 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, Next.js reserved filenames (page.tsx →
page, layout.tsx → layout, route.ts → api, regardless of directory)
— then directory names.
Quickstart
For the fastest proof, run this in a repository and open the generated
.archsteer/report.html:
Then add the controls you need:
init auto-detects your stack and seeds a matching baseline rule pack — edit
.archsteer/architecture.yaml to fit your conventions, or pick one explicitly:
A repo with next as a dependency and an app/ directory gets the App Router
pack; a package.json with express (even one migrating to Next) gets the
migration pack instead — those are different problems with different rules.
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.
The three design guarantees
- Ratchet, not freeze.
archsteer checkblocks only net-new violations against a baseline — teams keep shipping features while debt can only shrink. - 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. - 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
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.
Using the Claude Code plugin above? This is already wired up — skip to Quickstart. The rest of this section is for every other client.
Add it to Cursor with one click: Install in Cursor →
Add it to Claude Code by hand (instead of the plugin), or any other MCP-compatible client:
Or in JSON config directly:
(Already have archsteer on PATH via pip/pipx? {"command": "archsteer", "args": ["mcp"]}
works identically — uvx just means no install step at all.)
Also published to the official MCP registry as
io.github.einvoice-dev1/archsteer.
CI / pre-commit / pre-push
- GitHub Action:
.github/workflows/archsteer.yml(maps, drafts ADRs, runs the net-new gate, uploadsreport.html). - Local pre-push hook:
archsteer install-hookswiresarchsteer checkinto.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/checkcache 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 witharchsteer install-hooks --uninstall. - Already using husky, pre-commit, or lefthook? Add
archsteer checkas a step instead of the raw git hook, e.g. a.husky/pre-pushcontainingarchsteer 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:
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
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. A Claude Code plugin (skill + commands + the MCP server, one install). A dedicated Next.js App Router pack (layers frompage.tsx/layout.tsx/route.ts,tsconfig.jsonpath-alias resolution, Supabase/Prisma-aware data-access detection).archsteer install-hooks: the same net-new conformance ratchet as CI, wired into a local git pre-push hook. - Later — a VS Code extension (inline diagnostics, status-bar score — the CLI/MCP already work in any editor today), auth, org/repo model, billing.
Development
Found a surprising edge, a false positive, or a stack ArchSteer should understand better? Open an issue with the language, framework, and smallest reproducible example. Builder feedback directly shapes the detectors and starter rule packs.
来源:README.md,提交 3cf6267
工具
0版本历史
1- v0.10.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分