mcpField
S
search-and-fork

search-and-fork

github.com/oschina开发5119 次安装28 周前更新
代码仓库

关于 search-and-fork

基于 Gitee MCP 的仓库搜索与 Fork 工作流指南,面向希望寻找并复制开源项目的用户。它涵盖需求澄清、候选比较和 Fork 流程。

主要功能

  1. 01按关键词搜索 Gitee 仓库
  2. 02依据活跃度和质量筛选
  3. 03比较候选项目与技术栈
  4. 04查看仓库目录和 README
  5. 05将选定仓库 Fork 到账户

适用场景

  1. 01寻找符合需求的开源仓库
  2. 02比较项目维护状态与许可证
  3. 03Fork 选定项目以开始贡献
  4. 04Fork 前检查仓库文件与文档

MCP 相关

使用 Gitee MCP Server 的搜索、Fork、用户信息和文件内容工具执行仓库发现与复制流程。若本地安装了 mcporter,指南建议使用其调用 MCP 工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oschina/gitee-agent-skills --skill search-and-fork

安装后在 Claude Code 中输入/search-and-fork确认已加载。

详细介绍

注意:如果你已在本地安装 mcporter,应使用 mcporter 调用 MCP 工具,而不是直接调用 MCP 工具。mcporter CLI 提供了更便捷的接口和更完善的错误处理。

通过 Gitee MCP 搜索并派生仓库

在 Gitee 上搜索符合用户需求的开源仓库,比较候选项,并将选定的仓库派生到用户的账户。

前提条件

  • 已配置 Gitee MCP Server(工具:search_open_source_repositories、fork_repository、get_user_info、get_file_content)
  • 用户必须提供:搜索关键词或需求描述

步骤

步骤 1:明确搜索需求

向用户确认:

  • 偏好的语言(Go / Java / Python / JavaScript 等)
  • 使用场景(Web 框架 / 数据库 ORM / CLI 工具 / UI 组件库等)
  • 活跃度要求(例如,必须有近期提交)
  • 其他偏好(许可证类型、文档语言等)
步骤 2:搜索仓库

使用 search_open_source_repositories 进行搜索:

  • 尝试多种关键词组合,以覆盖不同表述方式
  • 如有必要,进行 2–3 次搜索(例如,同时使用中文和英文关键词)
步骤 3:筛选和比较

根据以下标准评估搜索结果:

活跃度指标

  • Star 数(关注度/受欢迎程度)
  • Fork 数(使用范围)
  • 最近更新日期(是否仍在维护)
  • Issue / PR 数量和响应速度

质量指标

  • README 文档是否完整
  • 是否包含测试代码
  • 是否配置 CI/CD
  • 许可证是否适用于使用场景(优先选择 MIT / Apache,而非 GPL)

相关性

  • 功能是否符合需求?
  • 技术栈是否合适?
  • 是否有完善的文档或社区支持?
步骤 4:展示候选列表
## Search Results: [keywords]

Top candidates ranked by overall score:

### Recommendation #1: [repo name]
- **Repo**: [owner/repo]
- **Description**: [repo summary]
- **Stars / Forks**: ⭐ N / 🍴 N
- **Language**: [language]
- **Last updated**: [date]
- **License**: [license]
- **Why recommended**: [1–2 sentences]

### Recommendation #2: [repo name]
[same format]

### Recommendation #3: [repo name]
[same format]

---

**Suggested pick**: Recommendation #1, because [reason]
步骤 5:查看选定的仓库(可选)

用户选定仓库后、派生之前,可以使用 get_file_content 获取更多详情,帮助用户确认选择:

步骤 5.1:获取目录树

get_file_content(owner="[owner]", repo="[repo]", path="/")

步骤 5.2:获取 README 内容(如果有)

查看目录树,确认是否存在 README 文件(例如 README.md、README_CN.md、README.en.md)。然后获取其内容:

get_file_content(owner="[owner]", repo="[repo]", path="README.md")

展示关键发现,帮助用户做出明智的决定:

  • 项目结构概览
  • README 中介绍的主要功能
  • 技术栈和依赖项
  • 项目是否在积极维护
步骤 6:派生选定的仓库

用户选定仓库后,使用 fork_repository 进行派生:

  • owner:要派生的仓库所有者
  • repo:仓库名称
  • 可选:指定要派生到的组织(默认为用户的个人账户)

成功派生后,输出派生仓库的 URL,并建议后续步骤:

Fork successful!

**Your repository**: https://gitee.com/[your-username]/[repo-name]

**Suggested next steps:**
1. `git clone` it locally
2. Read the README to learn how to contribute
3. Browse the Issues to find something to work on

Would you like me to explore this repository for you? (use the repo-explorer skill)

注意事项

  • 搜索结果可能包含已归档或不再维护的仓库——请将其筛除
  • 派生会在用户的 Gitee 账户下创建一个副本,不会影响原仓库
  • 派生是参与贡献的标准方式;如果用户只是想参考代码,直接克隆即可
  • 用于商业用途时,请特别留意许可证(GPL 为 Copyleft 许可证;MIT / Apache 的限制更宽松)

评论

支持 Markdown