1---
2name: pnpm
3description: Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces, or managing dependencies with catalogs, patches, or overrides.
4metadata:
5 author: Anthony Fu
6 version: "2026.2.1"
7 source: Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills
8---
9
10pnpm is a fast, disk space efficient package manager. It uses a content-addressable store to deduplicate packages across all projects on a machine, saving significant disk space. pnpm enforces strict dependency resolution by default, preventing phantom dependencies. Configuration should preferably be placed in `pnpm-workspace.yaml` for pnpm-specific settings.
11
12**Important:** When working with pnpm projects, agents should check for `pnpm-workspace.yaml` and `.npmrc` files to understand workspace structure and configuration. Always use `--frozen-lockfile` in CI environments.
13
14> The skill is based on pnpm 10.x, generated at 2026-02-01.
15
16## Core
17
18| Topic | Description | Reference |
19|-------|-------------|-----------|
20| Installation | Standalone script, Corepack, npm, system package managers | [core-installation](references/core-installation.md) |
21| CLI Commands | Install, add, remove, update, run, exec, dlx, and workspace commands | [core-cli](references/core-cli.md) |
22| Configuration | pnpm-workspace.yaml, .npmrc settings, and package.json fields | [core-config](references/core-config.md) |
23| Workspaces | Monorepo support with filtering, workspace protocol, and shared lockfile | [core-workspaces](references/core-workspaces.md) |
24| Store | Content-addressable storage, hard links, and disk efficiency | [core-store](references/core-store.md) |
25| Package Sources | npm, JSR, workspace, Git, tarball—trusted and exotic sources | [core-package-sources](references/core-package-sources.md) |
26| Errors | Common error codes and resolutions | [core-errors](references/core-errors.md) |
27
28## Features
29
30| Topic | Description | Reference |
31|-------|-------------|-----------|
32| Filtering | Rich selector syntax for --filter (deps, dependents, changed, globs) | [features-filtering](references/features-filtering.md) |
33| Catalogs | Centralized dependency version management for workspaces | [features-catalogs](references/features-catalogs.md) |
34| Overrides | Force specific versions of dependencies including transitive | [features-overrides](references/features-overrides.md) |
35| Patches | Modify third-party packages with custom fixes | [features-patches](references/features-patches.md) |
36| Aliases | Install packages under custom names using npm: protocol | [features-aliases](references/features-aliases.md) |
37| Hooks | Customize resolution with .pnpmfile.cjs hooks | [features-hooks](references/features-hooks.md) |
38| Peer Dependencies | Auto-install, strict mode, and dependency rules | [features-peer-deps](references/features-peer-deps.md) |
39| Config Dependencies | Share hooks, catalogs, patches across projects | [features-config-dependencies](references/features-config-dependencies.md) |
40| Git Branch Lockfiles | Branch-specific lockfiles to avoid merge conflicts | [features-git-branch-lockfiles](references/features-git-branch-lockfiles.md) |
41| Changesets | Monorepo versioning and publishing | [features-changesets](references/features-changesets.md) |
42| Supply Chain Security | allowBuilds, blockExoticSubdeps, trustPolicy | [features-supply-chain-security](references/features-supply-chain-security.md) |
43| Finders | Search dependency graph by package properties (v10.16+) | [features-finders](references/features-finders.md) |
44| Completion | Shell tab completion (Bash, Zsh, Fish) | [features-completion](references/features-completion.md) |
45| Scripts | Lifecycle scripts and pnpm:devPreinstall | [features-scripts](references/features-scripts.md) |
46| Cache | Metadata cache commands (list, view, delete) | [features-cache](references/features-cache.md) |
47| Node.js Env | Manage Node.js versions (pnpm env use/add/remove) | [features-env](references/features-env.md) |
48| Publish & Deploy | publish, pack, deploy, fetch for Docker and registry | [features-publish-deploy](references/features-publish-deploy.md) |
49
50## Best Practices
51
52| Topic | Description | Reference |
53|-------|-------------|-----------|
54| CI/CD Setup | GitHub Actions, GitLab CI, Docker, and caching strategies | [best-practices-ci](references/best-practices-ci.md) |
55| Docker | BuildKit cache, pnpm fetch, pnpm deploy for monorepos | [best-practices-docker](references/best-practices-docker.md) |
56| Production | Lockfile deployment, offline install | [best-practices-production](references/best-practices-production.md) |
57| Only Allow pnpm | Enforce pnpm with preinstall (only-allow) | [best-practices-only-allow-pnpm](references/best-practices-only-allow-pnpm.md) |
58| TypeScript | preserveSymlinks, packageExtensions, @pnpm/plugin-types-fixer | [best-practices-typescript](references/best-practices-typescript.md) |
59| Podman | Btrfs reflinks, store and node_modules volume mounts | [best-practices-podman](references/best-practices-podman.md) |
60| Git | Lockfile commit and merge conflict resolution | [best-practices-git](references/best-practices-git.md) |
61| Migration | Migrating from npm/Yarn, handling phantom deps, monorepo migration | [best-practices-migration](references/best-practices-migration.md) |
62| Performance | Install optimizations, store caching, workspace parallelization | [best-practices-performance](references/best-practices-performance.md) |
63
64## Advanced
65
66| Topic | Description | Reference |
67|-------|-------------|-----------|
68| Limitations | npm lockfile ignored, binstubs are shell scripts | [advanced-limitations](references/advanced-limitations.md) |