关于 git-for-me
git-for-me 是面向编码 Agent 的 MCP 服务和 Agent Skill,可为项目查找现有开源仓库,并将需求归为使用、改造、构建或自行编写。它搜索 GitHub、GitLab 和 Codeberg,并实时核查仓库及许可、维护等风险。
主要功能
- 01搜索 GitHub、GitLab 和 Codeberg
- 02询问技术栈、平台、许可与维护要求
- 03拆分项目所需组件
- 04将结果分类为 USE、ADAPT、BUILD 或 WRITE
- 05实时核查仓库并标记风险
适用场景
- 01为计划开发的应用查找库
- 02选择依赖前检查许可
- 03识别需要自定义代码的项目部分
MCP 相关
stdio MCP 服务提供 git_for_me、git_for_me_search 和 git_for_me_verify 三个工具。它可供 MCP 客户端使用,也提供 Agent Skill。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| need | string | 是 | 你想构建什么,请用通俗语言说明:输入是什么、预期输出是什么,以及用途是什么 |
| stack | string | 否 | 将使用什么语言编写,例如 "TypeScript on Node" 或 "Python 3.12" |
| upkeep | string | 否 | 你愿意维护多少代码,例如 "needs to stay maintained" 或 "happy to own a fork" |
| license | string | 否 | 最终成果可以用于什么用途,例如 "commercial, closed source" 或 "open source" |
| platform | string | 否 | 将在哪里运行,例如 "a web app"、"a CLI" 或 "a server" |
详细介绍
Git for Me!
大多数你想构建的东西,很可能已经有开源实现。告诉你的 AI Agent 你要做什么,它就会为你找到答案:哪些仓库可以直接使用,哪些需要改造,还有哪些部分需要你自己编写。它提到的每个仓库都真实存在,已获准供你使用或已标明相关限制,并经过实时核查。
它会搜索 GitHub、GitLab 和 Codeberg。可与 Claude Code、Codex、Copilot、Cursor、Gemini CLI、Cline、Devin、Open WebUI 及任何其他 MCP 客户端配合使用,也可以作为 Agent Skill 使用。
它的搭档 Where My Hug At?,则为 Hugging Face 模型提供同样的服务。
目录
- 试用
- 工作原理:先问四个问题 · 拆分工作 · 搜索 · 给出结论 · 实时核查 · 标记
- 示例:PDF 发票
- 安装(各 Agent 的分步说明:USAGE.md)
- 哪些内容会离开你的设备 · 限制 · 安全
- 开发 · 许可证
试用
将它添加到你的 Agent 中(这里以 Claude Code 为例;其他所有选项见下文):
claude mcp add --scope user git-for-me -- npx -y git-for-me
然后提问:
Git 帮我找一下:一个能从 PDF 发票中提取表格并写入电子表格的 CLI。
你的 Agent 会询问它无法推断的少数信息,将工作拆分成多个部分,然后给你一份报告,例如下面这份;其中的每个仓库都是刚刚查找过的。它适用于任何由代码构成的项目:
Git 帮我找一下:为我的 Next.js 网站上的食谱实现可容忍拼写错误的搜索。
Git 帮我找一下:一个每晚将 Postgres 备份到 S3、并在失败时通知 Slack 的任务。
Git 帮我找一下:一个能保存食谱、不带那些人生故事的浏览器扩展。
工作原理
1. 先问四个问题
如果你只要求“一个读取 PDF 的库”,得到的可能只是热门项目:使用了错误的语言、采用了你无法随产品发布的许可证,或者多年前就已停止维护。因此,在推荐任何项目之前,会先了解四项信息。你的 Agent 会根据对话或代码库中已有的信息填写答案,并向你询问其余内容:
| 问题 | 决定事项 | |
|---|---|---|
| 技术栈 | 将用什么编写? Node 上的 TypeScript、Python 3.12、Rust | 哪些仓库可作为库使用,哪些只能与你的代码配合使用 |
| 平台 | 将在哪里运行? Web 应用、CLI、服务端、手机应用 | 哪些项目适用 |
| 许可证 | 最终成果允许用于什么用途? 商业用途、开源、个人用途 | 允许采用哪些许可证 |
| 维护 | 你愿意维护多少代码? 需要持续维护,愿意自己维护分支 | 选择维护良好的依赖,还是由你持续维护的分支 |
回答“还不确定”也没问题:这样推荐结果就会覆盖不同选择。
2. 拆分工作
Agent 会把需求拆成多个部分,每部分都有输入和输出(PDF → 表格,表格 → 电子表格)。不值得引入依赖的部分(胶水代码、配置、仅你的项目才有的逻辑、几行代码)会标记为 编写:为了十行代码引入一个依赖,带来的是成本,而不是功能。
3. 为每个部分搜索
Agent 对开源项目的记忆最多只更新到它训练时,因此会漏掉长尾项目。所以不会凭记忆挑选任何项目。对于其他每个部分,Agent 都会编写一条搜索请求(包含主题、技术栈的语言、几个关键词,以及用几个词概括的任务),并在三个代码托管平台上执行:
| 方式 | 查找内容 | 平台 |
|---|---|---|
| 主题中星标最多的项目 | 经验证有效的项目 | GitHub、GitLab、Codeberg |
| 主题中正在崛起的项目 | 星标数不断增长的新仓库,包括比 Agent 训练时间更新的仓库 | GitHub |
| 名称和描述中包含各关键词的项目 | 未标记该主题的工具 | GitHub、GitLab、Codeberg |
| README 文本 | 根据 README 内容查找长尾项目,类似网页搜索 | GitHub |
搜索结果会轮流呈现各种方式的结果,因此小众工具不会被星标最多的项目淹没。所有平台都会排除已归档的仓库,GitHub 和 Codeberg 还会排除复刻仓库。能够使用多种语言的技术栈也会搜索这些语言(TypeScript 可以使用 JavaScript)。
4. 根据搜索结果决定每个部分的处理方式
| 判定 | 含义 |
|---|---|
| USE | 搜索找到的仓库可以直接完成这项任务:依赖它,或在你的代码旁运行它。 |
| ADAPT | 有一个项目接近需求:在许可证允许的情况下,复刻它或复制所需部分。 |
| BUILD | 搜索结果中没有项目能完成这项任务:先阅读最接近的仓库,再自行构建。 |
| WRITE | 不值得引入依赖:编写代码。 |
Agent 会根据搜索结果所显示的信息做出判断:描述、星标数、近期活动、许可证和语言。它可能会补充搜索漏掉的已知仓库,但该项目的排名会排在搜索结果之后,报告中也会标记为 来自记忆。
5. 检查每个选中的项目
每个选中的项目都会在其代码托管平台上进行实时查询。任何不存在的项目都会被移除,Agent 会重新搜索其他候选项目。其余项目会标出可能带来后续问题的事项,并生成你看到的报告。报告还会列出搜索到但未选中的项目,确保不会隐藏任何搜索结果。如果某个 BUILD 部分的搜索找到了仓库,报告会提示你在开始构建前先检查这些仓库。
底层是一个 MCP 服务,包含三个工具:git_for_me 用于执行方法中的步骤 1、2 和 4,git_for_me_search 用于执行步骤 3,git_for_me_verify 用于执行步骤 5。
标记
| 标记 | 含义 |
|---|---|
| UNCHECKED | 其代码托管平台没有响应(宕机或受到速率限制)。该仓库会保留,并在下次再次查询。 |
| ARCHIVED | 只读:所有修复都得由你负责。 |
| NO_LICENSE | 没有许可证:保留所有权利,因此不得复用其代码。 |
| OWN_TERMS | 其代码托管平台无法识别该许可证:请阅读许可证内容。 |
| UNKNOWN_LICENSE | 在不列出许可证名称的 Codeberg 上,该仓库有许可证文件,请阅读该文件。 |
| COPYLEFT | GPL、AGPL 等许可证:将其与代码一同发布可能会使你的代码也受该许可证约束。 |
| WEAK_COPYLEFT | LGPL、MPL 等许可证:必须公开对该项目所做的修改,但通常以原样使用时不会使你的代码也受约束。 |
| STALE | 两年内没有提交推送。 |
| LITTLE_USED | 星标数不足 50。 |
| FORK | 这是复刻仓库:请检查原始仓库是否更适合。 |
| MIRROR | 这是镜像仓库:请选择它复制的原始仓库。 |
示例:PDF 发票
上面的提示词来自一次实时运行,运行时间为 2026-10-14,环境为笔记本电脑上的 Python 3.12,项目为闭源并保持维护(内容经过删节):
_Searched and checked live just now: 6 named, 0 not there and dropped._
## USE · Read the tables
**Repo: jsvine/pdfplumber**
Python · license MIT · 10.8k stars · pushed 2 months ago · found: most starred in table-extraction, name or description has tables
Also: camelot-dev/camelot
The search also found, not picked:
- pymupdf/PyMuPDF (10.9k stars): found as most starred in table-extraction
## USE · Read scanned invoices
**Repo: ocrmypdf/OCRmyPDF**
Python · license MPL-2.0 · 35.0k stars · pushed 3 days ago · found: readme text, name or description has ocr, most starred in ocr
Watch out: weak copyleft: changes to it must be shared under its license, but using it unchanged usually doesn't bind your code.
Also: PaddlePaddle/PaddleOCR
## USE · Write the spreadsheet
**Repo: jmcnamara/XlsxWriter**
Python · license BSD-2-Clause · 4.0k stars · pushed 2 months ago · found: name or description has xlsx, most starred in xlsx
Also: pyexcel/pyexcel
## WRITE · Run it from the command line
No repo: write this one.
## WRITE · Tidy the invoice tables
No repo: write this one.
五个部分中有三个已经存在,且都是通过搜索找到的。Agent 没有选用 PyMuPDF,因为它的 AGPL 许可证会使闭源代码受其约束。剩下需要编写的,只有胶水代码和这些发票特有的逻辑。
安装
需要 Node 22.18 或更高版本。USAGE.md 提供分步设置说明, 并列出了 20 多种 Agent 的链接:Claude Code 和 Desktop、Codex、Copilot(CLI 和 VS Code)、Cursor、Windsurf、Devin、Cline、Gemini CLI、Goose、OpenCode、Zed、 Junie、Kiro、Amp、Warp、Continue、LM Studio、Hermes、Mistral Vibe 和 Open WebUI。快速安装方式:
Claude Code、Codex、Copilot CLI,作为插件安装:包含工具,以及一个知道何时调用这些工具的技能。三者共用一个市场。
/plugin marketplace add bikemeardsley/git-for-me # Claude Code
/plugin install git-for-me@git-for-me
codex plugin marketplace add bikemeardsley/git-for-me # Codex
codex plugin add git-for-me@git-for-me
copilot plugin marketplace add bikemeardsley/git-for-me # Copilot CLI
copilot plugin install git-for-me@git-for-me
任何其他 MCP 客户端:在客户端配置中添加一个 stdio 服务。大多数客户端将其命名为
mcpServers(USAGE.md 列出了例外情况)。
{ "mcpServers": { "git-for-me": { "command": "npx", "args": ["-y", "git-for-me"] } } }
Antigravity CLI,作为插件安装:agy plugin install https://github.com/bikemeardsley/git-for-me/tree/main/plugin
Gemini CLI,作为扩展安装:gemini extensions install https://github.com/bikemeardsley/git-for-me
作为 Agent Skill,供会读取 SKILL.md 的 Agent 使用:
npx skills add bikemeardsley/git-for-me。
GITHUB_TOKEN(可选,建议设置)。 不设置时,GitHub 每分钟允许搜索
10 次,约够完成工作中的两部分;设置后则为 30 次。一个
细粒度令牌
无需任何权限即可满足要求。将其作为 GITHUB_TOKEN 传入
(各 Agent 的设置方法);Claude Code 插件会提示你输入,
并将其安全存储。令牌只会发送给 GitHub:GitLab 和 Codeberg 不需要令牌。不设置令牌时,
私有 GitHub 仓库看起来会像是不存在,因为 GitHub 对这两种情况都会返回 404。
哪些信息会离开你的设备
Agent 为每个部分编写的搜索内容(主题、语言、关键词、关于工作的简短描述)以及它选中的仓库,会作为 GET 请求发送到
api.github.com、gitlab.com/api 和 codeberg.org/api;如果你设置了令牌,令牌只会发送给 GitHub。令牌不会出现在报告中。你写下的需求、
使用的方法和报告只会保留在你和 Agent 之间。
使用 npx 启动(作为 MCP 服务或技能的 shell 回退方式)时,会从 npm 注册表
registry.npmjs.org 下载 git-for-me 软件包。除此之外,不会向该注册表发送任何内容。
限制
- 搜索只能找到代码托管平台自身搜索能找到的内容:主题、名称、 描述,以及 GitHub README 中的文本。即使某个仓库不包含这些词,也可能被遗漏。
- “Rising”仅适用于 GitHub:显示该主题下近半年创建的、星标数最多的仓库,因为 GitHub 没有趋势 API,而 GitLab 和 Codeberg 无法按创建日期筛选。
- GitLab 的关键词搜索支持任何语言(按语言筛选时,搜索常见词会超时),并且在选中某项前,结果不会显示语言。
- 许可证标记读取的是各代码托管平台的许可证检测结果,而不是许可证文本。 Codeberg 不检测许可证,因此其中的仓库会被标记为需要阅读许可证文件;如果没有许可证文件,则标记为未授权。
- 仅搜索 GitHub、GitLab.com 和 Codeberg。不会搜索自托管的 GitLab 和 Gitea 服务,也无法搜索 Bitbucket,因为它没有公开搜索功能。
安全
请通过 GitHub Security Advisories 私下报告漏洞,不要提交公开 issue。SECURITY.md 列出了它会访问的内容:向三个代码托管平台发送 GET 请求, 不会访问你设备上的任何内容。
开发
npm install # also builds build/, which is what npx runs
node src/server.ts # the server, straight from source
npm test # offline: the forges are mocked, and the server is driven over stdio and HTTP
npm run check # types
从克隆的仓库中,将其添加到你的 Agent:
claude mcp add --scope user git-for-me -- node /path/to/git-for-me/src/server.ts。
npm install 会将 JavaScript 构建到 build/ 中,因为 Node 不会移除
node_modules 中软件包的类型,而 npx 会将软件包放在该目录中。
许可证
MIT。与 Git 项目、GitHub、GitLab 或 Codeberg 均无关联。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。