mcpField
S
sourcebot

sourcebot

github.com/pedronauck开发644185 次安装1 周前更新
代码仓库

关于 sourcebot

为使用 Sourcebot MCP 搜索外部库、框架和代码模式提供操作指南,面向需要研究 API、示例或迁移方式的开发者。指南强调先列出仓库、限定搜索范围,并将外部代码搜索与本地代码搜索区分开。

主要功能

  1. 01外部代码与模式搜索流程
  2. 02仓库 ID 格式说明
  3. 03按仓库筛选搜索结果
  4. 04获取指定文件内容
  5. 05外部与本地搜索工具分工

适用场景

  1. 01查找外部库的 API 用法
  2. 02检索官方仓库中的代码示例
  3. 03研究框架实现和最佳实践
  4. 04查找依赖升级与迁移模式

MCP 相关

该指南针对 Sourcebot MCP 的使用,包含列出仓库、搜索代码和获取文件内容的步骤。搜索代码时要求通过仓库 ID 限定范围。

安装

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

$npx skills add https://github.com/pedronauck/skills --skill sourcebot

安装后在 Claude Code 中输入/sourcebot确认已加载。

详细介绍

Sourcebot 指南

关于使用 Sourcebot MCP 搜索外部库、框架和代码模式的专业指南。

何时使用

  • 外部库研究: 查找 Effect-TS、TanStack、Vercel AI SDK 等中的代码模式
  • API 探索: 了解外部库如何实现特定功能
  • 文档示例: 查找官方代码库中的实际用法示例
  • 框架模式: 从外部框架代码库中学习最佳实践
  • 迁移指南: 查找外部库中的升级模式和不兼容变更

何时不使用

  • 本地项目代码: 改用 codebase_search 或 osgrep search
  • 本地组件: 使用本地搜索工具查找项目文件
  • 本地实用工具: 切勿使用 Sourcebot 搜索自己的代码库

必需的工作流程

  1. 首先调用 list_repos 获取可用的仓库 ID
  2. 确定搜索相关的仓库 ID(例如,EffectTS 对应 "Effect-TS/effect")
  3. 调用 search_code 时始终包含 filterByRepoIds
  4. 必要时使用 get_file_source 获取特定文件的内容

仓库 ID 格式

  • 关键: 仓库 ID 必须采用 "owner/repo" 格式(例如,"Effect-TS/effect"、"vercel/ai")
  • 不要包含 github.com/ 前缀
  • list_repos 工具返回的 ID 类似于 "github.com/owner/repo";在 filterByRepoIds 中使用时,请去掉此前缀

使用示例

搜索 EffectTS 模式
{
  "query": "Effect.gen yield",
  "filterByRepoIds": ["Effect-TS/effect"],
  "includeCodeSnippets": true
}
搜索 AI SDK
{
  "query": "streamText tool calling",
  "filterByRepoIds": ["vercel/ai"],
  "includeCodeSnippets": true
}
搜索多个仓库
{
  "query": "error handling patterns",
  "filterByRepoIds": ["Effect-TS/effect", "vercel/ai"],
  "includeCodeSnippets": true
}

最佳实践

  • 使用描述性查询(不要只用关键词,而要提供完整描述)
  • 始终指定 filterByRepoIds,限定搜索范围
  • 需要实际代码示例时,设置 includeCodeSnippets: true
  • 找到相关文件后,使用 get_file_source 查看完整上下文

代码搜索工具层级

  1. Sourcebot - 仅用于外部库和框架
  2. codebase_search(如可用)- 用于本地项目代码
  3. osgrep search - codebase_search 不可用时,用于搜索本地代码
  4. grep/find - 精确匹配字符串时的最后手段

关键要求

  • 必须: 研究外部库时,使用 Sourcebot MCP 5-7 次
  • 关键: 切勿使用 Sourcebot 搜索本地项目代码
  • 关键: 每次调用 search_code 时都必须使用 filterByRepoIds
  • 任务无效: 处理外部库时,如果不使用 Sourcebot 5-7 次,任务将无效
  • 使用 Sourcebot 后: 还要使用 Perplexity 和 Context7 获取外部库的最新信息

评论

支持 Markdown