用途:从代码库中提取导入与依赖关系,自动生成三类图表——架构图(模块/目录级依赖)、流程图(文件级导入调用链)、组织结构图(目录/文件层级),帮助理解不熟悉的项目结构、代码评审、技术文档写作与重构前分析。
主要能力:支持 Python、JavaScript、TypeScript、Go、Java;输出 Mermaid 文本(.mmd)或 SVG(需系统安装 mmdc);可输出 JSON 分析结果。Python 文件用 ast 模块解析 import 语句,JS/TS、Go、Java 用正则匹配导入语句,并将导入路径映射到项目内实际文件。扫描时会跳过 node_modules、.git、pycache 等目录。
使用方式: 基本分析整个项目:python3 scripts/analyze_codebase.py /path/to/project 指定类型:--type architecture|flowchart|org(默认 all) 指定输出目录:--output /tmp/diagrams 指定格式:--format mermaid|svg|both 输出 JSON:--json 其他参数:--max-files 限制扫描文件数(默认 500),--max-depth 限制组织结构图深度(默认 4)。
适用场景:快速了解陌生项目模块结构、可视化依赖、制作架构图、检测循环依赖或过度耦合、重构前分析。
依赖与限制:需 Python 3.7+(仅标准库);SVG 输出需额外安装 @mermaid-js/mermaid-cli。仅分析静态导入关系,不追踪动态导入;大型项目建议用 --max-files 限制范围;节点过多时 Mermaid 渲染可能困难,建议按 --type 分别生成。