pnpm

📁 hairyf/skills 📅 Jan 29, 2026
76
总安装量
76
周安装量
#2942
全站排名
安装命令
npx skills add https://github.com/hairyf/skills --skill pnpm

Agent 安装分布

cursor 75
claude-code 73
gemini-cli 9
opencode 9
codex 8

Skill 文档

pnpm 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.

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.

The skill is based on pnpm 10.x, generated at 2026-02-01.

Core

Topic Description Reference
Installation Standalone script, Corepack, npm, system package managers core-installation
CLI Commands Install, add, remove, update, run, exec, dlx, and workspace commands core-cli
Configuration pnpm-workspace.yaml, .npmrc settings, and package.json fields core-config
Workspaces Monorepo support with filtering, workspace protocol, and shared lockfile core-workspaces
Store Content-addressable storage, hard links, and disk efficiency core-store
Package Sources npm, JSR, workspace, Git, tarball—trusted and exotic sources core-package-sources
Errors Common error codes and resolutions core-errors

Features

Topic Description Reference
Filtering Rich selector syntax for –filter (deps, dependents, changed, globs) features-filtering
Catalogs Centralized dependency version management for workspaces features-catalogs
Overrides Force specific versions of dependencies including transitive features-overrides
Patches Modify third-party packages with custom fixes features-patches
Aliases Install packages under custom names using npm: protocol features-aliases
Hooks Customize resolution with .pnpmfile.cjs hooks features-hooks
Peer Dependencies Auto-install, strict mode, and dependency rules features-peer-deps
Config Dependencies Share hooks, catalogs, patches across projects features-config-dependencies
Git Branch Lockfiles Branch-specific lockfiles to avoid merge conflicts features-git-branch-lockfiles
Changesets Monorepo versioning and publishing features-changesets
Supply Chain Security allowBuilds, blockExoticSubdeps, trustPolicy features-supply-chain-security
Finders Search dependency graph by package properties (v10.16+) features-finders
Completion Shell tab completion (Bash, Zsh, Fish) features-completion
Scripts Lifecycle scripts and pnpm:devPreinstall features-scripts
Cache Metadata cache commands (list, view, delete) features-cache
Node.js Env Manage Node.js versions (pnpm env use/add/remove) features-env
Publish & Deploy publish, pack, deploy, fetch for Docker and registry features-publish-deploy

Best Practices

Topic Description Reference
CI/CD Setup GitHub Actions, GitLab CI, Docker, and caching strategies best-practices-ci
Docker BuildKit cache, pnpm fetch, pnpm deploy for monorepos best-practices-docker
Production Lockfile deployment, offline install best-practices-production
Only Allow pnpm Enforce pnpm with preinstall (only-allow) best-practices-only-allow-pnpm
TypeScript preserveSymlinks, packageExtensions, @pnpm/plugin-types-fixer best-practices-typescript
Podman Btrfs reflinks, store and node_modules volume mounts best-practices-podman
Git Lockfile commit and merge conflict resolution best-practices-git
Migration Migrating from npm/Yarn, handling phantom deps, monorepo migration best-practices-migration
Performance Install optimizations, store caching, workspace parallelization best-practices-performance

Advanced

Topic Description Reference
Limitations npm lockfile ignored, binstubs are shell scripts advanced-limitations