Skip to content

excalibur-sa/modules_analyzer_skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

modules_analyzer Skill

简介

modules_analyzer 是一个用于软件模块架构分析的 skill,可以自动分析代码库的模块结构、依赖关系、接口设计和系统架构,并生成包含 Mermaid 可视化图表的完整 Markdown 报告。

功能特性

  • 多语言支持:支持 C/C++、Python、JavaScript/TypeScript、Java、Go 等多种编程语言
  • 智能模块识别:自动识别项目中的模块,基于文档和代码结构
  • 完整的依赖分析:分析模块间的调用关系,识别调用者和被调用者
  • 详细的接口文档:提取公共接口,生成包含参数、返回值、错误处理的详细文档
  • 可视化图表:使用 Mermaid 生成架构图、依赖图、时序图、控制流图、数据流图
  • 架构评估:识别架构问题,提供改进建议
  • 灵活的分析范围:支持整个工程分析或特定模块分析

使用场景

当您需要完成以下任务时,此 skill 会自动触发:

  • 分析项目的模块结构
  • 理解代码库的架构
  • 评估模块设计
  • 生成架构文档
  • 检查依赖关系
  • 分析特定模块
  • 生成架构图、时序图、控制流图、数据流图
  • 任何涉及软件架构、模块划分、接口分析的任务

使用示例

示例 1:分析整个工程

"分析当前项目的模块结构,生成完整的架构文档"

示例 2:分析特定模块

"分析 calculator 模块的设计,包括它的内部结构、接口文档、依赖关系和调用时序"

示例 3:理解架构

"帮我理解这个代码库的架构,生成系统架构图和依赖关系图"

输出格式

Skill 会生成一个完整的 Markdown 文档,包含:

  1. 项目概览:项目简介、技术栈、分析范围
  2. 模块清单:所有模块的表格化列表
  3. 系统架构:架构概览、架构图(Mermaid)、架构评估
  4. 模块详细分析
    • 模块概览
    • 内部结构和子模块
    • 依赖关系(调用者和被调用者)
    • 模块在架构中的位置图
    • 详细接口文档(功能、参数、返回值、错误处理)
    • 调用时序图(Mermaid)
    • 控制流图(Mermaid)
    • 数据流图(Mermaid)
    • 设计评估(优点、问题、建议)
  5. 依赖关系分析:依赖关系图、依赖分析、架构评估
  6. 发现的问题和改进建议:架构层面、模块层面、接口层面的问题和建议
  7. 总结:整体评价和建议

文件结构

modules_analyzer/
├── SKILL.md              # Skill 的主文件,包含所有指令
├── README.md             # 本文件
└── evals/
    └── evals.json        # 测试用例

设计原则

  1. 全局扫描,聚焦输出:即使分析单个模块,也扫描整个工程以获取完整的调用上下文
  2. 文档优先:优先读取项目文档,然后进行代码扫描验证
  3. 智能过滤:自动排除编译产物目录
  4. 多维度分析:从系统、模块、接口三个层级进行分析
  5. 可视化优先:使用 Mermaid 生成清晰的图表
  6. 实用导向:不仅发现问题,还提供改进建议
  7. 准确性和完整性:确保接口文档的准确性

示例输出

查看当前目录下的 模块架构分析报告.md 文件,这是一个完整的分析报告示例,展示了 skill 对 Calculator 项目的分析结果。

关于 Mermaid 图表

生成的报告包含使用 Mermaid 语法的图表。如果您在 VSCode 中只看到代码而不是图表,请查看 MERMAID_SETUP.md 文件获取详细设置指南。

快速解决方案

  1. 在 VSCode 中安装扩展 "Markdown Preview Mermaid Support" (bierner.markdown-mermaid)
  2. 安装后,使用 Ctrl+Shift+V (Windows/Linux) 或 Cmd+Shift+V (Mac) 预览 Markdown 文件
  3. Mermaid 图表应该会自动渲染

或者访问 Mermaid Live Editor 在线查看图表。

测试用例

Skill 包含 3 个测试用例:

  1. 整个工程分析:分析当前项目的模块结构,生成完整的架构文档
  2. 单个模块分析:分析 calculator 模块的设计
  3. 架构理解:生成系统架构图和依赖关系图

测试用例保存在 evals/evals.json 中。

技术细节

支持的语言

  • C/C++:基于头文件(.h/.hpp)和实现文件(.c/.cpp)
  • Python:基于 __init__.py 和模块文件
  • JavaScript/TypeScript:基于 ES modules 和 CommonJS
  • Java:基于包声明和 public class/interface
  • Go:基于 go.mod 和目录结构

自动排除的目录

  • build/, dist/, out/, target/
  • node_modules/, .venv/, venv/, __pycache__/
  • .git/, .idea/, .vscode/
  • 以及其他明显的编译产物

贡献

如果您有任何改进建议或发现了 bug,欢迎提出!

许可证

MIT License

About

软件模块架构分析工具 - 用于分析代码库的模块结构、依赖关系、接口设计和系统架构

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors