mcpField
O
opensrc

opensrc

github.com/third774開発691 回インストール1 日前に更新
リポジトリ

opensrc について

opensrcは、開発者やコーディングエージェント向けに、パッケージやリポジトリのソースコードをプロジェクトへ取得するコマンドラインツールです。npmのインストール済みバージョンを検出し、対応するタグのリポジトリを解決します。

主な機能

  1. 01パッケージやリポジトリのソース取得
  2. 02インストール済みnpmバージョンの検出
  3. 03リポジトリと対応タグの解決
  4. 04取得したソースの一覧表示・更新・削除
  5. 05AGENTS.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 コーディングエージェントに実装の詳細なコンテキストを提供する 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 を使用します。

主な動作

  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

参考資料

詳しい情報については、以下を参照してください。

コメント