项目简介
LLM代码生成实验室 (Codegen Lab) 提供了一系列工具和工作流,旨在简化和增强AI辅助代码生成流程。它受到Harper Reed的LLM代码生成工作流的启发,并构建了一个MCP服务器,作为LLM客户端与代码库之间的桥梁,提供上下文信息和代码生成工具。
主要功能点
- 资源管理与访问: 通过MCP服务器托管和管理代码库资源,为LLM提供结构化的代码访问能力。
- 工具注册与执行: 允许注册和执行各种代码生成和分析工具,例如代码审查、测试生成、问题识别等,并通过MCP协议供LLM客户端调用。
- Prompt模板定制: 支持定义和渲染Prompt模板,用户可以根据项目需求定制LLM交互模式,优化代码生成效果。
- Cursor IDE集成: 提供了与Cursor代码编辑器集成的Cursor Agent规则,利用自定义规则文件增强Cursor的AI辅助能力。
- Taskfile工作流: 通过Taskfile自动化上下文收集和LLM交互流程,简化开发任务。
- UV Workspace: 利用UV工作区管理模块化代码包,组织和管理复杂的代码库。
安装步骤
-
安装依赖: 确保已安装以下工具:
-
克隆仓库:
git clone https://github.com/bossjones/codegen-lab.git cd codegen-lab -
安装Python依赖 (可选): 如果需要运行Python工具或MCP服务器,请安装Python环境和依赖:
uv venv # 创建虚拟环境 (推荐) uv pip install -e . uv pip install -e packages/cursor-rules-mcp-server # 安装MCP服务器包 -
安装Cursor Agent规则 (可选): 如果使用Cursor编辑器,可以将预定义的Cursor规则复制到Cursor规则目录:
mkdir -p ~/.cursor/rules cp hack/drafts/cursor_rules/*.mdc ~/.cursor/rules/
服务器配置
此仓库包含一个基于FastMCP实现的Python MCP服务器,位于 'packages/cursor-rules-mcp-server' 目录中。
MCP客户端配置示例 (JSON):
为了与此MCP服务器建立连接,MCP客户端需要配置服务器的启动命令。以下是一个可能的配置示例,用于连接到 'cursor_rules_mcp_server':
{ "servers": { "codegen-lab-server": { "type": "stdio", "command": "uv", // 或者使用 "python" 如果未安装uv "args": [ "run", "python", "-m", "cursor_rules_mcp_server.server" // MCP服务器启动命令 ], "serverRoot": "packages/cursor_rules_mcp_server" // MCP服务器代码根目录 (可选,如果客户端需要定位服务器代码) } }, "default_server": "codegen-lab-server" // 设置默认服务器 (可选) }
配置参数说明:
- 'server name': 服务器名称,例如 '"codegen-lab-server"',客户端用此名称引用服务器。
- 'type': 连接类型,这里使用 'stdio' (标准输入输出流)。
- 'command': 启动服务器的命令,例如 '"uv"' 或 '"python"' (根据你的环境选择)。
- 'args': 启动命令的参数列表,包括运行Python模块的参数。
- 'serverRoot': (可选) MCP服务器代码的根目录,客户端可能需要此信息来定位服务器端代码。
请注意,实际的客户端配置可能需要根据具体的MCP客户端软件进行调整。
基本使用方法
-
启动MCP服务器: 在 'packages/cursor_rules_mcp_server' 目录下,使用以下命令启动MCP服务器:
uv run python -m cursor_rules_mcp_server.server或
python -m packages.cursor_rules_mcp_server.src.cursor_rules_mcp_server.server -
配置MCP客户端: 根据MCP客户端的要求,配置连接到上述启动的MCP服务器。配置信息参考上面的 服务器配置示例。
-
使用LLM客户端: 使用配置好的MCP客户端(例如Cursor编辑器),连接到MCP服务器后,即可利用服务器提供的资源、工具和Prompt模板进行AI辅助代码生成和相关操作。具体操作方式取决于LLM客户端的功能和界面。
-
探索Taskfile任务: 使用 'task -l' 或 'mise tasks' 命令查看可用的Taskfile任务,例如 'llm:generate_bundle' (生成代码库bundle)、'llm:generate_missing_tests' (生成缺失的测试) 等,通过这些任务可以自动化代码分析和生成流程。
关键词
代码生成, LLM辅助, 规则引擎, 自动化工具, 开发工作流
信息
分类
开发者工具