Git MCP帮助程序
一个强大的工具,用于使用CrewAI代理和GitHub操作的模型上下文协议(MCP)将GitHub存储库从各种帐户迁移到目标帐户。
特性
- 自动化存储库迁移:将多个存储库从不同的GitHub帐户迁移到目标帐户
- CrewAI多智能体系统针对移民的不同方面使用专门的代理
- GitHub MCP集成:利用开源GitHub MCP实现可靠的API操作
- 本地Git管理:处理本地存储库更新、远程更改和分支管理
- 进度跟踪:实时进度更新和全面报告
- 错误处理:具有重试机制和详细日志记录的强大错误处理
建筑
该工具使用具有以下专门代理的多代理CrewAI系统:
- 存储库扫描程序代理:扫描和分析存储库以了解迁移需求
- GitHub管理员代理:使用MCP工具处理GitHub远程操作
- 本地Git操作员代理:管理本地Git操作和存储库更新
- 移民协调员:协调整个迁移过程
先决条件
- Python 3.11+
- uv包管理器
- Node.js(用于GitHub MCP服务器)
- Git
- 具有适当权限的GitHub个人访问令牌
安装
- 克隆存储库:
git clone
cd git-mcp-helper- 安装uv (如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh- 安装依赖项:
# Install Python dependencies
uv sync
# Install GitHub MCP server
npm install -g @modelcontextprotocol/server-github- 配置:
# Copy environment template
cp .env.example .env
# Edit .env file with your GitHub token
# GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here配置
环境变量
创建 .env 包含以下变量的文件:
GITHUB_PERSONAL_ACCESS_TOKEN:您的GitHub个人访问令牌(必填)AI_REPO_PATH:您的ai repo目录的路径(默认:/Users/umu/Documents/code-repo/ai-repo)TARGET_USERNAME:目标GitHub用户名(默认值:daoyuly)DEVELOPMENT_BRANCH:开发分支名称(默认值:development)
GitHub令牌权限
您的GitHub个人访问令牌需要以下范围:
repo(完全访问存储库)workflow(如果你有GitHub操作)user(用户信息访问)
用法
基本迁移
运行完整的迁移过程:
uv run python main.py migrate仅扫描
扫描存储库而不执行迁移:
uv run python main.py scan试运行
看看不做更改会做什么:
uv run python main.py migrate --dry-run详细输出
启用详细日志记录:
uv run python main.py -v migrate配置管理
查看当前配置:
uv run python main.py config github_token迁移过程
迁移过程包括五个阶段:
- 存储库扫描:分析ai repo目录中的所有存储库
- GitHub分叉:将存储库分叉到目标GitHub帐户
- 本地远程更新:更新本地存储库远程以指向目标帐户
- 分行管理:远程和本地创建开发分支
- 终结:提交更改并生成摘要报告
发展
项目结构
git-mcp-helper/
├── src/
│ ├── agents/ # CrewAI agents
│ ├── tools/ # MCP client and Git utilities
│ └── config/ # Configuration management
├── tests/ # Test files
├── scripts/ # Utility scripts
├── main.py # CLI entry point
└── pyproject.toml # Project configuration开发设置
# Install development dependencies
uv sync --dev
# Run tests
uv run pytest
# Code formatting
uv run black src/ tests/
uv run ruff check src/ tests/ --fix
# Type checking
uv run mypy src/添加新功能
- 创建要素分支:
git checkout -b feature/new-feature - 按照现有模式实施更改
- 添加新功能的测试
- 更新文档
- 提交拉取请求
故障排除
常见问题
- GitHub API速率限制
- 该工具遵守GitHub的速率限制(5000个请求/小时) - 使用 MAX_CONCURRENT_OPERATIONS 设置以控制并发性
- MCP连接问题
- 确保Node.js已安装,GitHub MCP服务器可用 - 检查您的GitHub令牌权限
- 本地Git问题
- 确保Git在您的系统上正确配置 - 检查ai repo目录中的文件权限
调试模式
启用详细日志记录以进行详细的故障排除:
uv run python main.py -v migrate日志文件
迁移结果保存在 migration_results/ 带有时间戳的目录。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 运行测试套件
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
对于问题和疑问:
- 在GitHub存储库中创建问题
- 检查故障排除部分
- 以详细模式查看日志
更新日志
v0.1.0
- 初始版本
- 基本存储库迁移功能
- CrewAI多智能体系统
- GitHub MCP集成
- 具有丰富输出的CLI界面
