opensrc について
opensrcは、開発者やコーディングエージェント向けに、パッケージやリポジトリのソースコードをプロジェクトへ取得するコマンドラインツールです。npmのインストール済みバージョンを検出し、対応するタグのリポジトリを解決します。
主な機能
- 01パッケージやリポジトリのソース取得
- 02インストール済みnpmバージョンの検出
- 03リポジトリと対応タグの解決
- 04取得したソースの一覧表示・更新・削除
- 05AGENTS.mdへのソース参照の追加
活用シーン
- 01依存パッケージの内部実装の確認
- 02型情報だけでは分からない問題のデバッグ
- 03依存パッケージの実装パターンの調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ third774/ dotfiles --skill opensrcインストール後、Claude Code で/opensrcを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/architecture.mdcli-usage.mdregistry-support.md詳細
opensrc
パッケージやリポジトリのソースコードを取得し、AI コーディングエージェントに実装の詳細なコンテキストを提供する CLI ツールです。
使用する場面
- ライブラリやパッケージの内部の仕組みを把握する必要がある場合(インターフェースだけでは不十分な場合)
- 型情報だけでは不十分な問題をデバッグする場合
- 依存関係にあるパッケージの実装パターンを調べる場合
- エージェントがパッケージの実際のソースコードを参照する必要がある場合
クイックスタート
# 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- エージェントにソースコードの場所を知らせるセクションを追加します
プロンプトをスキップするには、--modify または --modify=false を使用します。
主な動作
- バージョンの検出 - npm の場合、
node_modules、package-lock.json、pnpm-lock.yaml、またはyarn.lockからインストール済みのバージョンを自動検出します - リポジトリの解決 - レジストリ API を通じてパッケージの Git リポジトリを特定し、一致するタグを指定してクローンします
- モノレポのサポート -
repository.directoryフィールドを通じて、モノレポ内のパッケージを処理します - シャロークローン - 効率的なクローンのために
--depth 1を使用し、クローン後に.gitを削除します - タグのフォールバック - タグが見つからない場合は、
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
参考資料
詳しい情報については、以下を参照してください。
- CLI の使い方とオプション - コマンドの全リファレンス
- アーキテクチャ - コード構成と拡張
- レジストリのサポート - npm、PyPI、crates.io の詳細
コメント
Markdown 対応