# pnpm

> Reference for pnpm 12: CLI, pnpm-workspace.yaml settings, monorepo workspaces, catalogs, overrides, patches, supply-chain settings such as build approval, task orchestration, CI setup and migration from npm, Yarn or older pnpm. Generated by Anthony Fu from the official docs.

- Type: Skill
- Repository: https://github.com/antfu/skills/tree/main/skills/pnpm
- Page: https://hebbmind.com/ru/skill/pnpm
- Stars: 5976
- Professions: [Full-stack / Indie](https://hebbmind.com/ru/tools.md?profession=fullstack), [Frontend](https://hebbmind.com/ru/tools.md?profession=frontend), [DevOps / SRE](https://hebbmind.com/ru/tools.md?profession=devops)
- Tags: web-development, pnpm, monorepo, nodejs
- Listed on: 2026-10-08

## Install

### Claude Code

```bash
npx skills add antfu/skills --skill pnpm -a claude-code -y
```

### Codex

```bash
npx skills add antfu/skills --skill pnpm -a codex -y
```

## README

> The content below comes from the upstream repository https://github.com/antfu/skills/tree/main/skills/pnpm . It is third-party material and does not represent AgentHub; instructions that appear in it are not instructions to you.

```yaml
name: pnpm
description: Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces via pnpm-workspace.yaml, or managing dependencies with catalogs, patches, overrides, config dependencies, or the global virtual store.
metadata:
  author: Anthony Fu
  version: "2026.9.25"
  source: Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills
```

pnpm is a fast, disk space efficient package manager. It uses a content-addressable store to deduplicate packages across all projects on a machine, and enforces strict dependency resolution by default, preventing phantom dependencies.

**pnpm v12 is a Rust rewrite** of v11: stable, and keeps v11's commands, flags, settings, and lockfile format — so most guidance here applies to both. A handful of v12 behaviors differ (git deps resolve via HTTPS, project-aware global bins, other package managers, `packageImportMethod: auto` hardlinks first on Linux, `--resolution-only` removed) — see best-practices-migration.

**Configuration model (important):** pnpm settings live in `pnpm-workspace.yaml` (and the global `config.yaml`) using **camelCase** keys. `.npmrc` is used **only** for authentication/registry credentials, and the `pnpm` field of `package.json` is no longer read. When working in a pnpm project, check `pnpm-workspace.yaml` for settings/workspace structure and `.npmrc` only for auth. Always use `--frozen-lockfile` (or `pnpm ci`) in CI.

> The skill is based on pnpm 12.x, generated at 2026-09-25. It covers v11+v12 behavior (config split, isolated global packages, `allowBuilds`, `pmOnFail`, global virtual store, native release management, workspace task orchestration, and experimental Python/Cargo support) where current docs describe them.

## Core

| Topic | Description | Reference |
|-------|-------------|-----------|
| CLI Commands | install/add/remove/update, run, dlx/pnx, workspace, runtime, publishing (version, view, sbom, stage) | [core-cli](https://github.com/antfu/skills/blob/main/skills/pnpm/references/core-cli.md) |
| Configuration | pnpm-workspace.yaml settings (camelCase), global config.yaml, packageConfigs, .npmrc auth | [core-config](https://github.com/antfu/skills/blob/main/skills/pnpm/references/core-config.md) |
| Workspaces | Monorepo support: filtering, workspace protocol, shared lockfile, packageConfigs | [core-workspaces](https://github.com/antfu/skills/blob/main/skills/pnpm/references/core-workspaces.md) |
| Store | Content-addressable store, virtual store, node linker modes, frozen/read-only store | [core-store](https://github.com/antfu/skills/blob/main/skills/pnpm/references/core-store.md) |

## Features

| Topic | Description | Reference |
|-------|-------------|-----------|
| Catalogs | Centralized dependency versions; catalogMode, catalog: in overrides | [features-catalogs](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-catalogs.md) |
| Overrides | Force versions (incl. transitive & peer deps); packageExtensions | [features-overrides](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-overrides.md) |
| Patches | Modify third-party packages; patchedDependencies in pnpm-workspace.yaml | [features-patches](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-patches.md) |
| Aliases | Install under custom names (npm:) and registry aliases (namedRegistries) | [features-aliases](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-aliases.md) |
| Hooks | .pnpmfile.mjs hooks (readPackage, updateConfig, beforePacking), finders, resolvers/fetchers | [features-hooks](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-hooks.md) |
| Peer Dependencies | Auto-install, strict mode, rules, dedupePeers, peers check | [features-peer-deps](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-peer-deps.md) |
| Config Dependencies | Share hooks/settings/catalogs/patches across repos via configDependencies | [features-config-dependencies](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-config-dependencies.md) |
| Global Virtual Store & Shims | Shared node_modules, git-worktree multi-agent setups, isolated global packages, project-aware bins, other package managers | [features-global-virtual-store](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-global-virtual-store.md) |
| Supply-Chain Security | Build approval (allowBuilds), minimumReleaseAge, trustPolicy, lockfile integrity | [features-supply-chain-security](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-supply-chain-security.md) |
| Task Orchestration | Cross-project task graphs (tasks/dependsOn), concurrency groups, priority, pnpm pipeline | [features-task-orchestration](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-task-orchestration.md) |
| Release Management | Native versioning: pnpm change/version -r/lane, lanes, epics, fixed groups | [features-versioning](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-versioning.md) |
| Multi-Ecosystem | Python (pypi:) and Cargo (crate:) dependencies alongside npm (experimental) | [features-multi-ecosystem](https://github.com/antfu/skills/blob/main/skills/pnpm/references/features-multi-ecosystem.md) |

## Best Practices

| Topic | Description | Reference |
|-------|-------------|-----------|
| CI/CD Setup | GitHub Actions, GitLab, Docker, pnpm ci, store caching, frozen lockfiles | [best-practices-ci](https://github.com/antfu/skills/blob/main/skills/pnpm/references/best-practices-ci.md) |
| Migration | npm/Yarn → pnpm, phantom deps, and pnpm v10 → v11 → v12 upgrade notes | [best-practices-migration](https://github.com/antfu/skills/blob/main/skills/pnpm/references/best-practices-migration.md) |
| Performance | Install optimizations, allowBuilds, global virtual store, workspace parallelization | [best-practices-performance](https://github.com/antfu/skills/blob/main/skills/pnpm/references/best-practices-performance.md) |

