opensrc
30
总安装量
4
周安装量
#12084
全站排名
安装命令
npx skills add https://github.com/third774/dotfiles --skill opensrc
Agent 安装分布
opencode
4
codex
4
gemini-cli
4
amp
3
github-copilot
3
Skill 文档
opensrc
CLI tool to fetch source code for packages/repos, giving AI coding agents deeper implementation context.
When to Use
- Need to understand how a library/package works internally (not just its interface)
- Debugging issues where types alone are insufficient
- Exploring implementation patterns in dependencies
- Agent needs to reference actual source code of a package
Quick Start
# 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 zod@3.22.0
npx opensrc owner/repo@v1.0.0
Commands
| Command | Description |
|---|---|
opensrc <packages...> |
Fetch source for packages/repos |
opensrc list |
List all fetched sources |
opensrc remove <name> |
Remove specific source |
opensrc clean |
Remove all sources |
Output Structure
After fetching, sources stored in opensrc/ directory:
opensrc/
âââ settings.json # User preferences
âââ sources.json # Index of fetched packages/repos
âââ repos/
âââ github.com/
âââ owner/
âââ repo/ # Cloned source code
File Modifications
On first run, opensrc prompts to modify:
.gitignore– addsopensrc/to ignore listtsconfig.json– excludesopensrc/from compilationAGENTS.md– adds section pointing agents to source code
Use --modify or --modify=false to skip prompt.
Key Behaviors
- Version Detection – For npm, auto-detects installed version from
node_modules,package-lock.json,pnpm-lock.yaml, oryarn.lock - Repository Resolution – Resolves package to its git repo via registry API, clones at matching tag
- Monorepo Support – Handles packages in monorepos via
repository.directoryfield - Shallow Clone – Uses
--depth 1for efficient cloning, removes.gitafter clone - Tag Fallback – Tries
v{version},{version}, then default branch if tag not found
Common Workflows
Fetching a Package
# 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/
Updating Sources
# Re-run same command to update to currently installed version
npx opensrc zod
# â Checks if version changed
# â Re-clones if needed
Multiple Sources
# Fetch multiple at once
npx opensrc react react-dom next
npx opensrc zod pypi:pydantic vercel/ai
References
For detailed information:
- CLI Usage & Options – Full command reference
- Architecture – Code structure and extension
- Registry Support – npm, PyPI, crates.io details