Enforcing pnpm
About
This Claude Skill enforces exclusive pnpm usage by automatically detecting and blocking npm/yarn commands during package installation, script execution, or dependency management. It intercepts prohibited commands like `npm install` or `npx` and provides corrected pnpm equivalents. The skill activates when users mention package managers or work with dependencies, ensuring consistent package management across the project.
Documentation
Enforcing pnpm
プロジェクトでpnpmを統一的に使用するための強制スキル。
いつ使うか
- パッケージのインストール時
- スクリプトの実行時
- 依存関係の管理時
- CI/CD設定時
- ユーザーがパッケージマネージャーについて言及した時
基本原則
このプロジェクトは packageManager: pnpm@xx.x.x を前提として構成されている。
1. 実行コマンド
すべてのスクリプトは pnpm <script> 形式で実行:
pnpm run lint
pnpm test
pnpm build
2. グローバルコマンド
pnpx ではなく pnpm dlx を使用:
# ❌ 間違い
pnpx create-react-app my-app
# ✅ 正しい
pnpm dlx create-react-app my-app
3. スクリプト内の呼び出し
package.json で npm や yarn を呼び出さない:
{
"scripts": {
"build": "pnpm run compile" // ✅
}
}
禁止コマンド
以下のコマンドを検知したら警告し、pnpmに置き換えて再実行:
npm コマンド
npm install → pnpm install
npm run build → pnpm run build
npm test → pnpm test
npx xxx → pnpm dlx xxx
yarn コマンド
yarn → pnpm install
yarn add xxx → pnpm add xxx
yarn build → pnpm run build
CI/CD設定
GitHub Actions などの CI でも pnpm を使用:
- uses: pnpm/action-setup@v2
with:
version: 8
- run: pnpm install --frozen-lockfile
- run: pnpm test
キャッシュ設定
- uses: actions/setup-node@v3
with:
node-version: 18
cache: 'pnpm' # ✅ pnpm-store をキャッシュ
ドキュメント規則
README・各種ドキュメントに掲載するコマンド例も全て pnpm 表記へ統一:
# ❌ 間違い
npm install
npm run dev
# ✅ 正しい
pnpm install
pnpm run dev
自動修正フロー
Claude Code が npm コマンドを誤って実行しようとした場合:
- 警告を表示
- 自動で pnpm に置き換え
- 再実行
例:
検出: npm install
↓
警告: このプロジェクトではpnpmを使用します
↓
自動変換: pnpm install
↓
実行
例外処理
以下の場合のみ警告をスキップ:
- ユーザーが明示的に npm/yarn の使用を指示した場合
- package.json の scripts 内で外部ツールが npm を要求する場合(要確認)
トラブルシューティング
pnpm がインストールされていない場合
npm install -g pnpm
# または
corepack enable
corepack prepare pnpm@latest --activate
lockfile の不整合
rm -rf node_modules pnpm-lock.yaml
pnpm install
チェックリスト
- 全てのコマンドが
pnpm形式か - CI設定で
pnpmを使用しているか - ドキュメントが
pnpm表記になっているか -
package.jsonの scripts がpnpmを呼び出しているか
Quick Install
/plugin add https://github.com/camoneart/claude-code/tree/main/enforcing-pnpmCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
subagent-driven-development
DevelopmentThis skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
algorithmic-art
MetaThis Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.
Git Commit Helper
MetaThis Claude Skill generates descriptive commit messages by analyzing git diffs. It automatically follows conventional commit format with proper types like feat, fix, and docs. Use it when you need help writing commit messages or reviewing staged changes in your repository.
cost-optimization
OtherThis Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
