Package Manager Setup
Overview
Configure your preferred Node.js package manager (npm/pnpm/yarn/bun) with multi-level detection priority and flexible configuration options.
Usage
node scripts/setup-package-manager.js --detect # Detect current
node scripts/setup-package-manager.js --global pnpm # Set global
node scripts/setup-package-manager.js --project bun # Set project
node scripts/setup-package-manager.js --list # List available
Detection Priority
- Environment variable:
CLAUDE_PACKAGE_MANAGER - Project config:
.claude/package-manager.json - package.json:
packageManagerfield - Lock file: package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
- Global config:
~/.claude/package-manager.json - Fallback: First available (pnpm > bun > yarn > npm)
Configuration
Global (~/.claude/package-manager.json)
{ "packageManager": "pnpm" }
Project (.claude/package-manager.json)
{ "packageManager": "bun" }
package.json
{ "packageManager": "pnpm@8.6.0" }
Environment Variable (overrides all)
# macOS/Linux
export CLAUDE_PACKAGE_MANAGER=pnpm
# Windows (PowerShell)
$env:CLAUDE_PACKAGE_MANAGER = "pnpm"