Skip to content
Development
Command

/setup-pm

配置项目首选包管理器 (npm/pnpm/yarn/bun)

From plugin
4944 skills8 agents44 commands20 hooks
shell
$ npx -y skills add xiaobei930/cc-best --agent claude-code

Ships with cc-best. Installing the plugin gets this command.

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/setup-pm

Context preview

What this command does when you run it.

配置项目首选包管理器 (npm/pnpm/yarn/bun)

Command definition

setup-pm.md
description: 配置项目首选包管理器 (npm/pnpm/yarn/bun)
argument-hint: "[--detect|--project pm|--global pm|--list]"
allowed-tools: Read, Bash

/setup-pm - 包管理器配置

配置项目或全局的首选包管理器。

快速使用

# 检测当前配置
node scripts/node/setup-package-manager.js --detect

# 设置项目首选为 pnpm
node scripts/node/setup-package-manager.js --project pnpm

# 设置全局首选为 bun
node scripts/node/setup-package-manager.js --global bun

# 列出所有可用选项
node scripts/node/setup-package-manager.js --list

检测优先级

系统按以下顺序检测包管理器:

| 优先级 | 来源 | 说明 | | ------ | ----------------------------------------- | ----------------------- | | 1 | 环境变量 `CLAUDE_PACKAGE_MANAGER` | 最高优先级 | | 2 | 项目配置 `.claude/package-manager.json` | 项目级覆盖 | | 3 | `package.json` 的 `packageManager` | 标准字段 | | 4 | Lock 文件检测 | 自动检测 | | 5 | 全局配置 `~/.claude/package-manager.json` | 用户默认 | | 6 | 回退 | pnpm > bun > yarn > npm |

配置文件格式

项目配置 (.claude/package-manager.json)

{
  "packageManager": "pnpm",
  "updatedAt": "2024-01-23T10:00:00.000Z"
}

全局配置 (~/.claude/package-manager.json)

{
  "packageManager": "bun",
  "updatedAt": "2024-01-23T10:00:00.000Z"
}

package.json 标准字段

{
  "name": "my-project",
  "packageManager": "pnpm@8.15.0"
}

环境变量

设置 `CLAUDE_PACKAGE_MANAGER` 环境变量可覆盖所有配置:

# Windows PowerShell
$env:CLAUDE_PACKAGE_MANAGER = "pnpm"

# macOS/Linux
export CLAUDE_PACKAGE_MANAGER=pnpm

支持的包管理器

| 包管理器 | Lock 文件 | 特点 | | -------- | ----------------- | ------------------ | | **npm** | package-lock.json | Node.js 自带 | | **pnpm** | pnpm-lock.yaml | 快速、节省磁盘空间 | | **yarn** | yarn.lock | 稳定、广泛使用 | | **bun** | bun.lockb | 极快、新一代运行时 |

在 Hooks 中使用

Node.js hooks 会自动使用检测到的包管理器:

const { detect, getRunCommand } = require("./lib/package-manager");

const pm = detect();
console.log(`使用 ${pm.name} (来源: ${pm.source})`);

// 获取运行命令
const devCmd = getRunCommand("dev"); // -> "pnpm dev" 或 "npm run dev"
const testCmd = getRunCommand("test"); // -> "pnpm test" 或 "npm test"

> **记住**: 包管理器配置一次到位,后续每个需求都能受益。模板和规范是效率的基础设施。

Read more
Read it on GitHub ↗
Ships withcc-best

Role-Driven Development Workflow for Claude Code Transform Claude into a complete development team. From product requirements to code review — one plugin, full workflow. Quick Start • Features • Workflow • Commands • FAQ

Get the whole plugin, auto-invoked
Stats
49
Stars
0
Views
3
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
1mo ago
Last commit
6mo ago
Created

Repo: xiaobei930/cc-best