[
  {
    "id": "pnpm-docs-1",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "pnpm is a drop-in replacement for npm — and then keeps going, with the features large repos actually need.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-2",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-3",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Fix a bug in a package without waiting for upstream — \"pn patch\" writes a persistent patch that is reapplied on every install.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-4",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Install and pin Node.js per project straight from pnpm — no nvm, no shell hooks, no “works on my machine” version mismatches.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-5",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Only your declared dependencies land in the root of node_modules, so your code can never quietly import a package you never installed.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-6",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "First-class monorepos: the workspace protocol for local packages, filtering to run tasks on just the projects you touched, and a single lockfile for everything.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-7",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Define a dependency version once in pnpm-workspace.yaml and reference it as \"catalog:\" everywhere. One line to upgrade, and no more version-drift merge conflicts.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-8",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/workspaces",
    "excerpt": "pnpm supports the workspace: protocol. When this protocol is used, pnpm will refuse to resolve to anything other than a local workspace package.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-9",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/install",
    "excerpt": "Run a full dependency resolution and report what a real install would change, without writing anything to disk.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-10",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/install",
    "excerpt": "If true, pnpm will use only packages already available in the store. If a package won't be found locally, the installation will fail.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-11",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/audit",
    "excerpt": "Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at `/-/npm/v1/keys`.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-12",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/audit",
    "excerpt": "Add overrides to the `pnpm-workspace.yaml` file in order to force non-vulnerable versions of the dependencies.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-13",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/continuous-integration",
    "excerpt": "When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-14",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/settings",
    "excerpt": "Allows setting project-specific configuration for individual workspace packages. This replaces workspace project-specific `.npmrc` files.",
    "fetchedAt": "2026-09-04T20:59:43.637Z"
  },
  {
    "id": "pnpm-docs-15",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Files inside node_modules are hard-linked from a single content-addressable store. A hundred projects on the same version cost you one copy on disk.",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-16",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Install scripts don't run for arbitrary dependencies. You approve which packages may execute build scripts — supply-chain safety without extra tooling.",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-17",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "pnpm is a drop-in replacement for npm. Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-18",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/workspaces",
    "excerpt": "This feature allows you to depend on your local workspace packages while still being able to publish the resulting packages to the remote registry without needing intermediary publish steps",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-19",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/install",
    "excerpt": "Run a full dependency resolution and report what a real install would change, without writing anything to disk. No lockfile, manifest, or `node_modules` changes are saved.",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-20",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/feature-comparison",
    "excerpt": "pnpm supports it via `pnpm licenses list`.",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-21",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/continuous-integration",
    "excerpt": "It needs no Node.js. pnpm is a self-contained executable, and it can install the runtime for you afterwards with `pnpm runtime set node lts -g`",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-22",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/continuous-integration",
    "excerpt": "If your `package.json` has a `packageManager` or `devEngines.packageManager` field, pnpm switches to that version on first use",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-23",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/install",
    "excerpt": "Skip installing runtime entries (e.g. Node.js downloaded via `devEngines.runtime`). The lockfile is left untouched, so frozen installs still validate; only the runtime fetch and bin-linking are skipped.",
    "fetchedAt": "2026-09-04T21:02:44.954Z"
  },
  {
    "id": "pnpm-docs-24",
    "tier": "claimed-docs",
    "url": "https://pnpm.io",
    "excerpt": "Install scripts don’t run for arbitrary dependencies. You approve which packages may execute build scripts — supply-chain safety without extra tooling.",
    "fetchedAt": "2026-09-04T21:05:00.418Z"
  },
  {
    "id": "pnpm-docs-25",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/audit",
    "excerpt": "Checks for known security issues with the installed packages.",
    "fetchedAt": "2026-09-04T21:05:00.418Z"
  },
  {
    "id": "pnpm-docs-26",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/audit",
    "excerpt": "Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at /-/npm/v1/keys.",
    "fetchedAt": "2026-09-04T21:05:00.418Z"
  },
  {
    "id": "pnpm-docs-27",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/continuous-integration",
    "excerpt": "It needs no Node.js. pnpm is a self-contained executable, and it can install the runtime for you afterwards with pnpm runtime set node lts -g",
    "fetchedAt": "2026-09-04T21:05:00.418Z"
  },
  {
    "id": "pnpm-docs-28",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/motivation",
    "excerpt": "The files in the node_modules directories are hard links to the same files in the content-addressable store.",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-docs-29",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/workspaces",
    "excerpt": "we dynamically replace any workspace: dependency by: The corresponding version in the target workspace",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-docs-30",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/audit",
    "excerpt": "Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-docs-31",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/symlinked-node-modules-structure",
    "excerpt": "only packages that are really in the dependencies are accessible",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-docs-32",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/settings",
    "excerpt": "Catalogs are also defined in the `pnpm-workspace.yaml` file. See [_Catalogs_](/catalogs) for details.",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-gh-1",
    "tier": "github",
    "url": "https://github.com/pnpm/pnpm",
    "excerpt": "Up to 2x faster than the alternatives (see [benchmark](#benchmark)).",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-gh-2",
    "tier": "github",
    "url": "https://github.com/pnpm/pnpm",
    "excerpt": "Works as a Node.js version manager.",
    "fetchedAt": "2026-09-04T21:07:22.733Z"
  },
  {
    "id": "pnpm-docs-33",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/workspaces",
    "excerpt": "we dynamically replace any `workspace:` dependency by: The corresponding version in the target workspace",
    "fetchedAt": "2026-09-16T18:41:39.817Z"
  },
  {
    "id": "pnpm-docs-34",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/install",
    "excerpt": "In a CI environment, installation fails if a lockfile is present but needs an update.",
    "fetchedAt": "2026-09-16T18:41:39.817Z"
  },
  {
    "id": "pnpm-docs-35",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/install",
    "excerpt": "--update-checksums is the narrowly-scoped opt-in for the legitimate case (e.g. a registry rewrote its tarballs and you've verified the new bytes are correct).",
    "fetchedAt": "2026-09-16T18:41:39.817Z"
  },
  {
    "id": "pnpm-docs-36",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/cli/audit",
    "excerpt": "Checks for known security issues with the installed packages... run `pnpm audit --fix`.",
    "fetchedAt": "2026-09-16T18:41:39.817Z"
  },
  {
    "id": "pnpm-docs-37",
    "tier": "claimed-docs",
    "url": "https://pnpm.io/symlinked-node-modules-structure",
    "excerpt": "A great bonus of this layout is that only packages that are really in the dependencies are accessible.",
    "fetchedAt": "2026-09-16T18:41:39.817Z"
  },
  {
    "id": "pnpm-comm-1",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=45286526",
    "excerpt": "If I run: pnpm config set -g minimumReleaseAge 1440 — Does that work as well? I can't tell if the global settings are the same as workspace settings, and it lets me set nonsense keys this way.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-2",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=45286526",
    "excerpt": "Why must this be in a workspace file which you may not even have if you aren't in a monorepo, why not in package.json? Anyway, it's progress.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-3",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "pnpm has been my goto JS monorepo package manager + script runner for a couple of years now. IMO it has almost zero downsides and huge upsides.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-4",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "This is my default one, much faster and disk space reduced dramatically when I have lots of node_modules in use. Can't recommend enough.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-5",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "It works very fast in CI, its cache is smaller and it builds node_modules much faster... Speed difference is 15s vs 35s for our use case which is pretty significant.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-6",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "pnpm is awesome except when it does not work - which happens very rarely but it is a nightmare to debug. For all the other times, it is way faster and lightweight than npm.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-7",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "I was unable to use pnpm with a project that used Electron (~2 years ago), IIRC because some spawned process was incompatible with symlinks. It's the only time it caused me trouble though.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-8",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "Pnpm doesn't auto install peer dependencies, which is annoying and forces you to unnecessary add them to package.json. Npm@7 with auto install of peer deps is much easier to use in this regard.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-9",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "We recently started sponsoring pnpm as well as adding zero-config support for deployments and caching. I think pnpm is an incredible tool.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-10",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "I recently migrated a large project from yarn to pnpm and the speed difference is insane... The only tricky thing is that we had some issues with some dependencies that could not work properly. But using the '--shamefully-hoist' flag did the trick.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-11",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "pnpm is great. I love `pnpm store prune`. Also it's great for monorepos.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-12",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's built-in monorepo support just works, nice & easy & fast.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-13",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "I ran into glitches around the pnpm script that wrap binaries... The name is too close to npm. I'll inadvertently type npm and that starts downloading all dependencies again.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-14",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge amount... We even noticed that the size of some of our production bundles went down.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-15",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "We migrated from pnpm to yarn3 with node_modules linker. pnpm focus on wrong things, speed, disk efficiently is less important than stable, reproducible, and developer experience of yarn3.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-16",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "I use pnpm only for monorepos for which I find it works quite well. Although at times there have been issues, mainly with symlinks getting messed up or linking to wrong dependencies.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-17",
    "tier": "community",
    "url": "https://news.ycombinator.com/item?id=30919487",
    "excerpt": "I've migrated from yarn to pnpm two days ago and I can tell the difference when I first hit install... Thanks to its non-flat algorithm the packages have clean dependencies.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-18",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/49460032",
    "excerpt": "Am I the only one that hates the decision to no longer support corepack?",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-19",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/49460032",
    "excerpt": "It is a rewrite of pnpm in Rust — their benchmarks report a clean install with lockfile is about 3x faster (7s -> 2.2s) and a no-op install is about 29x faster (517ms -> 18ms).",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-comm-20",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/49460032",
    "excerpt": "Good to see the maintainers don't care enough to take the time to write a release blogpost themselves (sigh) — complaint about the pnpm 12 announcement reading as AI-generated.",
    "fetchedAt": "2026-09-04T21:09:55.929Z"
  },
  {
    "id": "pnpm-probe-1",
    "tier": "probe",
    "url": "https://pnpm.io/llms.txt",
    "excerpt": "PROBE llms.txt: HTTP 404 at https://pnpm.io/llms.txt",
    "fetchedAt": "2026-09-16T18:41:40.466Z"
  },
  {
    "id": "pnpm-probe-2",
    "tier": "probe",
    "url": "https://pnpm.io/motivation.md",
    "excerpt": "PROBE docs-md: HTTP 404 at https://pnpm.io/motivation.md",
    "fetchedAt": "2026-09-16T18:41:40.466Z"
  },
  {
    "id": "pnpm-probe-3",
    "tier": "probe",
    "url": "https://pnpm.io/openapi.json",
    "excerpt": "PROBE openapi: all candidate paths 404 (https://pnpm.io/openapi.json, https://pnpm.io/swagger.json, https://pnpm.io/api/openapi.json, https://pnpm.io/.well-known/openapi.json)",
    "fetchedAt": "2026-09-16T18:41:40.466Z"
  },
  {
    "id": "pnpm-probe-4",
    "tier": "probe",
    "url": "https://pnpm.io/pnpm-cli",
    "excerpt": "official CLI documented at https://pnpm.io/pnpm-cli",
    "fetchedAt": "2026-09-16T18:41:40.466Z"
  }
]
