Enforcing pnpm
关于
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.
技能文档
Enforcing pnpm
プロジェクトでpnpmを統一的に使用するための強制スキル。
いつ使うか
- パッケージのインストール時
- スクリプトの実行時
- 依存関係の管理時
- CI/CD設定時
- ユーザーがパッケージマネージャーについて言及した時
基本原則
このプロジェクトは packageManager: [email protected] を前提として構成されている。
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を呼び出しているか
快速安装
/plugin add https://github.com/camoneart/claude-code/tree/main/enforcing-pnpm在 Claude Code 中复制并粘贴此命令以安装该技能
GitHub 仓库
相关推荐技能
analyzing-dependencies
元这个Claude Skill能自动分析项目依赖的安全漏洞、过时包和许可证合规问题。它支持npm、pip、composer、gem和go modules等多种包管理器,帮助开发者识别潜在风险。当您需要检查依赖安全性、更新过时包或确保许可证兼容时,可使用"check dependencies"等触发短语来调用。
work-execution-principles
其他这个Claude Skill为开发者提供了一套通用的工作执行原则,涵盖任务分解、范围确定、测试策略和依赖管理。它确保开发活动中的一致质量标准,适用于代码审查、工作规划和架构决策等场景。该技能与所有编程语言和框架兼容,帮助开发者系统化地组织代码结构和定义工作边界。
Git Commit Helper
元Git Commit Helper能通过分析git diff自动生成规范的提交信息,适用于开发者编写提交消息或审查暂存区变更时。它能识别代码变更类型并自动匹配Conventional Commits规范,提供包含功能类型、作用域和描述的标准化消息。开发者只需提供git diff内容即可获得即用型的提交消息建议。
algorithmic-art
元该Skill使用p5.js创建包含种子随机性和交互参数探索的算法艺术,适用于生成艺术、流场或粒子系统等需求。它能自动生成算法哲学文档(.md)和对应的交互式艺术代码(.html/.js),确保作品原创性避免侵权。开发者可通过定义计算美学理念快速获得可交互的艺术实现方案。
