Skip to content

Package & Toolchain Managers Arena

pnpm vs Bun (package manager)

pnpm wins · 87 (17 drawn)

Agent experience — stories about agent experience in this arenaAgent experience

Stories about agent experience in this arena

Headless installs

  1. ai-native userHave an agent install and update project dependencies non-interactively, with clear exit codes and errors when something fails

    weight 3 · round drawn

    pnpm docs show strong non-interactive/CI-friendly behavior: automatic frozen-lockfile mode in CI, installation failing if the lockfile needs updates, offline mode failing if a package is unavailable, and audit/fix commands for dependency issues — all consistent with reliable scripted use by an agent. However, there is no explicit documentation of exit-code semantics or structured error output for install/update failures, and community evidence only discusses speed/DX, not error-handling robustness for automation. Missing for 10: explicit exit-code documentation, structured/machine-readable error output, and independent verification that failures are clearly signaled in agent/CI pipelines.

    • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
    • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
    • [claimed-docs] If true, pnpm will use only packages already available in the store. If a package won't be found locally, the installation will fail.
    • [claimed-docs] Run a full dependency resolution and report what a real install would change, without writing anything to disk.
    • [claimed-docs] Checks for known security issues with the installed packages.
    • [claimed-docs] Checks for known security issues with the installed packages... run `pnpm audit --fix`.
    Bun (package manager)partialcommunity6/10

    Bun install is scriptable and non-interactive by default (no prompts documented), supports --frozen-lockfile for reproducible CI installs, and errors out when a required dependency isn't cached (bun-docs-5, bun-docs-20, bun-docs-35). However, docs never explicitly discuss exit-code semantics or structured error output for agent consumption, and community reports note install crashes/bugs under certain conditions (bun-comm-7), suggesting real-world reliability caveats. missing for 10: explicit exit-code documentation, structured/parseable error output, independent verification that failures are cleanly reported rather than crashing.

    • [claimed-docs] Never touch the network (registry, tarball URLs, git); a required dependency that is not cached is an error
    • [claimed-docs] a required dependency that is not cached is an error
    • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
    • [claimed-docs] To install in production mode (without `devDependencies`):
    • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…

Manifest editing

  1. ai-native userAdd, remove, and upgrade dependencies through CLI commands that safely rewrite the manifest and lockfile, so an agent never hand-edits them

    weight 2 · round drawn

    pnpm's entire design centers on CLI-driven manifest/lockfile management: dry-run installs show exactly what would change before writing anything (pnpm-docs-9/19), CI automatically enforces frozen-lockfile integrity so manifest/lockfile drift is caught (pnpm-docs-13/34), and workspace/catalog features (pnpm-docs-6/7/32) show version bumps propagate safely through the manifest without manual editing. Community reports corroborate reliable, fast lockfile-driven installs across large monorepos (pnpm-comm-3, pnpm-comm-12, pnpm-comm-14). missing for 10: explicit documentation citation of pnpm add/remove/update command syntax and lockfile-safety guarantees specifically for those subcommands (evidence only covers install/audit/workspace behavior, not the add/remove/update commands directly)

    • [claimed-docs] Run a full dependency resolution and report what a real install would change, without writing anything to disk.
    • [claimed-docs] Run a full dependency resolution and report what a real install would change, without writing anything to disk. No lockfile, manifest, or `n…
    • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
    • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
    • [claimed-docs] First-class monorepos: the workspace protocol for local packages, filtering to run tasks on just the projects you touched, and a single lock…
    • [claimed-docs] Define a dependency version once in pnpm-workspace.yaml and reference it as "catalog:" everywhere. One line to upgrade, and no more version-…
    • [community] 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 upsid…
    • [community] we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's b…
    • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
    Bun (package manager)fullclaimed7/10

    Docs confirm bun install writes package.json/bun.lock automatically, migrates other lockfiles, supports --frozen-lockfile for reproducible installs, and never touches network beyond cache (docs-2,5,35,38), which is exactly the safe manifest/lockfile-rewrite behavior an agent needs instead of hand-editing. Missing for 10: explicit doc citations for the `bun add`, `bun remove`, and `bun upgrade` subcommands themselves (only `bun install` and `bun pm` are directly quoted), and no independent/hands-on evidence specifically validating add/remove/upgrade correctness.

    • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles: `yarn.lock` (v1), `package-lock…
    • [claimed-docs] Never touch the network (registry, tarball URLs, git); a required dependency that is not cached is an error
    • [claimed-docs] Bun does not execute arbitrary lifecycle scripts like `postinstall` for installed dependencies. Executing arbitrary scripts represents a pot…
    • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
    • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
    • [claimed-docs] The `bun` CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for `npm`, `yarn`, and `pnpm`.

Structured output

  1. ai-native userGet machine-readable (JSON) output from core commands so an agent can parse results instead of scraping text

    weight 2 · round drawn
    pnpmnone0/10

    No evidence in the pack mentions JSON output flags (e.g. --json) for pnpm commands like list, outdated, or audit; the docs pack covers workspaces, patching, security, and CLI options but nothing about machine-readable output formats for agent consumption.

      Bun (package manager)none0/10

      No evidence in the pack shows any Bun package-manager command (install, pm ls, audit, outdated, pack, etc.) offering a --json or machine-readable output flag; docs only describe human-readable text output and lockfile formats. No JSON/agent-parseable output capability is documented.

      • ai-native userPoint an agent at a documented, text-based lockfile format it can read and diff

        weight 1 · round to Bun (package manager)

        The docs repeatedly reference a lockfile mechanism (frozen-lockfile in CI, failing installs when the lockfile needs updates, dry-run install reporting what would change) which implies a persistent, checked-in lockfile artifact that tooling can inspect, but none of the evidence explicitly documents the lockfile's format (e.g. YAML/text), its human-readability, or its diffability for an agent. Missing for 10: explicit statement that pnpm-lock.yaml is a plain-text/YAML format, documentation framing it as git-diffable, and any independent/hands-on evidence of an agent or tool actually reading/diffing it.

        • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
        • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
        • [claimed-docs] Run a full dependency resolution and report what a real install would change, without writing anything to disk.
        • [claimed-docs] Run a full dependency resolution and report what a real install would change, without writing anything to disk. No lockfile, manifest, or `n…
        Bun (package manager)fullclaimed9/10

        Bun's default lockfile format bun.lock is explicitly text-based (v1.2+) and documented, replacing the binary bun.lockb, and docs market it as 'a lockfile you can read'—directly matching the story of a documented, diffable, text lockfile an agent could parse. Missing for 10: no independent/hands-on confirmation of agent tooling actually diffing bun.lock or third-party validation of its readability/diff-friendliness beyond vendor docs.

        • [claimed-docs] Bun v1.2 changed the default lockfile format to the text-based `bun.lock`.
        • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
        • [claimed-docs] npm-compatible, up to 30× faster. Workspaces, catalogs, overrides, patches and a lockfile you can read.
        • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles

      Agenticness — how well agents can access and operate the productAgenticness

      How well agents can access and operate the product

      Agent access

      1. ai-native userPoint an agent at llms.txt or agent-oriented docs

        weight 2 · round to Bun (package manager)
        pnpmnone0/10

        Direct probes show pnpm.io does not serve an llms.txt or markdown-formatted docs (404s), and no evidence pack item mentions agent-oriented documentation formats; the CLI docs page exists but is standard human-facing documentation, not an agent-discoverable format.

        • [probe] PROBE llms.txt: HTTP 404 at https://pnpm.io/llms.txt
        • [probe] PROBE docs-md: HTTP 404 at https://pnpm.io/motivation.md
        • [probe] PROBE openapi: all candidate paths 404 (https://pnpm.io/openapi.json, https://pnpm.io/swagger.json, https://pnpm.io/api/openapi.json, https:…
        Bun (package manager)fullprobed9/10

        Bun ships a live llms.txt (HTTP 200) plus markdown-rendered docs (docs.md), directly enabling an agent to be pointed at agent-oriented documentation, confirmed via direct probes rather than just claims. missing for 10: no independent/community confirmation that agents actually consume it successfully in practice.

        • [probe] PROBE llms.txt: HTTP 200 at https://bun.com/llms.txt # Bun ## Docs - [Welcome to Bun](https://bun.com/docs/index.md): Bun is an all-in-one…
        • [probe] PROBE docs-md: HTTP 200 at https://bun.com/docs.md # Welcome to Bun > Bun is an all-in-one toolkit for developing modern JavaScript/TypeScr…
      2. ai-native userRun the product headlessly / in CI for automation

        weight 2 · round to pnpm

        pnpm has explicit, documented CI-oriented behavior: automatic frozen-lockfile mode when CI is detected, failing installs if the lockfile needs updates, a self-contained executable requiring no Node.js (with ability to install runtime afterwards), and package manager version pinning via packageManager field — all directly aimed at headless/automated CI usage. Community evidence corroborates fast, reliable CI performance. Missing for 10: independent third-party CI-integration case studies beyond docs, and no explicit GitHub Actions/other CI platform official integration guides in evidence.

        • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
        • [claimed-docs] 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 …
        • [claimed-docs] If your `package.json` has a `packageManager` or `devEngines.packageManager` field, pnpm switches to that version on first use
        • [claimed-docs] 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 -…
        • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
        • [community] 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 whi…
        Bun (package manager)partialcommunity6/10

        Bun's CLI supports scriptable, non-interactive flags like --frozen-lockfile for reproducible installs, production mode installs, and global cache usage, which are all suitable for CI pipelines, and its speed claims are documented for automation contexts. However, there is no explicit CI/headless documentation, no GitHub Actions examples, no CI exit-code/error-handling docs, and community evidence shows real-world install flakiness in CI-like conditions (crashes, lockfile issues). missing for 10: explicit CI/headless usage docs or examples, GitHub Actions/official CI integration guide, evidence of stable non-interactive automation behavior, and independent corroboration of headless reliability in pipelines.

        • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
        • [claimed-docs] To install in production mode (without `devDependencies`):
        • [claimed-docs] Bun stores every package downloaded from the registry in a global cache at `~/.bun/install/cache`
        • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…
        • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …
      3. ai-native userUse an official CLI

        weight 2 · round drawn

        pnpm is fundamentally a CLI tool with extensive first-party documentation of its command set (install, audit, patch, licenses, etc.) and a dedicated CLI reference page, plus broad community usage confirming real-world CLI use in scripts/CI. Missing for 10: no AI-specific CLI aids like an llms.txt (404) or machine-readable API/docs for agent discovery.

        • [probe] official CLI documented at https://pnpm.io/pnpm-cli
        • [claimed-docs] Run a full dependency resolution and report what a real install would change, without writing anything to disk.
        • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at `/-/npm/v1/keys`.
        • [claimed-docs] Checks for known security issues with the installed packages.
        • [community] 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 upsid…
        • [community] 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 whi…
        Bun (package manager)fullprobed9/10

        Bun ships an official, extensively documented CLI (bun install, bunx, bun pm, etc.) that is the product's primary interface, and Bun even exposes machine-readable docs (llms.txt, docs.md) explicitly for AI/agent consumption. Community evidence corroborates ergonomic scripting/automation use (comm-8, comm-9). Missing for 10: no first-party documentation of CLI use within specific agent frameworks or automation harnesses beyond anecdotal community reports.

        • [claimed-docs] The `bun` CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for `npm`, `yarn`, and `pnpm`.
        • [claimed-docs] bunx cowsay 'Hello, world!' # execute a package
        • [probe] PROBE llms.txt: HTTP 200 at https://bun.com/llms.txt # Bun ## Docs - [Welcome to Bun](https://bun.com/docs/index.md): Bun is an all-in-one…
        • [probe] PROBE docs-md: HTTP 200 at https://bun.com/docs.md # Welcome to Bun > Bun is an all-in-one toolkit for developing modern JavaScript/TypeScr…
        • [probe] official CLI documented at https://bun.com/docs/cli/install
        • [community] Really loving Bun these days. Was really pleasantly surprised using their shell scripting API in typescript - single file, shebang line, str…
        • [community] It is also my first choice now. Especially due to built in SQLite support. Also recently needed to write a simple script to dump some data t…
      4. ai-native userDrive the product through a documented public API

        weight 3 · round to Bun (package manager)
        pnpmnone0/10

        pnpm is a CLI package manager with no documented public API, SDK, or programmatic interface for AI agents to drive it — probes confirm no llms.txt, no docs-md, and no OpenAPI spec exist, only a CLI reference. missing for 10: any documented public API (REST/SDK/programmatic), machine-readable API spec, or agent-facing interface beyond shell CLI invocation.

        • [probe] PROBE llms.txt: HTTP 404 at https://pnpm.io/llms.txt
        • [probe] PROBE docs-md: HTTP 404 at https://pnpm.io/motivation.md
        • [probe] PROBE openapi: all candidate paths 404 (https://pnpm.io/openapi.json, https://pnpm.io/swagger.json, https://pnpm.io/api/openapi.json, https:…
        • [probe] official CLI documented at https://pnpm.io/pnpm-cli
        Bun (package manager)partialprobed5/10

        Bun ships extensively documented CLI commands (install, pm, audit, workspaces, etc.) and even exposes machine-readable docs via llms.txt/docs.md that an AI agent could parse to drive it, but there is no formal public API (REST/OpenAPI/SDK) for programmatic control—OpenAPI probes all 404. This is CLI-driven automation, not a genuine API contract for agentic integration. missing for 10: a documented HTTP/OpenAPI or SDK-style API, first-party guidance on programmatic/agent use beyond shell invocation, independent confirmation of AI agents successfully driving it.

        • [probe] PROBE llms.txt: HTTP 200 at https://bun.com/llms.txt # Bun ## Docs - [Welcome to Bun](https://bun.com/docs/index.md): Bun is an all-in-one…
        • [probe] PROBE docs-md: HTTP 200 at https://bun.com/docs.md # Welcome to Bun > Bun is an all-in-one toolkit for developing modern JavaScript/TypeScr…
        • [probe] PROBE openapi: all candidate paths 404 (https://bun.com/openapi.json, https://bun.com/swagger.json, https://bun.com/api/openapi.json, https:…
        • [probe] official CLI documented at https://bun.com/docs/cli/install
        • [claimed-docs] The `bun` CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for `npm`, `yarn`, and `pnpm`.

      Api quality

      1. ai-native userExplore an interactive API reference with runnable examples

        weight 2 · round drawn
        pnpmnone0/10

        pnpm is a CLI package manager with static docs pages; there's no evidence of an interactive API reference with runnable examples, and probes for llms.txt, docs-md, and openapi specs all returned 404s, indicating no such interactive/machine-readable reference exists.

        • [probe] PROBE llms.txt: HTTP 404 at https://pnpm.io/llms.txt
        • [probe] PROBE docs-md: HTTP 404 at https://pnpm.io/motivation.md
        • [probe] PROBE openapi: all candidate paths 404 (https://pnpm.io/openapi.json, https://pnpm.io/swagger.json, https://pnpm.io/api/openapi.json, https:…
        Bun (package manager)none0/10

        No evidence of an interactive API reference or runnable examples; docs are static markdown pages and OpenAPI/interactive endpoints all 404. Bun is a package manager/runtime, so the axis is a fair question but nothing in the evidence shows an interactive, runnable reference.

        • [probe] PROBE openapi: all candidate paths 404 (https://bun.com/openapi.json, https://bun.com/swagger.json, https://bun.com/api/openapi.json, https:…
        • [probe] PROBE llms.txt: HTTP 200 at https://bun.com/llms.txt # Bun ## Docs - [Welcome to Bun](https://bun.com/docs/index.md): Bun is an all-in-one…
        • [probe] PROBE docs-md: HTTP 200 at https://bun.com/docs.md # Welcome to Bun > Bun is an all-in-one toolkit for developing modern JavaScript/TypeScr…
      2. ai-native userRely on versioned APIs with a documented deprecation policy

        weight 2 · round drawn
        pnpmnone0/10

        No evidence pack item documents a formal API/CLI versioning scheme or deprecation policy for pnpm; the closest signals are community complaints about breaking changes (e.g., dropped corepack support) with no linked deprecation notice, and no changelog or semver policy is cited.

        • [community] Am I the only one that hates the decision to no longer support corepack?
        Bun (package manager)none0/10

        No evidence of a versioned API surface or documented deprecation policy for Bun's package manager; docs cover install/lockfile/workspaces features but nothing about API versioning guarantees or deprecation timelines, and no OpenAPI/spec was found (bun-probe-3 shows 404s).

        • [probe] PROBE openapi: all candidate paths 404 (https://bun.com/openapi.json, https://bun.com/swagger.json, https://bun.com/api/openapi.json, https:…

      Automation depth — how much of the product can run unattendedAutomation depth

      How much of the product can run unattended

      1. ai-native userPerform bulk operations across many items at once

        weight 2 · round to pnpm

        pnpm's workspace filtering ('run tasks on just the projects you touched'), single lockfile across all packages, and catalogs ('define a dependency version once... reference it everywhere, one line to upgrade') directly enable bulk operations across many packages/dependencies at once, and community reports confirm this monorepo tooling works well in practice. Missing for 10: concrete CLI examples of the --filter bulk syntax, evidence of scale limits, and no AI-native-specific framing or independent benchmarking of bulk operations.

        • [claimed-docs] First-class monorepos: the workspace protocol for local packages, filtering to run tasks on just the projects you touched, and a single lock…
        • [claimed-docs] Define a dependency version once in pnpm-workspace.yaml and reference it as "catalog:" everywhere. One line to upgrade, and no more version-…
        • [claimed-docs] Allows setting project-specific configuration for individual workspace packages. This replaces workspace project-specific `.npmrc` files.
        • [community] we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's b…
        • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
        Bun (package manager)partialcommunity6/10

        Bun's CLI supports several genuine bulk operations useful for automation: filtering/installing across many workspaces with `--filter` or glob patterns (bun-docs-9, bun-docs-21, bun-docs-32), bulk vulnerability remediation via `bun audit --fix` upgrading every vulnerable package at once (bun-docs-7), and shared version catalogs applied across many packages (bun-docs-11, bun-docs-22). These are documented, scriptable CLI behaviors well-suited to programmatic/AI-driven automation, but there is no explicit AI-native batch API, no independent corroboration of large-scale bulk runs, and community threads raise open monorepo-script gaps (bun-comm-10). Missing for 10: a dedicated programmatic/bulk API beyond CLI flags, independent hands-on evidence of large-scale multi-package operations succeeding, and confirmation of per-package script execution at scale in monorepos.

        • [claimed-docs] Runs the audit, then upgrades each vulnerable package to the lowest non-vulnerable version that every dependent's range allows, and installs…
        • [claimed-docs] Install dependencies for all workspaces starting with `pkg-` except for `pkg-c`
        • [claimed-docs] When many packages need the same dependency versions, define those versions once in a catalog in the root `package.json`
        • [claimed-docs] Install dependencies for only `pkg-a` in `./packages/pkg-a`
        • [claimed-docs] When many packages need the same dependency versions, define those versions once in a catalog in the root `package.json` and reference them …
        • [claimed-docs] In a monorepo, you can install the dependencies for a subset of packages using the `--filter` flag.
        • [community] So can I use bun now in pnpm monorepo without problems? I like bun and want to try it out more but also, I don't want to do the hassle of mi…

      Cross platform — stories about cross platform in this arenaCross platform

      Stories about cross platform in this arena

      Platform parity

      1. developerUse the same workflow and config on macOS, Linux, and Windows

        weight 2 · round drawn

        pnpm is a self-contained executable that doesn't require Node.js, can install/pin Node per project, and provides a single consistent CLI/config (pnpm-workspace.yaml, .npmrc) that works the same regardless of OS, plus CI docs treat it uniformly. However, there is no explicit cross-platform statement or Windows/macOS/Linux parity documentation, and community evidence shows real platform-specific friction (Electron/symlink incompatibility, symlinks getting messed up) that undercuts a fully uniform workflow claim. Missing for 10: explicit vendor documentation confirming identical behavior across macOS/Linux/Windows, and independent verification that config/workflow is truly platform-agnostic without caveats.

        • [claimed-docs] 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 …
        • [claimed-docs] Install and pin Node.js per project straight from pnpm — no nvm, no shell hooks, no “works on my machine” version mismatches.
        • [claimed-docs] If your `package.json` has a `packageManager` or `devEngines.packageManager` field, pnpm switches to that version on first use
        • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
        • [community] I was unable to use pnpm with a project that used Electron (~2 years ago), IIRC because some spawned process was incompatible with symlinks.…
        • [community] 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 m…
        Bun (package manager)partialcommunity6/10

        Bun's docs confirm platform-aware install behavior (e.g., hardlink-based node_modules specifically on Linux and Windows) and its package manager is documented to work as a drop-in for npm/yarn/pnpm across projects (bun-docs-25, bun-docs-26). However, community reports flag Windows-specific install bugs/crashes when switching between WSL and native Windows, suggesting the workflow isn't perfectly uniform across all three OSes (bun-comm-7), while other users confirm smooth cross-platform monorepo use (bun-comm-6). Missing for 10: explicit macOS-specific documentation, first-party statement of full config/workflow parity across all three OSes, and resolution of the reported Windows install bugs.

        • [claimed-docs] On Linux and Windows, Bun uses hardlinks to "copy" a module into a project's `node_modules` directory, so the contents of the package only e…
        • [claimed-docs] The `bun` CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for `npm`, `yarn`, and `pnpm`.
        • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …
        • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…

      Ecosystem extensibility — stories about ecosystem extensibility in this arenaEcosystem extensibility

      Stories about ecosystem extensibility in this arena

      Extensibility

      1. developerExtend the manager through third-party taps, overlays, plugins, or backends

        weight 1 · round drawn
        pnpmnone0/10

        The evidence pack shows no plugin architecture, taps, overlays, or pluggable backend system for pnpm — only built-in features like patches, catalogs, and audit. No documentation of a third-party extension mechanism analogous to Homebrew taps or npm/yarn plugin systems appears anywhere in the pack.

          Bun (package manager)none0/10

          The evidence pack covers Bun's install features (workspaces, catalogs, overrides, audit, cache) but contains no mention of a plugin/tap/backend extension mechanism for the package manager itself, unlike e.g. npm plugins or Homebrew taps.

          Private registries

          1. platform-engineerPoint the manager at private registries or mirrors with scoped authentication

            weight 2 · round to pnpm

            The docs mention project-specific `.npmrc`-replacing settings and registry signature verification against per-registry public keys, implying multi-registry support, but there is no explicit documentation in the pack of configuring private registries/mirrors with scoped (per-package-scope) authentication tokens. missing for 10: explicit docs on `.npmrc` scoped registry/authToken configuration, mirror setup examples, and any hands-on confirmation of scoped auth working in practice.

            • [claimed-docs] Allows setting project-specific configuration for individual workspace packages. This replaces workspace project-specific `.npmrc` files.
            • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at `/-/npm/v1/keys`.
            • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at /-/npm/v1/keys.
            • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry
            Bun (package manager)none0/10

            The evidence pack covers install speed, lockfiles, workspaces, caching, audit, and pm subcommands, but contains no mention of configuring private registries, mirrors, scoped registries, or authentication tokens (e.g., via bunfig.toml or .npmrc equivalents). This is a fair capability for a package manager to be judged on, but nothing in the pack demonstrates it.

            Registry

            1. developerInstall almost anything I need from a large, actively maintained package registry or repository

              weight 2 · round drawn

              pnpm is a drop-in replacement for npm that installs from the same npm registry ecosystem, giving developers access to virtually the entire npm package registry without migration or rewrites; community reports confirm large real-world projects (20+ package monorepos, Electron apps, etc.) installing arbitrary npm dependencies successfully via pnpm. missing for 10: explicit first-party statements about registry size/maintenance or support for alternate registries beyond npm compatibility.

              • [claimed-docs] pnpm is a drop-in replacement for npm — and then keeps going, with the features large repos actually need.
              • [claimed-docs] Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.
              • [claimed-docs] pnpm is a drop-in replacement for npm. Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.
              • [community] 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…
              • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
              Bun (package manager)fullcommunity8/10

              Bun is explicitly designed as an npm-compatible package manager, installing directly from the npm registry (the largest JS package ecosystem) with lockfile migration from npm/yarn/pnpm, global installs, bunx for one-off execution, and workspace/monorepo support, all documented extensively. Community reports corroborate real-world usage of `bun install` against npm packages, with some install reliability bugs and edge-case runtime incompatibilities (unrelated to registry breadth) noted as caveats. Missing for 10: independent benchmark of registry breadth/failure-rate across large package sets, and resolution of noted install crash bugs.

              • [claimed-docs] ⚡️ 25x faster — Switch from `npm install` to `bun install` in any Node.js project to make your installations up to 25x faster.
              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles: `yarn.lock` (v1), `package-lock…
              • [claimed-docs] It's a standalone tool that works in existing Node.js projects; if your project has a `package.json`, you can use `bun install`.
              • [claimed-docs] The `bun` CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for `npm`, `yarn`, and `pnpm`.
              • [claimed-docs] bunx cowsay 'Hello, world!' # execute a package
              • [claimed-docs] npm-compatible, up to 30× faster. Workspaces, catalogs, overrides, patches and a lockfile you can read.
              • [community] You can use Bun as package manager only. You don't have to use Bun as runtime.
              • [community] I used bun for the first time last week. It was awesome! The built-in server and SQLite meant i didn't need any dependencies besides bun its…
              • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…

            Install reproducibility — stories about install reproducibility in this arenaInstall reproducibility

            Stories about install reproducibility in this arena

            Bootstrap

            1. developerBootstrap a fresh clone with one command that installs everything the project declares

              weight 2 · round drawn

              pnpm's core workflow is a single `pnpm install` that resolves and links all declared dependencies from package.json/lockfile, with frozen-lockfile enforcement in CI (docs-13, docs-34) ensuring reproducible bootstrapping, and community reports confirm fast, reliable installs on fresh clones/monorepos (pnpm-comm-5, pnpm-comm-14, pnpm-comm-17). The content-addressable store and node_modules linking (docs-15, docs-28) further support consistent installs across machines. Missing for 10: an explicit doc snippet naming the single `pnpm install` bootstrap command/flow rather than inferring it from CI/lockfile docs, and independent benchmarking beyond anecdotal HN comments.

              • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
              • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
              • [claimed-docs] Files inside node_modules are hard-linked from a single content-addressable store. A hundred projects on the same version cost you one copy …
              • [claimed-docs] The files in the node_modules directories are hard links to the same files in the content-addressable store.
              • [community] 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 whi…
              • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
              • [community] 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 …
              Bun (package manager)fullcommunity8/10

              Bun's `bun install` reads package.json/workspaces and lockfile, migrates other lockfiles automatically, and supports `--frozen-lockfile` for reproducible installs, directly matching the one-command bootstrap story; community posts also confirm real-world use as a package manager. Missing for 10: independent benchmarking of fresh-clone bootstrap reliability across OSes, and some community reports of install crashes/edge-case bugs (old lockfiles, WSL/Windows switching) that add minor caveats.

              • [claimed-docs] It's a standalone tool that works in existing Node.js projects; if your project has a `package.json`, you can use `bun install`.
              • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles: `yarn.lock` (v1), `package-lock…
              • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
              • [claimed-docs] With workspaces, you develop several independent packages in a single repository, a _monorepo_.
              • [community] You can use Bun as package manager only. You don't have to use Bun as runtime.
              • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …
              • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…

            Lockfiles

            1. platform-engineerEnforce a frozen/immutable lockfile mode that fails the install when the manifest and lockfile disagree

              weight 2 · round drawn

              pnpm documents an explicit --frozen-lockfile install mode that fails when the lockfile doesn't match the manifest, and auto-enables this mode in CI environments, directly matching the platform-engineer's need for enforceable install reproducibility. missing for 10: independent/hands-on confirmation of frozen-lockfile failure behavior beyond first-party docs.

              • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
              • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
              Bun (package manager)fullclaimed9/10

              Bun's docs explicitly document `--frozen-lockfile` for reproducible installs, stating Bun installs the exact versions in the lockfile and does not update it, which matches the enforcement behavior platform engineers need; the lockfile format and reproducibility model are also well documented. missing for 10: explicit confirmation/example of the install failing (non-zero exit) when manifest and lockfile disagree, and independent/community corroboration of this specific flag's failure behavior.

              • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
              • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
              • [claimed-docs] Bun v1.2 changed the default lockfile format to the text-based `bun.lock`.
            2. developerInstall dependencies from a lockfile and get the exact same resolved versions on every machine

              weight 3 · round drawn

              pnpm's docs describe frozen-lockfile installs (default in CI, failing if the lockfile is stale) and a content-addressable, hard-linked store that guarantees identical resolved package files across machines, and multiple community reports confirm consistent, fast, reproducible installs in real projects/monorepos. Missing for 10: an independent third-party audit specifically verifying byte-identical resolution across machines, and one community comment (pnpm-comm-15) prefers yarn3 for reproducibility, giving a minor secondary caveat.

              • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
              • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
              • [claimed-docs] Files inside node_modules are hard-linked from a single content-addressable store. A hundred projects on the same version cost you one copy …
              • [claimed-docs] The files in the node_modules directories are hard links to the same files in the content-addressable store.
              • [community] 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 upsid…
              • [community] we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's b…
              • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
              • [community] We migrated from pnpm to yarn3 with node_modules linker. pnpm focus on wrong things, speed, disk efficiently is less important than stable, …
              Bun (package manager)fullcommunity8/10

              Bun documents a lockfile (bun.lock) that captures resolved versions and an explicit --frozen-lockfile flag that installs exact versions without updating, directly matching the reproducibility story; it also auto-migrates from npm/yarn/pnpm lockfiles. A community report notes occasional install crashes tied to stale lockfiles/node_modules, a minor real-world caveat rather than a fundamental contradiction. Missing for 10: independent large-scale reproducibility testing/benchmarks and resolution of the noted crash bug reports.

              • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
              • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
              • [claimed-docs] Bun v1.2 changed the default lockfile format to the text-based `bun.lock`.
              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles
              • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…

            Pinning

            1. developerPin exact versions of packages and tools per project and have the manager respect those pins

              weight 3 · round to Bun (package manager)

              pnpm supports lockfiles with frozen-install/CI enforcement, overrides in pnpm-workspace.yaml, catalogs for pinning shared versions, and packageManager/devEngines pinning of Node itself, all of which are respected during install (frozen-lockfile, --offline, --update-checksums controls). missing for 10: independent hands-on verification of pin enforcement across edge cases, and clearer detail on per-dependency exact-version pinning (save-exact) beyond catalogs/overrides.

              • [claimed-docs] Define a dependency version once in pnpm-workspace.yaml and reference it as "catalog:" everywhere. One line to upgrade, and no more version-…
              • [claimed-docs] Add overrides to the `pnpm-workspace.yaml` file in order to force non-vulnerable versions of the dependencies.
              • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
              • [claimed-docs] If your `package.json` has a `packageManager` or `devEngines.packageManager` field, pnpm switches to that version on first use
              • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
              • [claimed-docs] Allows setting project-specific configuration for individual workspace packages. This replaces workspace project-specific `.npmrc` files.
              • [claimed-docs] Catalogs are also defined in the `pnpm-workspace.yaml` file. See [_Catalogs_](/catalogs) for details.
              Bun (package manager)fullcommunity9/10

              Bun generates a lockfile (bun.lock) that pins exact resolved versions, and `bun install --frozen-lockfile` explicitly installs those exact versions without updating, satisfying per-project version pinning; overrides/resolutions further let developers force exact versions across the tree. missing for 10: independent/hands-on confirmation specifically testing that frozen-lockfile pins are honored under edge cases (only general community praise/issues about monorepo installs, not pin-specific verification).

              • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
              • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
              • [claimed-docs] Bun v1.2 changed the default lockfile format to the text-based `bun.lock`.
              • [claimed-docs] Bun supports npm's `"overrides"` and Yarn's `"resolutions"` in `package.json`. Both specify a version range for _metadependencies_
              • [claimed-docs] Bun supports npm's `"overrides"` and Yarn's `"resolutions"` in `package.json`.
              • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …

            Migration adoption — stories about migration adoption in this arenaMigration adoption

            Stories about migration adoption in this arena

            Compatibility

            1. switcherKeep using familiar commands and interface conventions from the incumbent tool while adopting this manager

              weight 2 · round to Bun (package manager)

              pnpm explicitly markets itself as a drop-in npm replacement usable on existing projects with no migration or lockfile rewrites, and community reports confirm successful switches from npm/yarn/lerna with major speed gains. However, hands-on accounts document real behavioral differences from npm that switchers hit — peer deps aren't auto-installed (unlike npm@7+), some setups needed --shamefully-hoist to restore npm-like flat resolution, symlink-related incompatibilities (e.g. Electron), and confusion from the pnpm binary name being easily mistyped as npm. missing for 10: independent verification that all npm CLI flags/behaviors are fully compatible, and resolution of the documented peer-dependency/symlink friction points.

              • [claimed-docs] pnpm is a drop-in replacement for npm — and then keeps going, with the features large repos actually need.
              • [claimed-docs] Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.
              • [claimed-docs] pnpm is a drop-in replacement for npm. Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.
              • [community] 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…
              • [community] we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's b…
              • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
              • [community] 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 …
              • [community] Pnpm doesn't auto install peer dependencies, which is annoying and forces you to unnecessary add them to package.json. Npm@7 with auto insta…
              • [community] I was unable to use pnpm with a project that used Electron (~2 years ago), IIRC because some spawned process was incompatible with symlinks.…
              • [community] 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 d…
              Bun (package manager)fullcommunity8/10

              Bun explicitly positions itself as a drop-in replacement for npm/yarn/pnpm, supporting familiar commands (`bun install`, `bunx`), automatic migration of existing `yarn.lock`/`package-lock.json`/`pnpm-lock.yaml` files, and npm-compatible fields like `overrides`/`resolutions`, letting switchers keep muscle-memory commands and config conventions (bun-docs-1, bun-docs-2, bun-docs-17, bun-docs-18, bun-docs-26, bun-docs-31). Community members confirm they use Bun purely as a package manager without switching runtimes, easing adoption (bun-comm-2, bun-comm-4). Missing for 10: independent confirmation of complete command-surface parity for less common workflows, and some community reports of monorepo/lockfile migration friction and crashes that qualify a fully seamless switch (bun-comm-7, bun-comm-10).

              • [claimed-docs] ⚡️ 25x faster — Switch from `npm install` to `bun install` in any Node.js project to make your installations up to 25x faster.
              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles: `yarn.lock` (v1), `package-lock…
              • [claimed-docs] It's a standalone tool that works in existing Node.js projects; if your project has a `package.json`, you can use `bun install`.
              • [claimed-docs] Bun supports npm's `"overrides"` and Yarn's `"resolutions"` in `package.json`. Both specify a version range for _metadependencies_
              • [claimed-docs] The `bun` CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for `npm`, `yarn`, and `pnpm`.
              • [claimed-docs] npm-compatible, up to 30× faster. Workspaces, catalogs, overrides, patches and a lockfile you can read.
              • [community] You can use Bun as package manager only. You don't have to use Bun as runtime.
              • [community] Didn't prevent me from switching to Bun as the cost is 0.
              • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…
              • [community] So can I use bun now in pnpm monorepo without problems? I like bun and want to try it out more but also, I don't want to do the hassle of mi…

            Migration

            1. switcherMigrate an existing project from the incumbent tool with documented import or conversion tooling

              weight 2 · round to Bun (package manager)

              pnpm positions itself as a drop-in replacement for npm requiring no migration/rewrites/lockfile gymnastics, and community reports confirm real-world migrations from yarn/lerna/npm with noted speed and dependency benefits (pnpm-docs-2, pnpm-docs-17, pnpm-comm-10, pnpm-comm-14, pnpm-comm-17). However there is no dedicated migration guide, import command, or conversion tooling documented, and community evidence shows friction requiring workarounds like --shamefully-hoist and manual peer-dependency fixes during migration. Missing for 10: a documented step-by-step migration/import guide, an automated lockfile-conversion tool, and first-party acknowledgment of common migration pitfalls.

              • [claimed-docs] Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.
              • [claimed-docs] pnpm is a drop-in replacement for npm. Point it at any existing project — no migration, no rewrites, no lockfile gymnastics.
              • [community] 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…
              • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
              • [community] 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 …
              • [community] Pnpm doesn't auto install peer dependencies, which is annoying and forces you to unnecessary add them to package.json. Npm@7 with auto insta…
              Bun (package manager)fullcommunity7/10

              Bun documents drop-in npm compatibility ("bun install in any Node.js project") and automatic migration of existing yarn.lock, package-lock.json, and pnpm-lock.yaml files into bun.lock, directly addressing incumbent-tool migration. Community reports confirm it's usable as a pure package-manager swap, though some note lockfile/node_modules switching bugs and monorepo migration uncertainty. Missing for 10: independent case studies of full large-project migrations, and resolution of reported install crashes when switching lockfile formats.

              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles: `yarn.lock` (v1), `package-lock…
              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles
              • [claimed-docs] When you run `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles:
              • [claimed-docs] It's a standalone tool that works in existing Node.js projects; if your project has a `package.json`, you can use `bun install`.
              • [claimed-docs] ⚡️ 25x faster — Switch from `npm install` to `bun install` in any Node.js project to make your installations up to 25x faster.
              • [community] You can use Bun as package manager only. You don't have to use Bun as runtime.
              • [community] FYI, there seems to be some bugs with installs yet that cause bun to crash. Might be related to having an old package-lock or old node_modul…
              • [community] So can I use bun now in pnpm monorepo without problems? I like bun and want to try it out more but also, I don't want to do the hassle of mi…

            Monorepo workspaces — stories about monorepo workspaces in this arenaMonorepo workspaces

            Stories about monorepo workspaces in this arena

            Workspaces

            1. developerManage many packages in one monorepo with workspaces sharing a single lockfile and cross-linked local dependencies

              weight 3 · round to pnpm

              pnpm's docs explicitly describe first-class monorepo support: workspace protocol for cross-linked local packages, single lockfile across the workspace, filtering to run tasks on touched projects, and catalogs for shared dependency versions to avoid drift. Community evidence corroborates this in practice, with users praising pnpm's built-in monorepo support after migrating from Lerna/Yarn. Missing for 10: no independent large-scale case study detailing lockfile conflict resolution at scale, and some community reports note occasional symlink/dependency-linking glitches in monorepos.

              • [claimed-docs] First-class monorepos: the workspace protocol for local packages, filtering to run tasks on just the projects you touched, and a single lock…
              • [claimed-docs] Define a dependency version once in pnpm-workspace.yaml and reference it as "catalog:" everywhere. One line to upgrade, and no more version-…
              • [claimed-docs] pnpm supports the workspace: protocol. When this protocol is used, pnpm will refuse to resolve to anything other than a local workspace pack…
              • [claimed-docs] we dynamically replace any workspace: dependency by: The corresponding version in the target workspace
              • [claimed-docs] we dynamically replace any `workspace:` dependency by: The corresponding version in the target workspace
              • [community] we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's b…
              • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
              • [community] 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 m…
              Bun (package manager)fullcommunity8/10

              Bun's docs thoroughly describe monorepo workspaces with a single shared lockfile (bun.lock), cross-linked local packages, catalogs for shared versions, --filter for scoping installs, and hoisting-barrier controls for self-contained workspaces. Community evidence corroborates reliability gains for monorepo installs (isolated installs), though some users report install bugs and open questions about per-package script execution. Missing for 10: independent large-scale case study of cross-linked local dependency workflows and resolution of the unanswered community question about running scripts on specific workspace packages.

              • [claimed-docs] With workspaces, you develop several independent packages in a single repository, a _monorepo_.
              • [claimed-docs] Install dependencies for all workspaces starting with `pkg-` except for `pkg-c`
              • [claimed-docs] Mark such a workspace as self-contained... For that workspace `bun install` then behaves as a hoisting barrier
              • [claimed-docs] When many packages need the same dependency versions, define those versions once in a catalog in the root `package.json`
              • [claimed-docs] Install dependencies for only `pkg-a` in `./packages/pkg-a`
              • [claimed-docs] When many packages need the same dependency versions, define those versions once in a catalog in the root `package.json` and reference them …
              • [claimed-docs] In a monorepo, you can install the dependencies for a subset of packages using the `--filter` flag.
              • [claimed-docs] Mark such a workspace as self-contained... nothing it depends on... is placed above `apps/desktop/node_modules`, so that directory is a comp…
              • [claimed-docs] Bun supports [`workspaces`](https://docs.npmjs.com/cli/v9/using-npm/workspaces?v=true#description) in `package.json`. With workspaces, you d…
              • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.
              • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …
              • [community] So can I use bun now in pnpm monorepo without problems? I like bun and want to try it out more but also, I don't want to do the hassle of mi…
            2. developerRun installs and scripts filtered to a subset of workspace packages (including only those affected by a change)

              weight 2 · round to pnpm

              pnpm docs explicitly cite 'filtering to run tasks on just the projects you touched' as a first-class monorepo feature, plus community feedback confirms strong built-in monorepo support for scripts/installs across workspace subsets. missing for 10: no explicit doc citation naming the `--filter` flag syntax or change-based filtering (e.g. `--filter=...[origin/main]`), and no independent hands-on verification of filtered install/run behavior beyond general monorepo praise.

              • [claimed-docs] First-class monorepos: the workspace protocol for local packages, filtering to run tasks on just the projects you touched, and a single lock…
              • [community] we're part way through switching all our monorepos from lerna to pnpm & simply could not be happier & more excited... everything on pnpm's b…
              • [community] pnpm is great. I love `pnpm store prune`. Also it's great for monorepos.
              Bun (package manager)partialcommunity6/10

              Bun's docs explicitly support installing (and by extension running) commands scoped to a subset of workspace packages via the `--filter` flag, including glob patterns like `pkg-*` excluding `pkg-c`, or a single package path (bun-docs-32, bun-docs-9, bun-docs-21). However, there is no documented mechanism for detecting packages 'affected by a change' (e.g., git-diff-based filtering as in Turborepo/Nx), and a community comment expresses uncertainty about whether running scripts on specific packages in a monorepo works reliably (bun-comm-10). Missing for 10: change-affected/git-diff-based filtering, explicit script-running (not just install) filter examples, and independent hands-on confirmation.

              • [claimed-docs] In a monorepo, you can install the dependencies for a subset of packages using the `--filter` flag.
              • [claimed-docs] Install dependencies for all workspaces starting with `pkg-` except for `pkg-c`
              • [claimed-docs] Install dependencies for only `pkg-a` in `./packages/pkg-a`
              • [community] So can I use bun now in pnpm monorepo without problems? I like bun and want to try it out more but also, I don't want to do the hassle of mi…

            Openness — open source, data portability, and self-hosting storiesOpenness

            Open source, data portability, and self-hosting stories

            1. ai-native userRead the product's source under an open license

              weight 2 · round drawn
              pnpmnone0/10

              pnpm is known to be open source (MIT licensed, hosted on GitHub), but the evidence pack contains no citation confirming a license or repository access — only a GitHub repo link with unrelated performance claims, no license mention.

                Bun (package manager)none0/10

                The evidence pack contains no reference to Bun's source code repository, license, or any statement about open-source availability — all citations are docs/CLI usage examples or community sentiment about performance, none addressing openness of the source. Missing for 10: any mention of a GitHub repo, license (e.g., MIT), or contribution/source-availability documentation.

                Performance caching — stories about performance caching in this arenaPerformance caching

                Stories about performance caching in this arena

                Benchmarks

                1. developerSee published benchmarks or measured numbers backing the manager's speed claims

                  weight 1 · round drawn

                  GitHub README explicitly claims 'Up to 2x faster than the alternatives (see benchmark)' pointing to a benchmark section, and independent community reports give concrete measured numbers (e.g., 15s vs 35s CI install, and a Rust rewrite showing 3x/29x speedups). However, the actual benchmark methodology/table isn't present in the evidence pack, and doc probes show no dedicated benchmarks page was found. Missing for 10: the full benchmark data/table itself, methodology details, and independent third-party benchmark reproduction beyond anecdotal HN comments.

                  • [github] Up to 2x faster than the alternatives (see [benchmark](#benchmark)).
                  • [community] 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 whi…
                  • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
                  • [community] 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 …
                  Bun (package manager)partialcommunity6/10

                  Bun's docs and marketing page publish concrete speed claims (25x/30x faster) and even a specific measured number comparison (bun v1.4 0.21s vs npm v12.0.2 4.45s), which goes beyond a bare marketing slogan. However, these are all first-party vendor numbers with no disclosed benchmark methodology (hardware, package set, versions) and no independent third-party benchmark reproduction in the evidence; community comments only vaguely corroborate perceived speedups (e.g., isolated installs 10-20x faster on Windows) without rigorous numbers. Missing for 10: independent/third-party benchmark verification, transparent methodology/environment details for the vendor numbers.

                  • [claimed-docs] ⚡️ 25x faster — Switch from `npm install` to `bun install` in any Node.js project to make your installations up to 25x faster.
                  • [claimed-docs] bun v1.4 0.21s ... npm v12.0.2 4.45s
                  • [claimed-docs] npm-compatible, up to 30× faster. Workspaces, catalogs, overrides, patches and a lockfile you can read.
                  • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …

                Binary caching

                1. developerInstall prebuilt binary packages from a cache instead of compiling from source

                  weight 3 · round to Bun (package manager)

                  pnpm's content-addressable store hard-links previously downloaded/built package files across projects, and `--offline` forces installs to use only packages already in the local store rather than re-fetching, which delivers the caching benefit described. However, the evidence never specifically addresses caching precompiled native binaries to skip source compilation (e.g., node-gyp builds) — it's generic package caching, not binary-artifact caching. missing for 10: explicit documentation of prebuilt/precompiled binary caching for native addons, independent benchmark isolating compile-skip behavior.

                  • [claimed-docs] Files inside node_modules are hard-linked from a single content-addressable store. A hundred projects on the same version cost you one copy …
                  • [claimed-docs] The files in the node_modules directories are hard links to the same files in the content-addressable store.
                  • [claimed-docs] If true, pnpm will use only packages already available in the store. If a package won't be found locally, the installation will fail.
                  • [community] 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 whi…
                  • [community] I recently migrated a fairly large monorepo (20+ packages) that used Lerna and npm to pnpm... Dependency install times went down by a huge a…
                  Bun (package manager)fullcommunity7/10

                  Bun's docs describe a global package cache (~/.bun/install/cache) with hardlinked installs, and explicitly state a required dependency not found in the cache errors rather than falling back to compiling/fetching from source, supporting fast reuse instead of source builds. Community and benchmark evidence corroborate large speedups from this caching behavior. missing for 10: explicit documentation of prebuilt *binary* (native addon) caching versus source compilation, and independent hands-on verification of that specific scenario.

                  • [claimed-docs] Bun stores every package downloaded from the registry in a global cache at `~/.bun/install/cache`
                  • [claimed-docs] a required dependency that is not cached is an error
                  • [claimed-docs] On Linux and Windows, Bun uses hardlinks to "copy" a module into a project's `node_modules` directory, so the contents of the package only e…
                  • [claimed-docs] bun v1.4 0.21s ... npm v12.0.2 4.45s
                  • [community] Isolated installs are a significant performance improvement on Windows (10x, sometimes 20x faster installs) and a minor positive or neutral …

                Ci speed

                1. platform-engineerMake CI installs fast with a documented cache-restore setup and offline-capable installs

                  weight 3 · round to pnpm

                  pnpm documents CI-specific behavior including automatic frozen-lockfile mode, a `--prefer-offline`/offline install flag that fails if packages aren't in the local store, and a content-addressable hard-linked store that dramatically speeds up repeated installs, all reinforced by community reports of faster CI installs and smaller caches. missing for 10: a dedicated first-party 'CI cache setup' guide walking through actions/cache key configuration for pnpm store dir, and independent benchmark data specifically for offline/cache-restore CI scenarios beyond general speed anecdotes.

                  • [claimed-docs] When pnpm detects that it is running in CI, it switches to frozen-lockfile mode automatically.
                  • [claimed-docs] If true, pnpm will use only packages already available in the store. If a package won't be found locally, the installation will fail.
                  • [claimed-docs] Files inside node_modules are hard-linked from a single content-addressable store. A hundred projects on the same version cost you one copy …
                  • [claimed-docs] The files in the node_modules directories are hard links to the same files in the content-addressable store.
                  • [claimed-docs] In a CI environment, installation fails if a lockfile is present but needs an update.
                  • [claimed-docs] 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 …
                  • [community] 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 whi…
                  • [community] 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 …
                  Bun (package manager)partialclaimed7/10

                  Bun documents a global package cache (~/.bun/install/cache), a strict offline mode where missing cached packages error instead of hitting the network, and --frozen-lockfile for reproducible installs — the core primitives for fast, cache-restorable, offline-capable CI installs. However there's no explicit CI-specific guide (e.g. GitHub Actions cache-restore recipe) tying these primitives together for a platform engineer. Missing for 10: a documented CI/CD cache-restore workflow example, independent benchmarks of cache-restore behavior in CI.

                  • [claimed-docs] Bun stores every package downloaded from the registry in a global cache at `~/.bun/install/cache`
                  • [claimed-docs] On Linux and Windows, Bun uses hardlinks to "copy" a module into a project's `node_modules` directory, so the contents of the package only e…
                  • [claimed-docs] Never touch the network (registry, tarball URLs, git); a required dependency that is not cached is an error
                  • [claimed-docs] a required dependency that is not cached is an error
                  • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.

                Disk efficiency

                1. developerRely on a shared content-addressable store so the same dependency version is stored once on disk across all projects

                  weight 2 · round drawn

                  First-party docs explicitly describe the content-addressable store with hard-linked files so a package version is stored once on disk across projects, and community reports independently corroborate dramatic disk-space savings from this design. Missing for 10: independent benchmark/measurement of actual disk savings across many real projects beyond anecdotal HN comments.

                  • [claimed-docs] Files inside node_modules are hard-linked from a single content-addressable store. A hundred projects on the same version cost you one copy …
                  • [claimed-docs] The files in the node_modules directories are hard links to the same files in the content-addressable store.
                  • [community] 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.
                  Bun (package manager)fullclaimed9/10

                  Bun documents a global content-addressable cache at ~/.bun/install/cache storing every downloaded package once, and on Linux/Windows uses hardlinks so a package's contents exist in a single location on disk while being linked into each project's node_modules, directly matching the story. Missing for 10: independent hands-on benchmark/verification specifically confirming cross-project single-copy storage (community evidence discusses install speed/reliability but not disk dedup directly).

                  • [claimed-docs] Bun stores every package downloaded from the registry in a global cache at `~/.bun/install/cache`
                  • [claimed-docs] On Linux and Windows, Bun uses hardlinks to "copy" a module into a project's `node_modules` directory, so the contents of the package only e…

                Security supply chain — stories about security supply chain in this arenaSecurity supply chain

                Stories about security supply chain in this arena

                Auditing

                1. platform-engineerAudit installed dependencies for known vulnerabilities directly from the CLI

                  weight 3 · round drawn

                  pnpm ships a native `pnpm audit` CLI command that checks installed packages for known security issues, supports `--fix`, and even verifies registry signatures; docs also describe using overrides to force non-vulnerable versions. This directly matches the platform-engineer story of auditing dependencies from the CLI. Missing for 10: independent/hands-on community corroboration of `pnpm audit` usage and details on vulnerability database source/severity reporting.

                  • [claimed-docs] Checks for known security issues with the installed packages.
                  • [claimed-docs] Checks for known security issues with the installed packages... run `pnpm audit --fix`.
                  • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at `/-/npm/v1/keys`.
                  • [claimed-docs] Add overrides to the `pnpm-workspace.yaml` file in order to force non-vulnerable versions of the dependencies.
                  Bun (package manager)fullclaimed8/10

                  Bun ships a dedicated `bun audit` CLI command that reads the lockfile, checks packages against the npm advisory endpoint, and prints a vulnerability report, with `bun audit --fix` to auto-remediate — directly matching the platform-engineer's need to audit dependencies from the CLI. missing for 10: no independent/hands-on community corroboration of `bun audit` in practice, and no detail on report format or CI integration examples.

                  • [claimed-docs] Bun reads the package list from `bun.lock` (no `node_modules` required), sends it to the npm advisory endpoint, and prints a report.
                  • [claimed-docs] Runs the audit, then upgrades each vulnerable package to the lowest non-vulnerable version that every dependent's range allows, and installs…

                Hardening

                1. platform-engineerTurn on protections against malicious packages, such as blocking lifecycle scripts or enforcing a minimum release age

                  weight 2 · round drawn

                  pnpm docs confirm lifecycle-script blocking ("Install scripts don't run for arbitrary dependencies. You approve which packages may execute build scripts") plus audit/signature verification for known vulnerabilities, and community evidence confirms a real `minimumReleaseAge` config key exists. However, the minimum-release-age feature is not documented in the first-party pack (only referenced via a confused community question about global vs workspace scope), and there's no first-party doc explaining how to configure/enforce it. Missing for 10: first-party docs on minimumReleaseAge configuration and scope, plus confirmation it works reliably at the global level.

                  • [claimed-docs] Install scripts don't run for arbitrary dependencies. You approve which packages may execute build scripts — supply-chain safety without ext…
                  • [claimed-docs] Install scripts don’t run for arbitrary dependencies. You approve which packages may execute build scripts — supply-chain safety without ext…
                  • [claimed-docs] Checks for known security issues with the installed packages.
                  • [claimed-docs] Checks for known security issues with the installed packages... run `pnpm audit --fix`.
                  • [community] 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 …
                  • [community] 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…
                  Bun (package manager)partialclaimed6/10

                  Bun ships strong default protection against malicious lifecycle scripts: it does not execute postinstall/lifecycle scripts by default, and platform-engineers can allowlist trusted packages via `trustedDependencies` (bun-docs-19, bun-docs-4). There is also a supply-chain audit command that checks the npm advisory database (bun-docs-6, bun-docs-7). However, no evidence exists of a 'minimum release age' enforcement feature, which is explicitly part of the user story. Missing for 10: minimum-release-age enforcement/config, independent/hands-on confirmation of the lifecycle-script blocking behavior in practice.

                  • [claimed-docs] Bun does not execute arbitrary lifecycle scripts like `postinstall` for installed dependencies. Executing arbitrary scripts represents a pot…
                  • [claimed-docs] To tell Bun to allow lifecycle scripts for a particular package, add the package to `trustedDependencies` in your package.json.
                  • [claimed-docs] Bun reads the package list from `bun.lock` (no `node_modules` required), sends it to the npm advisory endpoint, and prints a report.
                  • [claimed-docs] Runs the audit, then upgrades each vulnerable package to the lowest non-vulnerable version that every dependent's range allows, and installs…

                Integrity

                1. platform-engineerTrust that fetched packages are verified against checksums, signatures, or attestations before they run

                  weight 2 · round to pnpm

                  pnpm ships `pnpm audit` which verifies ECDSA registry signatures of installed packages against published registry keys and flags known vulnerabilities, plus install-script gating so arbitrary deps can't execute without approval, and lockfile checksums that must be explicitly overridden via --update-checksums. However, signature/audit verification is invoked manually rather than automatically gating every install, and there's no documented support for artifact attestations (e.g., SLSA/sigstore provenance) as part of the trust chain. Missing for 10: automatic pre-execution signature/attestation enforcement on every install, explicit attestation/provenance verification support, independent confirmation the audit signature check is on by default.

                  • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at `/-/npm/v1/keys`.
                  • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry at /-/npm/v1/keys.
                  • [claimed-docs] Verifies the ECDSA registry signatures of installed packages against the public keys published by each registry
                  • [claimed-docs] Checks for known security issues with the installed packages.
                  • [claimed-docs] Install scripts don't run for arbitrary dependencies. You approve which packages may execute build scripts — supply-chain safety without ext…
                  • [claimed-docs] Install scripts don’t run for arbitrary dependencies. You approve which packages may execute build scripts — supply-chain safety without ext…
                  • [claimed-docs] --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 b…
                  Bun (package manager)none0/10

                  Bun's docs describe lockfiles, trustedDependencies, blocking of arbitrary postinstall scripts, and an npm-advisory-based audit command, but none of the evidence mentions checksum verification, package signature verification, or provenance/attestation checks before installing or running packages. missing for 10: explicit checksum/integrity hash verification, package signature verification, and supply-chain attestation (e.g. SLSA/sigstore) support.

                  • [claimed-docs] To tell Bun to allow lifecycle scripts for a particular package, add the package to `trustedDependencies` in your package.json.
                  • [claimed-docs] Bun reads the package list from `bun.lock` (no `node_modules` required), sends it to the npm advisory endpoint, and prints a report.
                  • [claimed-docs] Bun does not execute arbitrary lifecycle scripts like `postinstall` for installed dependencies. Executing arbitrary scripts represents a pot…
                  • [claimed-docs] For reproducible installs, use `--frozen-lockfile`. Bun installs the exact versions specified in the lockfile and does not update it.
                  • [claimed-docs] `bun install` creates a lockfile called `bun.lock`.

                Toolchain management — stories about toolchain management in this arenaToolchain management

                Stories about toolchain management in this arena

                Runtimes

                1. developerInstall and switch language runtimes or tool versions per project from a checked-in config file

                  weight 2 · round to pnpm

                  pnpm docs describe installing/pinning Node.js per project directly from pnpm (no nvm needed), and switching to the version specified in package.json's packageManager/devEngines.packageManager field on first use — exactly the 'checked-in config file' workflow described. GitHub also markets pnpm as usable 'as a Node.js version manager.' Missing for 10: independent/hands-on confirmation that runtime switching works reliably across projects (community discussion instead focuses on corepack deprecation, a related but distinct concern), and broader tool-version support beyond Node.js.

                  • [claimed-docs] Install and pin Node.js per project straight from pnpm — no nvm, no shell hooks, no “works on my machine” version mismatches.
                  • [claimed-docs] 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 …
                  • [claimed-docs] If your `package.json` has a `packageManager` or `devEngines.packageManager` field, pnpm switches to that version on first use
                  • [claimed-docs] 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 -…
                  • [github] Works as a Node.js version manager.
                  Bun (package manager)none0/10

                  The evidence pack covers Bun's package management features (lockfiles, workspaces, caching, audits) but contains no mention of a mechanism to pin or switch Bun/Node runtime versions per project via a checked-in config file (e.g., a .bun-version or engines-based version switcher). This capability is plausible for a JS toolchain tool, but nothing in the docs or community evidence demonstrates it.

                  Not comparable on these axes

                  1. ai-native userPlug MCP servers into this product so it can use their tools

                    weight 3 · not comparable
                    pnpmn/a

                    pnpm is a package manager/CLI, not an AI agent or MCP-capable tool; plugging MCP servers into it to use their tools is a category error for this product type.

                      Bun (package manager)n/a

                      Bun is a JavaScript runtime/package manager, not an AI agent or assistant that consumes external tools via MCP; the evidence is entirely about package installation, workspaces, lockfiles, and CLI features with no mention of MCP integration. Plugging MCP servers into a tool for agentic use is a category mismatch for a package manager.

                      • ai-native userConnect an agent via an official MCP server

                        weight 3 · not comparable
                        pnpmn/a

                        pnpm is a package manager CLI, not an AI agent or a server exposing tools to agents; no evidence of an official MCP server, and this axis is a category error for this product type.

                          Bun (package manager)n/a

                          Bun is a package manager/runtime, not an agent; the story asks about connecting an agent via an official MCP server, which is a different product role. No evidence shows Bun exposing an MCP server endpoint, so the axis is a category mismatch rather than an unmet capability.

                          • ai-native userIssue scoped/least-privilege API credentials for an agent

                            weight 2 · not comparable
                            pnpmn/a

                            pnpm is a package manager, not a credential-issuing or API-access-control service; scoped API credential issuance for agents is outside its product category.

                              Bun (package manager)n/a

                              Bun is a JavaScript runtime/package manager; issuing scoped API credentials for agents is an identity/access-management capability entirely outside its product category, not something a package manager could plausibly ship.

                              • ai-native userBuild against official SDKs

                                weight 2 · not comparable
                                pnpmn/a

                                pnpm is a package manager/CLI tool, not a service or platform that offers SDKs to build against; the concept of 'official SDKs' is a category mismatch for this product type.

                                  Bun (package manager)n/a

                                  Bun is a JavaScript runtime/package manager, not a platform or service that would expose 'official SDKs' for third-party developers to build against; the evidence pack covers package-management features (install, lockfiles, workspaces, audit) with no mention of publishing client SDKs. This story is a category mismatch for a package manager, so the axis does not apply.

                                  • ai-native userSubscribe to events via webhooks

                                    weight 2 · not comparable
                                    pnpmn/a

                                    pnpm is a package manager CLI/tool with no event-driven or webhook-subscription surface; webhooks are not a fair axis for this kind of product.

                                      Bun (package manager)n/a

                                      Bun is a package manager/JS runtime toolkit; subscribing to webhook events is not a relevant capability for this product category, and no evidence pack item relates to webhooks at all.

                                      • ai-native userGet AI-generated insights and suggestions from my data inside the product

                                        weight 2 · not comparable
                                        pnpmn/a

                                        pnpm is a package manager for JavaScript dependency management; it has no data/analytics surface for AI-generated insights or suggestions, so this axis is a category error for this product type.

                                          Bun (package manager)n/a

                                          Bun is a package manager/runtime; there is no evidence of any AI-generated insights or suggestions feature over user data, and this capability is a category error for a package manager's core purpose.

                                          • ai-native userSet up automations that run autonomously in the background

                                            weight 2 · not comparable
                                            pnpmn/a

                                            pnpm is a package manager/CLI tool, not an automation or agent-orchestration platform; setting up autonomous background automations is outside its product category (wrong axis).

                                              Bun (package manager)n/a

                                              Bun is a package manager/runtime toolkit; setting up autonomous background automations (e.g., agent scheduling/workflow orchestration) is not a fair axis for this product category — evidence pack is entirely about install/workspace/lockfile package-management features with no automation/agent orchestration capability shown.

                                              • ai-native userDelegate tasks to a built-in AI assistant inside the product

                                                weight 3 · not comparable
                                                pnpmn/a

                                                pnpm is a package manager/CLI tool, not an AI assistant product; delegating tasks to a built-in AI assistant is a category error for this kind of tool and no evidence suggests otherwise.

                                                  Bun (package manager)n/a

                                                  Bun is a package manager/runtime, not an AI assistant product; no evidence pack item describes a built-in AI assistant feature. Delegating tasks to an in-product AI assistant is a category error for this tool.

                                                  • ai-native userOperate the product with natural-language commands

                                                    weight 2 · not comparable
                                                    pnpmn/a

                                                    pnpm is a package manager CLI operated via explicit commands and config files, not a natural-language interface; there is no evidence (and no plausible category fit) for operating it via NL commands. This axis is a category error for a package manager, so it does not apply.

                                                      Bun (package manager)n/a

                                                      Bun is a package manager/CLI tool operated via explicit commands and flags, not a natural-language interface; no evidence shows any NL command layer, and this axis is a category error for a CLI package manager rather than a missing feature.

                                                      • ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)

                                                        weight 2 · not comparable
                                                        pnpmn/a

                                                        pnpm is a CLI package manager, not a service with an HTTP API; a machine-readable API spec like OpenAPI is not a relevant axis for this product category — it has no web API to document.

                                                          Bun (package manager)partialprobed4/10

                                                          Bun has no REST/HTTP API to describe via a formal OpenAPI spec (it's a local CLI/package manager), but probes confirm it exposes an AI-consumable machine-readable docs equivalent (llms.txt and docs.md) rather than a true OpenAPI/swagger file, which 404s on all standard paths. missing for 10: an actual OpenAPI/swagger spec, any documented API schema, independent confirmation that llms.txt is treated as a valid 'equivalent' by AI tooling.

                                                          • [probe] PROBE llms.txt: HTTP 200 at https://bun.com/llms.txt # Bun ## Docs - [Welcome to Bun](https://bun.com/docs/index.md): Bun is an all-in-one…
                                                          • [probe] PROBE docs-md: HTTP 200 at https://bun.com/docs.md # Welcome to Bun > Bun is an all-in-one toolkit for developing modern JavaScript/TypeScr…
                                                          • [probe] PROBE openapi: all candidate paths 404 (https://bun.com/openapi.json, https://bun.com/swagger.json, https://bun.com/api/openapi.json, https:…
                                                        • ai-native userTest against a sandbox environment without touching production data

                                                          weight 1 · not comparable
                                                          pnpmn/a

                                                          pnpm is a package manager; it has no concept of production data or sandboxed test environments — this axis is a category error for this product type.

                                                            Bun (package manager)n/a

                                                            Bun is a JavaScript package manager/runtime; the concept of a sandbox test environment isolated from 'production data' is unrelated to its package management function and not something this product category addresses — this is a category error for this axis.

                                                            • ai-native userDefine rules that trigger actions automatically on events

                                                              weight 3 · not comparable
                                                              pnpmn/a

                                                              pnpm is a package manager; defining event-triggered automation rules (like workflow/agent rule triggers) is outside its category. It offers lifecycle scripts (install hooks) but no rule-based event-trigger automation system, so this is a category mismatch rather than a missing feature.

                                                                Bun (package manager)n/a

                                                                Bun is a package manager/runtime; no evidence describes any event-triggered rules engine or automation-trigger system, and this capability is outside the category of what a package manager does (a package manager could have lifecycle scripts, but no rule/trigger automation system is claimed).

                                                                • ai-native userSchedule recurring jobs or workflows

                                                                  weight 2 · not comparable
                                                                  pnpmn/a

                                                                  pnpm is a package manager/CLI, not a workflow orchestration or scheduling tool; scheduling recurring jobs is outside its category and not something a package manager could conceivably ship.

                                                                    Bun (package manager)n/a

                                                                    Bun is a package manager/runtime toolkit; scheduling recurring jobs or workflows is a task-scheduler/orchestration concern outside its product category, and no evidence pack item addresses cron-like scheduling or workflow orchestration.

                                                                    • ai-native userVersion, review, and roll back my automations

                                                                      weight 1 · not comparable
                                                                      pnpmn/a

                                                                      pnpm is a package manager, not an automation/workflow orchestration tool; versioning, reviewing, and rolling back 'automations' is not within its product category (it manages dependency lockfiles, not AI agent automations or workflows).

                                                                        Bun (package manager)n/a

                                                                        Bun is a JavaScript package manager/runtime; 'automations' in the AI-native sense (versioning, reviewing, and rolling back agent workflows/automations) is not something a package manager provides. Lockfiles version dependency trees, not automations, so this is a category mismatch rather than a missing feature.

                                                                        • ai-native userDo everything through the API that I can do in the UI

                                                                          weight 2 · not comparable
                                                                          pnpmn/a

                                                                          pnpm is a CLI-only package manager with no graphical UI or web console and no separate API surface — the CLI is the single interface, so an API-vs-UI parity question is a category error for this product type.

                                                                            Bun (package manager)n/a

                                                                            Bun is a CLI-based package manager with no graphical UI; the API-vs-UI parity story is a category mismatch since there is no separate UI surface to compare against the CLI/API.

                                                                            • ai-native userExport all of my data in open formats and leave

                                                                              weight 3 · not comparable
                                                                              pnpmn/a

                                                                              pnpm is a local CLI package manager that operates directly on files in your own repository (package.json, pnpm-lock.yaml) rather than a hosted service that stores user data behind a proprietary interface; there is no 'export and leave' concept applicable since nothing is locked in a vendor silo to begin with. This data-portability/exit story is a category mismatch for a local dev tool, not a capability gap.

                                                                                Bun (package manager)n/a

                                                                                Bun is a local CLI package manager/runtime that operates on the user's own files (package.json, lockfile, node_modules) rather than storing user data in a vendor-controlled service; there is no 'your data' held by Bun to export and no lock-in to escape. This 'export and leave' story targets SaaS/data-hosting products, which is a different axis than a local dev tool.

                                                                                • ai-native userSelf-host the core product

                                                                                  weight 3 · not comparable
                                                                                  pnpmn/a

                                                                                  pnpm is a locally-run, open-source CLI package manager with no hosted/cloud service offering — there is no vendor-hosted version to 'self-host' as an alternative to; the concept of self-hosting doesn't apply to this category of tool.

                                                                                    Bun (package manager)n/a

                                                                                    Bun is a locally-installed CLI/package-manager binary, not a hosted SaaS with a cloud/self-hosted deployment choice — there is no 'core product' server component to self-host, so this axis is a category mismatch for this product type.

                                                                                    • ai-native userChoose where my data is stored (region/residency)

                                                                                      weight 2 · not comparable
                                                                                      pnpmn/a

                                                                                      pnpm is a local package manager with no cloud data storage; data residency/region selection is not applicable to its product category.

                                                                                        Bun (package manager)n/a

                                                                                        Bun is a local package manager/runtime CLI with no cloud data storage component, so data residency/region selection is not an applicable axis for this product category.

                                                                                        • ai-native userPrevent my data from being used to train AI models

                                                                                          weight 3 · not comparable
                                                                                          pnpmn/a

                                                                                          pnpm is a package manager, not an AI model provider or data processor; it has no relationship to AI training data usage policies. This axis is a category error for this product type.

                                                                                            Bun (package manager)n/a

                                                                                            Bun is a package manager/runtime, not an AI service that trains models on user data; there is no data-training relationship for which an opt-out would apply, making this axis a category error for this product type.

                                                                                            • ai-native userControl data retention and deletion

                                                                                              weight 2 · not comparable
                                                                                              pnpmn/a

                                                                                              pnpm is a package manager/build tool, not a data-processing or AI service that retains user data on a vendor's behalf; 'data retention and deletion' controls are not a meaningful axis for this category of product.

                                                                                                Bun (package manager)n/a

                                                                                                Bun is a local package manager/runtime; it does not collect, retain, or process user data on behalf of an operator, so 'data retention and deletion' controls (a privacy-posture concept for services handling user data) do not apply as an axis to this kind of product.

                                                                                                • ai-native userOpt out of telemetry and usage tracking

                                                                                                  weight 2 · not comparable
                                                                                                  pnpmn/a

                                                                                                  pnpm is a local package manager CLI; it does not collect or transmit telemetry/usage data to a vendor server in the way that would require an opt-out, unlike SaaS/AI tools. This is a category mismatch — no evidence pack material discusses telemetry collection or opt-out mechanisms for pnpm.

                                                                                                    Bun (package manager)none0/10

                                                                                                    No evidence in the pack discusses telemetry, usage tracking, or an opt-out mechanism for Bun's CLI/package manager; the docs cover install, cache, workspaces, audit, etc., but nothing about data collection or privacy settings.

                                                                                                    • developerHave the right tool versions and environment variables activate automatically when I enter a project directory

                                                                                                      weight 1 · not comparable

                                                                                                      pnpm documents automatic per-project Node.js version pinning without nvm or shell hooks, switching to the version declared in packageManager/devEngines fields on first use (docs-4, docs-22, docs-27). However, there is no evidence of automatic environment-variable activation, nor of true directory-entry (cd-triggered) activation like direnv/mise — pnpm's switching happens 'on first use' of the pnpm CLI, not on shell directory change. Missing for 10: environment variable auto-loading, true cd-triggered activation (vs. on-command-run switching), and any independent/hands-on confirmation of this specific behavior.

                                                                                                      • [claimed-docs] Install and pin Node.js per project straight from pnpm — no nvm, no shell hooks, no “works on my machine” version mismatches.
                                                                                                      • [claimed-docs] If your `package.json` has a `packageManager` or `devEngines.packageManager` field, pnpm switches to that version on first use
                                                                                                      • [claimed-docs] 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 -…
                                                                                                      • [github] Works as a Node.js version manager.
                                                                                                      Bun (package manager)n/a

                                                                                                      This story describes directory-based auto-activation of tool versions/env vars (e.g. like mise/direnv/asdf), which is outside Bun's scope as a package manager/runtime; no evidence pack item addresses per-directory environment or version activation.