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