项目简介
RepoDocumenter 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为现有的代码系统自动生成文档。它通过预定义的 Prompt 和 Tool,能够遍历代码仓库,生成代码概要和 C4 架构图(使用 Mermaid.js)。生成的文档包括每个目录的 README.McpDoc.md 文件、C4 组件图,以及根目录的 C4 上下文图和容器图,从而提供从顶层到细节的代码文档导航。
主要功能点
- 自动化文档生成: 自动为代码仓库生成 README 文档和 C4 架构图,减少手动编写文档的工作量。
- C4 架构图支持: 生成符合 C4 模型的上下文图、容器图和组件图,多层次展示软件架构。
- Mermaid.js 集成: 使用 Mermaid.js 语法生成架构图,方便在 Markdown 环境中渲染和预览。
- 增量文档更新: 通过检查文件时间戳,仅在代码更新时重新生成文档,避免重复劳动。
- 易于集成: 作为 MCP 服务器,可以与支持 MCP 协议的 IDE 或工具(如 Cursor、Claude)集成使用。
安装步骤
- 克隆仓库
git clone https://github.com/jonverrier/RepoDocumenter.git cd RepoDocumenter - 安装依赖
确保已安装 Node.js 和 npm。
npm install - 构建项目
npm run build - 安装 Filesystem MCP Server RepoDocumenter 依赖 Filesystem MCP Server 来访问本地文件系统。请按照 Anthropic filesystem MCP server 的指引安装并配置 Filesystem MCP Server。
服务器配置
要将 RepoDocumenter 配置为 MCP 服务器,您需要在 MCP 客户端(如 Cursor 或 Claude)中添加服务器配置。以下是一个配置示例,请根据您的实际代码根目录和 RepoDocumenter 路径进行调整:
{ "mcpServers": { "mcp-documenter": { "command": "node", "args": ["YourCodeRoot/RepoDocumenter/dist/src/index.js"] // command: 启动服务器的命令,这里使用 node // args: 启动命令的参数,指向 RepoDocumenter 服务器的入口文件 index.js // 请将 "YourCodeRoot/RepoDocumenter" 替换为您的 RepoDocumenter 项目的实际根目录 }, "mcp-filesystem": { "command": "node", "args": ["YourCodeRoot/MCPFS/dist/index.js", "YourCodeRoot"] // command: 启动 Filesystem MCP Server 的命令,这里使用 node // args: 启动命令的参数,指向 Filesystem MCP Server 的入口文件 index.js 和代码根目录 // 请将 "YourCodeRoot/MCPFS" 替换为您的 Filesystem MCP Server 项目的实际根目录 // 请将 "YourCodeRoot" 替换为您的代码仓库的根目录,Filesystem MCP Server 将访问此目录 } } }
注意:
- 'YourCodeRoot/RepoDocumenter' 和 'YourCodeRoot/MCPFS' 需要替换为您实际的项目路径。
- 'YourCodeRoot' 需要替换为您想要生成文档的代码仓库的根目录。
- 请确保 Filesystem MCP Server 已正确安装和配置,并且路径正确。
基本使用方法
- 启动 MCP 服务器: 确保 RepoDocumenter 和 Filesystem MCP Server 都已成功启动。
- 在 MCP 客户端中使用 Prompt: 在支持 MCP 协议的 IDE 或工具中,可以使用 RepoDocumenter 提供的 Prompt 来生成文档。例如,使用 'generate_readme_files' Prompt 可以为代码仓库生成 README.McpDoc.md 文件。
- 查看和调整文档: 生成的文档(README.McpDoc.md 和 C4 图)将保存在代码仓库的相应目录中。您可以查看和手动调整生成的文档,以达到最佳效果。
具体 Prompt 的使用方法请参考 RepoDocumenter 仓库的 README.md 文件和 MCP 客户端的文档。
信息
分类
开发者工具