# pnpm

Fast, disk space efficient package manager

Repository: https://github.com/pnpm/pnpm
Canonical: https://ross.abutalabs.com/products/pnpm
Homepage: https://pnpm.io
Language: Rust
License: MIT
License Family: permissive
Topics: npm, dependency-manager, package-manager, node, nodejs, install, modules, javascript
Last push: 2026-08-27T00:25:25+00:00
Link (homepage): https://pnpm.io
Link (site_page): https://pnpm.io/faq
Link (site_page): https://pnpm.io/installation

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 3870, "days_push": 7, "days_rel": 7, "gap_med": 3.0, "n_releases_24m": 143}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 36227, forks 1671 (observed 2026-08-28T04:12:01.005096+00:00)

## What it is
pnpm is a fast, disk space efficient package manager for Node.js and JavaScript projects that stores packages in a global content-addressable store and links them into projects. It supports monorepo workspaces, deterministic lockfiles, strict dependency access, and can also manage Node.js runtime versions.

## Use cases
- install javascript dependencies faster than npm
- save disk space when many projects share packages
- manage a monorepo with multiple packages and workspaces
- get deterministic installs with a lockfile
- prevent packages from accessing undeclared dependencies
- manage node.js versions alongside packages
- speed up CI builds with faster dependency installation
- mitigate npm supply chain attacks

## When to choose
- you work on JavaScript or TypeScript projects of any size
- you maintain a monorepo with many packages and want workspace support
- disk space or install speed is a concern across many projects
- you want strict, deterministic dependency resolution
- you need a battle-tested package manager used in production since 2016

## When to avoid
- you need a package manager for non-JavaScript ecosystems like Python, Rust, or Go
- your tooling or deployment pipeline assumes npm or Yarn-specific behavior
- you rely on packages that break under pnpm's symlinked node_modules layout

## Facets
- artifact type: cli-tool
- maturity: stable
- function: package-manager, cli, developer-tools, dependency-audit
- domain: developer-tools, web-development
- platform: cross-platform, windows, cli
- tags: npm, monorepo, workspaces, lockfile, nodejs, javascript, disk-efficiency, supply-chain-security, command-line, linux, macos

## Member repositories
- pnpm/pnpm (main) score 95
- pnpm/action-setup (infra) score 97
- pnpm/pacquet (backend) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:12:01.005096+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:26:42.973616+00:00, confidence not recorded.
  - readme: https://github.com/pnpm/pnpm (fetched 2026-08-28T04:12:01.005096+00:00, sha d7280afb9fe4)
  - homepage: https://pnpm.io (fetched 2026-08-29T07:48:02.687112+00:00, sha ef10907cd9f0)
  - site_page: https://pnpm.io/installation (fetched 2026-08-29T07:48:02.699483+00:00, sha d421d49bb65a)
  - site_page: https://pnpm.io/faq (fetched 2026-08-29T07:48:02.696832+00:00, sha 32b8c8ccf8a6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
