 
mcp-pr单回购
此存储库是一个小型的monorepo,包含用于使用MCP PR工作流和相关CLI工具的工具和实用程序。它遵循现代的JavaScript/TypeScript单仓库布局,并使用pnpm+Turbo进行工作区管理和快速构建。
概述
此monorepo旨在托管一个或多个包,这些包实现了用于在MCP工作流之后创建、准备和提交拉取请求(PR)的命令行工具和帮助程序。目标是将相关的实用程序放在一起,共享配置,并使开发、测试和发布在包之间保持一致。
关键原则:
- 小而专注的套餐
libs/ - 在存储库根目录共享工具和配置
- 用于测试、linting和发布的自动化CI
包裹
顶级套餐位于 libs/ 目录。目前,此存储库包含:
libs/mcp-pr-command--MCP PR操作的主要CLI和工具集(检测分支、准备PR、替换提交、压缩提交、提交PR等)。
每个包裹都应该包括自己的 package.json, src/, test/ 以及一个简短的自述文件,描述特定于软件包的用法和API。
Monorepo工具
该项目使用现代工具链来加快开发速度:
- 包管理器:pnpm(工作区感知)
- 构建系统:Turbo(Turbo.json)
- 测试:Jest
- 绒布:ESLint(+可选Prettier)
- 提交验证:提交
- CI:GitHub操作(推荐)
您可以在存储库根目录中找到共享配置文件。单个包可以扩展或覆盖这些配置。
入门
先决条件:
- Node.js(建议使用当前LTS或>=18)
- pnpm>=6(此仓库使用pnpm工作区功能)
- Git
快速设置:
# clone
git clone https://github.com/codibre/mcp-pr-command.git
cd mcp-pr-command
# install dependencies
pnpm install对所有软件包运行测试:
pnpm test构建所有包:
pnpm build抓一切:
pnpm lint
pnpm lint:fix # auto-fix common issues如果你只想在 mcp-pr-command 包,使用pnpm过滤器来限定命令范围:
pnpm --filter mcp-pr-command install
pnpm --filter mcp-pr-command test
pnpm --filter mcp-pr-command build开发工作流程和技巧
- 根据PR保持更改的重点:更喜欢小的、可审查的提交。
- 使用传统的提交来允许自动更改日志/版本控制工具正常工作(feat/fix/docs/test/corrote等)。
- 编码时无需担心格式问题--运行
pnpm lint:fix在提交之前或依赖预提交钩子。 - 添加新功能和错误修复的测试。在测试中遵循排列/动作/断言模式。
在本地运行单个包
从存储库根目录,您可以运行特定于包的脚本。例子:
pnpm --filter mcp-pr-command dev(检查 libs/mcp-pr-command/package.json 对于可用的脚本。)
贡献
我们欢迎捐款。这里有一个简短的指南,可以让你的更改快速被接受。
- 分叉存储库。
- 创建描述性分支(使用类型前缀):
git checkout -b feat/your-feature-name- 安装依赖项并运行测试套件:
pnpm install
pnpm test- 进行更改,添加测试和文档。保持承诺小而有意义。
- 棉绒和格式:
pnpm lint
pnpm lint:fix- 使用常规提交格式提交,例如:
git add .
git commit -m "feat(mcp): add detect-branches tool"- 推送您的分支并打开Pull Request。PR描述中包括:
- 变化会带来什么
- 为什么需要它
- 任何迁移或重大变更说明
- 相关问题的链接(如适用)
拉取请求清单
- \[\]本地测试通过
- \[\]新功能已测试
- \[\]代码已过梁并格式化
- \[\]文件/README已更新(如适用)
- \[\]提交遵循常规提交格式
包发布和CI
该存储库是为自动化CI和发布而设置的。典型的CI作业应该运行:
- 安装deps
- 构建包(涡轮增压)
- 运行测试
- 棉绒
- 发布更改的包(合并到主包时)
当语义提交确定版本冲突时,此仓库中的发布是自动的;确保提交消息正确反映更改类型。
下一步去哪里看
- 包源:
libs/mcp-pr-command/src - 包装测试:
libs/mcp-pr-command/test - 打包工具:
libs/mcp-pr-command/src/internal和libs/mcp-pr-command/src/tools - 配置:
package.json,pnpm-workspace.yaml,turbo.json,commitlint.config.js
许可证
此存储库使用MIT许可证——请参阅 LICENSE 文件全文。
问题或支持
在GitHub上打开问题或通过存储库讨论联系维护人员。
______________________________________________________________________
精心构建,实现快速、一致的工具和协作开发。
