mcpField
P
pnpm

pnpm

github.com/antfu開発6.0k22.5k 回インストール6 日前に更新
リポジトリ

pnpm について

JavaScript プロジェクトのパッケージ管理に使う pnpm のスキルです。コマンド、設定、ワークスペース、依存関係管理、セキュリティ、タスク実行、リリース手順を pnpm v11 と v12 向けに扱います。

主な機能

  1. 01パッケージとワークスペースのコマンド
  2. 02バージョンの一元管理と依存関係の上書き
  3. 03パッチ、フック、ピア依存関係の制御
  4. 04サプライチェーンセキュリティ設定
  5. 05ワークスペースのタスクとリリース管理

活用シーン

  1. 01pnpm プロジェクトの依存関係管理
  2. 02JavaScript モノレポの設定
  3. 03CI インストールとリリース手順の設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/antfu/skills --skill pnpm

インストール後、Claude Code で/pnpmを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

GENERATION.md
references/
best-practices-ci.md
best-practices-migration.md
best-practices-performance.md
core-cli.md
core-config.md
core-store.md
core-workspaces.md
features-aliases.md
features-catalogs.md
features-config-dependencies.md
features-global-virtual-store.md
features-hooks.md
features-multi-ecosystem.md
features-overrides.md
features-patches.md
features-peer-deps.md
features-supply-chain-security.md
features-task-orchestration.md
features-versioning.md

詳細

pnpm は高速でディスク容量を効率的に使うパッケージマネージャーです。コンテンツアドレス方式のストアを使用して、マシン上のすべてのプロジェクト間でパッケージを重複排除し、デフォルトで依存関係を厳格に解決することで、ファントム依存関係を防ぎます。

pnpm v12 は v11 を Rust で書き直したものです。安定しており、v11 のコマンド、フラグ、設定、ロックファイル形式を維持しているため、ここに記載されているガイダンスのほとんどは両方に適用されます。v12 では一部の動作が異なります(Git 依存関係は HTTPS 経由で解決、プロジェクトを認識するグローバル bin、その他のパッケージマネージャー、Linux では packageImportMethod: auto が最初にハードリンクを使用、--resolution-only を削除)。詳細は best-practices-migration を参照してください。

設定モデル(重要): pnpm の設定は、pnpm-workspace.yaml(およびグローバルな config.yaml)に camelCase のキーを使用して記述します。.npmrc は認証/レジストリの認証情報に のみ 使用され、package.json の pnpm フィールドは読み込まれなくなりました。pnpm プロジェクトで作業するときは、設定/ワークスペース構造については pnpm-workspace.yaml を、認証については .npmrc のみを確認してください。CI では常に --frozen-lockfile(または pnpm ci)を使用してください。

このスキルは pnpm 12.x に基づき、2026-09-25 に生成されました。現行ドキュメントで説明されている v11 と v12 の動作(設定の分離、分離されたグローバルパッケージ、allowBuilds、pmOnFail、グローバル仮想ストア、ネイティブリリース管理、ワークスペースのタスクオーケストレーション、実験的な Python/Cargo サポート)を扱います。

コア

トピック説明リファレンス
CLI コマンドinstall/add/remove/update、run、dlx/pnx、workspace、runtime、公開(version、view、sbom、stage)core-cli
設定pnpm-workspace.yaml の設定(camelCase)、グローバル config.yaml、packageConfigs、.npmrc の認証core-config
ワークスペースモノレポのサポート:フィルタリング、ワークスペースプロトコル、共有ロックファイル、packageConfigscore-workspaces
ストアコンテンツアドレス方式のストア、仮想ストア、Node リンカーモード、凍結/読み取り専用ストアcore-store

機能

トピック説明リファレンス
カタログ依存関係のバージョンを一元管理します。catalogMode、overrides 内の catalog:features-catalogs
オーバーライドバージョンを強制指定します(推移的依存関係とピア依存関係を含む)。packageExtensionsfeatures-overrides
パッチサードパーティパッケージを変更します。pnpm-workspace.yaml 内の patchedDependenciesfeatures-patches
エイリアス任意の名前(npm:)やレジストリエイリアス(namedRegistries)でインストールしますfeatures-aliases
フック.pnpmfile.mjs のフック(readPackage、updateConfig、beforePacking)、ファインダー、リゾルバー/フェッチャーfeatures-hooks
ピア依存関係自動インストール、厳格モード、ルール、dedupePeers、ピア依存関係のチェックfeatures-peer-deps
設定依存関係configDependencies を介して、リポジトリ間でフック/設定/カタログ/パッチを共有しますfeatures-config-dependencies
グローバル仮想ストアとシム共有 node_modules、git-worktree を使ったマルチエージェント環境、分離されたグローバルパッケージ、プロジェクト対応の実行ファイル、その他のパッケージマネージャーfeatures-global-virtual-store
サプライチェーンセキュリティビルドの承認(allowBuilds)、minimumReleaseAge、trustPolicy、ロックファイルの整合性features-supply-chain-security
タスクオーケストレーションプロジェクト横断のタスクグラフ(tasks/dependsOn)、同時実行グループ、優先度、pnpm パイプラインfeatures-task-orchestration
リリース管理ネイティブのバージョン管理:pnpm change/version -r/lane、レーン、エピック、固定グループfeatures-versioning
マルチエコシステムnpm に加えて、Python(pypi:)と Cargo(crate:)の依存関係に対応(実験的)features-multi-ecosystem

ベストプラクティス

トピック説明リファレンス
CI/CD の設定GitHub Actions、GitLab、Docker、pnpm ci、ストアのキャッシュ、ロックファイルの固定best-practices-ci
移行npm/Yarn から pnpm への移行、ファントム依存関係、pnpm v10 → v11 → v12 へのアップグレードに関する注意事項best-practices-migration
パフォーマンスインストールの最適化、allowBuilds、グローバル仮想ストア、ワークスペースの並列化best-practices-performance

コメント