duyanta123/arch-doc
Analyze a codebase and generate architecture documentation (module responsibilities, dependencies, entry points, run methods).
Bundle 已验证
MIT
JavaScript
未知
Bundle 已验证
已收录
0
Docs
Bundle 已验证
★ 0
在 GitHub 查看
预览
功能介绍
分析代码库并生成架构文档:模块职责、依赖关系、入口点与运行方式。
适合
- 需要系统梳理陌生代码库模块、依赖、入口点和运行方式的团队。
- 同时需要人类可读 Markdown 架构文档和机器可读 JSON 的工作流。
不适合
- 需要深入覆盖主技术栈之外内容的仓库;混合技术栈的入口识别以主语言构建文件为准。
- 无法接受限制扫描深度或较长输出的大型仓库。
- 没有 Node.js 但要求完整质量自动探查的环境;Shell 降级方案的结论质量较低。
README
arch-doc
DSH 技能插件:输入代码库路径,自动生成架构文档(模块职责、依赖关系、入口点、运行方式)。
能力
- 项目类型 / 语言 / 构建系统识别
- 模块划分与职责总结
- 内部 / 外部依赖提取与 Mermaid 依赖图
- 入口点(CLI / Web / Worker / Scheduler / Library)识别
- 运行方式(安装 / 开发 / 构建 / 测试 / 运行 / 部署)提取
- 输出 Markdown + JSON
目录结构
arch-doc/
├── package.json # npm 包 + dsh.bundle.patch
├── cordis.patch.yml # DSH bundle patch
├── plugin/index.js # ESM 入口,注册 skills/ 为技能根
├── skills/arch-doc/SKILL.md # 技能 frontmatter + 阶段执行 runbook
├── docs/ # 输出模板 + 扫描规则
├── scripts/arch-profile.mjs # 零依赖 Node 脚本:probe/scan/deps/entry
├── examples/ # 输入/输出示例
└── test/ # node --test 测试 + fixtures
使用
- 安装:
dsh plugin --profile web add github:duyanta123/arch-doc#v0.1.1 - 使用:对 Agent 说「用 arch-doc 分析 /path/to/repo」
- 本地开发:profile 的 package.json 加
"arch-doc": "file:<本地路径>/arch-doc",bundles 加"arch-doc"
输出
-
docs/ARCHITECTURE.md:结构化架构文档(按docs/architecture-template.md骨架) -
docs/architecture.json:机器可读的结构化结果 -
docs/diagrams/module-dependencies.mmd:Mermaid 模块依赖图
环境要求
- Node.js >= 18(运行
scripts/arch-profile.mjs;无 Node 时 runbook 自动降级为 shell 手工探测)
脚本
node scripts/arch-profile.mjs <repo_path> --probe
node scripts/arch-profile.mjs <repo_path> --scan --max-depth 3
node scripts/arch-profile.mjs <repo_path> --deps
node scripts/arch-profile.mjs <repo_path> --entry
node scripts/arch-profile.mjs <repo_path> --all
测试
npm test
node --check scripts/arch-profile.mjs
排障
-
生成的
ARCHITECTURE.md里 Mermaid 图不渲染:file://协议下浏览器直接打开时,CDN 加载的 mermaid.js 受同源策略限制无法自动渲染;用 Typora 等本地渲染编辑器打开,或把diagrams/module-dependencies.mmd内容粘到 mermaid.live 查看。.mmd源文件语法本身独立有效。 -
大仓库扫描太慢 / 输出太长:
--max-depth 3起步,必要时降到 2;确认exclude_dirs覆盖了node_modules、.venv、构建产物等大目录。 -
无 Node 环境时:runbook 自动降级为 shell 手工探测(
find/ls/ 读package.json/go.mod/pyproject.toml),结论质量略降但流程完整。 -
识别不到入口点:先跑
--probe确认项目类型识别正确;混合技术栈仓库以主语言构建文件为准(如 Go+Node 混合,以go.mod优先)。
License
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:duyanta123/arch-doc。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。