Package Manager Setup
Configure your preferred package manager for this project or globally.
Usage
bash
# Detect current package manager node scripts/setup-package-manager.js --detect # Set global preference node scripts/setup-package-manager.js --global pnpm # Set project preference node scripts/setup-package-manager.js --project bun # List available package managers node scripts/setup-package-manager.js --list
Detection Priority
When determining which package manager to use, the following order is checked:
- •Environment variable:
CLAUDE_PACKAGE_MANAGER - •Project config:
.claude/package-manager.json - •package.json:
packageManagerfield - •Lock file: Presence of package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
- •Global config:
~/.claude/package-manager.json - •Fallback: First available package manager (pnpm > bun > yarn > npm)
Configuration Files
Global Configuration
json
// ~/.claude/package-manager.json
{
"packageManager": "pnpm"
}
Project Configuration
json
// .claude/package-manager.json
{
"packageManager": "bun"
}
package.json
json
{
"packageManager": "pnpm@8.6.0"
}
Environment Variable
Set CLAUDE_PACKAGE_MANAGER to override all other detection methods:
bash
# Windows (PowerShell) $env:CLAUDE_PACKAGE_MANAGER = "pnpm" # macOS/Linux export CLAUDE_PACKAGE_MANAGER=pnpm
Run the Detection
To see current package manager detection results, run:
bash
node scripts/setup-package-manager.js --detect