mcpField
O
opensrc

opensrc

github.com/third774开发691 次安装1 天前更新
代码仓库

关于 opensrc

opensrc 是面向开发者和编码 Agent 的命令行工具,可将软件包或仓库源码拉取到项目中,补充接口之外的实现上下文。它能检测已安装的 npm 版本,并解析仓库及对应标签。

主要功能

  1. 01拉取软件包和仓库源码
  2. 02检测已安装的 npm 软件包版本
  3. 03解析仓库及对应标签
  4. 04列出、更新和移除已拉取的源码
  5. 05在 AGENTS.md 中添加源码指引

适用场景

  1. 01查看依赖项的内部实现
  2. 02排查仅凭类型信息无法解释的问题
  3. 03探索依赖项中的实现模式

安装

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

$npx skills add https://github.com/third774/dotfiles --skill opensrc

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
architecture.md
cli-usage.md
registry-support.md

详细介绍

opensrc

用于获取软件包/代码仓库源代码的命令行工具,为 AI 编码 Agent 提供更深入的实现上下文。

适用场景

  • 需要了解库/软件包的内部工作原理(而不只是其接口)
  • 仅凭类型信息不足以排查问题
  • 探索依赖项中的实现模式
  • Agent 需要参考软件包的实际源代码

快速开始

# Install globally or use npx
npm install -g opensrc

# Fetch npm package (auto-detects installed version from lockfile)
npx opensrc zod

# Fetch from other registries
npx opensrc pypi:requests       # Python/PyPI
npx opensrc crates:serde        # Rust/crates.io

# Fetch GitHub repo directly
npx opensrc vercel/ai           # owner/repo shorthand
npx opensrc github:owner/repo   # explicit prefix
npx opensrc https://github.com/colinhacks/zod  # full URL

# Fetch specific version/ref
npx opensrc [email protected]
npx opensrc owner/[email protected]

命令

命令说明
opensrc <packages...>获取软件包/代码仓库的源代码
opensrc list列出已获取的所有源代码
opensrc remove <name>移除指定源代码
opensrc clean移除所有源代码

输出结构

获取后,源代码存储在 opensrc/ 目录中:

opensrc/
├── settings.json           # User preferences
├── sources.json            # Index of fetched packages/repos
└── repos/
    └── github.com/
        └── owner/
            └── repo/       # Cloned source code

文件修改

首次运行时,opensrc 会提示是否修改:

  • .gitignore - 将 opensrc/ 添加到忽略列表
  • tsconfig.json - 将 opensrc/ 排除在编译之外
  • AGENTS.md - 添加指引 Agent 查阅源代码的章节

使用 --modify 或 --modify=false 可跳过提示。

主要行为

  1. 版本检测 - 对于 npm,会自动从 node_modules、package-lock.json、pnpm-lock.yaml 或 yarn.lock 检测已安装的版本
  2. 仓库解析 - 通过注册表 API 将软件包解析到其 git 仓库,并克隆匹配的标签
  3. 单体仓库支持 - 通过 repository.directory 字段处理单体仓库中的软件包
  4. 浅克隆 - 使用 --depth 1 高效克隆,并在克隆后移除 .git
  5. 标签回退 - 如果未找到标签,依次尝试 v{version}、{version},然后使用默认分支

常见工作流

获取软件包
# Agent needs to understand zod's implementation
npx opensrc zod
# → Detects version from lockfile
# → Finds repo URL from npm registry
# → Clones at matching git tag
# → Source available at opensrc/repos/github.com/colinhacks/zod/
更新源代码
# Re-run same command to update to currently installed version
npx opensrc zod
# → Checks if version changed
# → Re-clones if needed
多个源
# Fetch multiple at once
npx opensrc react react-dom next
npx opensrc zod pypi:pydantic vercel/ai

参考资料

详细信息请参阅:

评论

支持 Markdown