Yarn website screenshot

Yarn

Yarn is an open-source JavaScript package manager and project manager originally created at Facebook in 2016 and now developed as a fully independent community project (Yarn Berry, currently v4) on github.com/yarnpkg/berry. Yarn was the first package manager designed around workspaces and introduced Plug'n'Play (a node_modules-free module resolution strategy), Zero-Installs (committable caches for instant clones), Constraints (a cross-workspace policy DSL), and a rich protocol system covering npm, git, github, file, link, portal, patch, exec, and workspace dependencies. It is distributed via Corepack and licensed under BSD-2-Clause.

Yarn publishes 10 APIs on the APIs.io network. Tagged areas include Package Manager, JavaScript, Node.js, Monorepo, and Workspaces.

The Yarn catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

Yarn’s developer surface includes developer portal, getting-started guide, documentation, changelog, and 32 more developer resources.

30.0/100 thin ▬ flat Agent 0/100 human only Full breakdown ↓
scored 2026-08-05 · rubric v0.9.1
10 APIs 21 Features
Package ManagerJavaScriptNode.jsMonorepoWorkspacesPlug'n'PlayOpen SourceBerryYarn 4

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-05 · rubric v0.9.1
Composite quality — 30.0/100 · thin
Contract Quality 6.9 / 25
Developer Ergonomics 7.0 / 20
Commercial Clarity 0.0 / 20
Operational Transparency 2.7 / 13
Governance 7.0 / 12
Discoverability 6.5 / 10
Agent readiness — 0/100 · human only
Machine-Readable Contract 0 / 18
Agentic Access Contract 0 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/yarn-pkg: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 10

Individual APIs this provider publishes, each with its own machine-readable definition.

Yarn CLI

The Yarn command-line interface — `yarn` — provides install, add, remove, up, run, exec, dlx, info, why, pack, rebuild, dedupe, node, bin, search, upgrade-interactive, and stage...

Yarn Workspaces

Yarn was the first package manager built specifically around workspaces. `yarn workspace`, `yarn workspaces foreach`, `yarn workspaces focus`, and `yarn workspaces list` provide...

Yarn Plug'n'Play

Plug'n'Play (PnP) is Yarn's alternative to the traditional node_modules folder. Yarn generates a single `.pnp.cjs` file containing the exact dependency tree which Node.js consul...

Yarn Zero-Installs

Zero-Installs commit Yarn's package cache (`.yarn/cache`) into the repository alongside the `.pnp.cjs` file. Clones of the repository can start working immediately without runni...

Yarn Constraints

Yarn Constraints let you declare cross-workspace rules — required fields in `package.json`, forbidden dependencies, version pinning, and consistency requirements — using a JavaS...

Yarn Protocols

Yarn supports a rich set of dependency protocols beyond `npm:` semver — `git:`, `github:`, `file:`, `link:`, `portal:`, `patch:`, `exec:`, `workspace:`, and `http(s):`. Protocol...

Yarn Plugin API

Yarn ships with a full plugin API exposed by `@yarnpkg/core`. Plugins can register commands, resolvers, fetchers, linkers, and lifecycle hooks. Plugins are installed with `yarn ...

Yarn Version (Release Workflow)

Yarn provides a release-workflow primitive for monorepos. Contributors declare per-workspace version bumps as deferred decisions (`yarn version check --interactive`) and the pro...

Yarn Patch

First-class dependency patching — `yarn patch ` extracts a temporary editable copy of a dependency and `yarn patch-commit` saves the resulting diff as a `patch:` protoc...

Yarn DLX

The yarn dlx command runs a package in an isolated temporary environment without permanently installing it. Yarn's equivalent of npx, used for one-shot tools, code generators, a...

Scroll for all 10

Features 21

Notable capabilities this provider offers.

Yarn 4 (Berry) — TypeScript rewrite of the Yarn package manager, fully independent open-source project
Workspaces — first-class monorepo support with `yarn workspace`, `yarn workspaces foreach`, and `yarn workspaces focus`
Plug'n'Play (PnP) — node_modules-free dependency resolution via a single `.pnp.cjs` manifest plus a Rust implementation (pnp-rs)
Zero-Installs — commit the cache so clones bootstrap with no `yarn install` step
Constraints — JavaScript and Prolog DSL for cross-workspace policy enforcement
Protocols — npm, git, github, file, link, portal, patch, exec, workspace, and http(s) dependency sources
Plugin system — extensible commands, resolvers, fetchers, and linkers via `@yarnpkg/core`
20+ bundled plugins including plugin-npm, plugin-pnp, plugin-workspace-tools, plugin-constraints, plugin-typescript, and plugin-interactive-tools
First-class dependency patching with yarn patch and yarn patch-commit, no extra tooling required
Yarn dlx — safe ephemeral package execution as a drop-in replacement for npx
Yarn up — project-wide dependency upgrades across all workspaces
Yarn dedupe — collapse overlapping semver ranges into the fewest possible resolutions
Yarn version — release workflow with deferred per-workspace version decisions
Yarn npm publish and yarn npm login for npm registry publishing
Yarn npm audit for vulnerability scanning
Corepack integration — projects pin their Yarn version via the packageManager field in package.json
Yarn set version stable upgrades the per-project Yarn binary
Configuration via .yarnrc.yml with checked-in defaults
Editor SDKs (@yarnpkg/sdks) for VS Code, Vim, and other editors to integrate with PnP
Portable @yarnpkg/shell interpreter so scripts in package.json work identically on every OS
BSD-2-Clause license, governed by a community contributor model independent of any single company

Scroll for all 21

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Yarn Pkg Context

29 classes · 10 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Yarn API Rules

5 rules · 3 warnings 2 info

SPECTRAL

JSON Schema 1

Standalone JSON Schema definitions for this provider's data models.

Yarn Workspace package.json

23 properties

JSON SCHEMA

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Yarn Pkg Domain Security

TLSv1.2

SECURITY

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 16

Reference material describing how the API behaves

Scroll for all 16

Build 13

SDKs, sample code, and the tooling you integrate with

Scroll for all 13

Access & Security 1

Authentication, authorization, and security posture

Operate 2

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: yarn-pkg
url: https://raw.githubusercontent.com/api-evangelist/yarn-pkg/refs/heads/main/apis.yml
apis:
- aid: yarn-pkg:yarn-cli
  name: Yarn CLI
  tags:
  - CLI
  - Package Manager
  - JavaScript
  - Node.js
  - Workspaces
  humanURL: https://yarnpkg.com/cli
  properties:
  - url: https://yarnpkg.com/cli
    type: Documentation
  - url: https://yarnpkg.com/getting-started/install
    type: GettingStarted
  - url: https://github.com/yarnpkg/berry/tree/master/packages/yarnpkg-cli
    type: SourceCode
  - url: https://github.com/yarnpkg/berry
    type: SourceCode
  - url: vocabulary/yarn-pkg-vocabulary.yml
    type: Vocabulary
  - url: json-ld/yarn-pkg-context.jsonld
    type: JSONLD
  description: The Yarn command-line interface — `yarn` — provides install, add, remove, up, run, exec, dlx, info, why, pack,
    rebuild, dedupe, node, bin, search, upgrade-interactive, and stage commands for managing JavaScript project dependencies
    and executing project scripts. Built on top of @yarnpkg/cli and the Clipanion command framework.
- aid: yarn-pkg:yarn-workspaces
  name: Yarn Workspaces
  tags:
  - Workspaces
  - Monorepo
  - JavaScript
  - Package Manager
  humanURL: https://yarnpkg.com/features/workspaces
  properties:
  - url: https://yarnpkg.com/features/workspaces
    type: Documentation
  - url: https://yarnpkg.com/cli/workspaces/foreach
    type: Documentation
  - url: https://github.com/yarnpkg/berry/tree/master/packages/plugin-workspace-tools
    type: SourceCode
  - url: json-schema/yarn-pkg-workspace-schema.json
    type: JSONSchema
  description: Yarn was the first package manager built specifically around workspaces. `yarn workspace`, `yarn workspaces
    foreach`, `yarn workspaces focus`, and `yarn workspaces list` provide first-class monorepo coordination — running commands
    inside a specific workspace, fanning out commands across all workspaces, installing a single workspace and its dependencies,
    and listing the workspace tree.
- aid: yarn-pkg:yarn-plug-n-play
  name: Yarn Plug'n'Play
  tags:
  - Plug'n'Play
  - PnP
  - Module Resolution
  - JavaScript
  humanURL: https://yarnpkg.com/features/pnp
  properties:
  - url: https://yarnpkg.com/features/pnp
    type: Documentation
  - url: https://github.com/yarnpkg/berry/tree/master/packages/yarnpkg-pnp
    type: SourceCode
  - url: https://github.com/yarnpkg/pnp-rs
    type: SourceCode
  description: Plug'n'Play (PnP) is Yarn's alternative to the traditional node_modules folder. Yarn generates a single `.pnp.cjs`
    file containing the exact dependency tree which Node.js consults at runtime via a require hook. PnP enables faster installs,
    deterministic module resolution, and strict boundaries between declared and undeclared dependencies. A Rust implementation
    (pnp-rs) is available for non-Node runtimes.
- aid: yarn-pkg:yarn-zero-installs
  name: Yarn Zero-Installs
  tags:
  - Zero-Installs
  - Reproducibility
  - JavaScript
  humanURL: https://yarnpkg.com/features/zero-installs
  properties:
  - url: https://yarnpkg.com/features/zero-installs
    type: Documentation
  description: Zero-Installs commit Yarn's package cache (`.yarn/cache`) into the repository alongside the `.pnp.cjs` file.
    Clones of the repository can start working immediately without running `yarn install`, enabling truly reproducible builds
    and instant CI bootstraps.
- aid: yarn-pkg:yarn-constraints
  name: Yarn Constraints
  tags:
  - Constraints
  - Policy
  - Prolog
  - JavaScript
  humanURL: https://yarnpkg.com/features/constraints
  properties:
  - url: https://yarnpkg.com/features/constraints
    type: Documentation
  - url: https://yarnpkg.com/cli/constraints
    type: Documentation
  - url: https://github.com/yarnpkg/berry/tree/master/packages/plugin-constraints
    type: SourceCode
  description: Yarn Constraints let you declare cross-workspace rules — required fields in `package.json`, forbidden dependencies,
    version pinning, and consistency requirements — using a JavaScript or Prolog DSL. `yarn constraints` validates the project;
    `yarn constraints --fix` applies automatic fixes. Foundational for governed monorepos.
- aid: yarn-pkg:yarn-protocols
  name: Yarn Protocols
  tags:
  - Protocols
  - Dependency Resolution
  - JavaScript
  humanURL: https://yarnpkg.com/protocol/npm
  properties:
  - url: https://yarnpkg.com/protocols
    type: Documentation
  - url: https://yarnpkg.com/protocol/npm
    type: Documentation
  - url: https://yarnpkg.com/protocol/git
    type: Documentation
  - url: https://yarnpkg.com/protocol/github
    type: Documentation
  - url: https://yarnpkg.com/protocol/file
    type: Documentation
  - url: https://yarnpkg.com/protocol/link
    type: Documentation
  - url: https://yarnpkg.com/protocol/portal
    type: Documentation
  - url: https://yarnpkg.com/protocol/patch
    type: Documentation
  - url: https://yarnpkg.com/protocol/exec
    type: Documentation
  - url: https://yarnpkg.com/protocol/workspace
    type: Documentation
  description: Yarn supports a rich set of dependency protocols beyond `npm:` semver — `git:`, `github:`, `file:`, `link:`,
    `portal:`, `patch:`, `exec:`, `workspace:`, and `http(s):`. Protocols are pluggable so custom resolvers can be added via
    plugins.
- aid: yarn-pkg:yarn-plugin-api
  name: Yarn Plugin API
  tags:
  - Plugins
  - Extensibility
  - JavaScript
  - SDK
  humanURL: https://yarnpkg.com/advanced/plugin-tutorial
  properties:
  - url: https://yarnpkg.com/advanced/plugin-tutorial
    type: Documentation
  - url: https://yarnpkg.com/api
    type: Documentation
  - url: https://github.com/yarnpkg/berry/tree/master/packages/yarnpkg-core
    type: SourceCode
  - url: https://yarnpkg.com/cli/plugin/import
    type: Documentation
  - url: https://yarnpkg.com/cli/plugin/list
    type: Documentation
  description: Yarn ships with a full plugin API exposed by `@yarnpkg/core`. Plugins can register commands, resolvers, fetchers,
    linkers, and lifecycle hooks. Plugins are installed with `yarn plugin import` and listed/verified with `yarn plugin list`,
    `yarn plugin check`, and `yarn plugin runtime`. The default distribution bundles 20+ plugins including plugin-npm, plugin-pnp,
    plugin-workspace-tools, plugin-constraints, plugin-typescript, plugin-interactive-tools, and plugin-stage.
- aid: yarn-pkg:yarn-version
  name: Yarn Version (Release Workflow)
  tags:
  - Versioning
  - Release Management
  - Monorepo
  - JavaScript
  humanURL: https://yarnpkg.com/features/release-workflow
  properties:
  - url: https://yarnpkg.com/features/release-workflow
    type: Documentation
  - url: https://yarnpkg.com/cli/version
    type: Documentation
  - url: https://yarnpkg.com/cli/version/apply
    type: Documentation
  - url: https://yarnpkg.com/cli/version/check
    type: Documentation
  description: Yarn provides a release-workflow primitive for monorepos. Contributors declare per-workspace version bumps
    as deferred decisions (`yarn version check --interactive`) and the project applies them all at release time (`yarn version
    apply`). Integrates with `yarn npm publish` for npm release pipelines.
- aid: yarn-pkg:yarn-patch
  name: Yarn Patch
  tags:
  - Patch
  - Dependency Customization
  - JavaScript
  humanURL: https://yarnpkg.com/cli/patch
  properties:
  - url: https://yarnpkg.com/cli/patch
    type: Documentation
  - url: https://yarnpkg.com/cli/patch-commit
    type: Documentation
  description: First-class dependency patching — `yarn patch <package>` extracts a temporary editable copy of a dependency
    and `yarn patch-commit` saves the resulting diff as a `patch:` protocol entry in the lockfile. Eliminates the need for
    patch-package as a separate tool.
- aid: yarn-pkg:yarn-dlx
  name: Yarn DLX
  tags:
  - dlx
  - Ephemeral Execution
  - JavaScript
  humanURL: https://yarnpkg.com/cli/dlx
  properties:
  - url: https://yarnpkg.com/cli/dlx
    type: Documentation
  description: The yarn dlx command runs a package in an isolated temporary environment without permanently installing it.
    Yarn's equivalent of npx, used for one-shot tools, code generators, and bootstrap scripts. Always pulls a fresh copy by
    default, preventing the stale-cache footguns of npx.
name: Yarn
tags:
- Package Manager
- JavaScript
- Node.js
- Monorepo
- Workspaces
- Plug'n'Play
- Open Source
- Berry
- Yarn 4
kind: contract
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source: []
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/yarn-pkg.png
access: Open Source
common:
- type: DomainSecurity
  url: security/yarn-pkg-domain-security.yml
- url: https://yarnpkg.com
  type: Portal
- url: https://yarnpkg.com/getting-started
  type: GettingStarted
- url: https://yarnpkg.com/getting-started/install
  type: Documentation
- url: https://yarnpkg.com/cli
  name: Yarn CLI Reference
  type: Documentation
- url: https://yarnpkg.com/api
  name: Yarn Programmatic API
  type: Documentation
- url: https://yarnpkg.com/migration/guide
  name: Migration Guide
  type: Documentation
- url: https://yarnpkg.com/features/workspaces
  name: Workspaces
  type: Documentation
- url: https://yarnpkg.com/features/pnp
  name: Plug'n'Play
  type: Documentation
- url: https://yarnpkg.com/features/zero-installs
  name: Zero-Installs
  type: Documentation
- url: https://yarnpkg.com/features/constraints
  name: Constraints
  type: Documentation
- url: https://yarnpkg.com/features/protocols
  name: Protocols
  type: Documentation
- url: https://yarnpkg.com/features/plugins
  name: Plugins
  type: Documentation
- url: https://yarnpkg.com/features/editor-sdks
  name: Editor SDKs
  type: Documentation
- url: https://yarnpkg.com/configuration/yarnrc
  name: .yarnrc.yml Reference
  type: Documentation
- url: https://yarnpkg.com/configuration/manifest
  name: package.json Manifest
  type: Documentation
- url: https://github.com/yarnpkg/berry
  name: yarnpkg/berry
  type: SourceCode
- url: https://github.com/yarnpkg/berry
  name: Yarn GitHub Repo
  type: GitHubOrganization
- url: https://github.com/yarnpkg
  name: yarnpkg
  type: GitHubOrganization
- url: https://github.com/yarnpkg/berry/blob/master/LICENSE.md
  name: BSD-2-Clause License
  type: License
- url: https://github.com/yarnpkg/berry/blob/master/GOVERNANCE.md
  name: Project Governance
  type: Documentation
- url: https://github.com/yarnpkg/berry/blob/master/CONTRIBUTING.md
  name: Contributing Guide
  type: Documentation
- url: https://github.com/yarnpkg/berry/blob/master/CODE_OF_CONDUCT.md
  name: Code of Conduct
  type: CodeOfConduct
- url: https://github.com/yarnpkg/berry/releases
  name: Releases
  type: ChangeLog
- url: https://github.com/yarnpkg/rfcs
  name: Yarn RFCs
  type: Documentation
- url: https://discord.gg/yarnpkg
  name: Discord
  type: Forums
- url: https://opencollective.com/yarnpkg
  name: Open Collective
  type: Funding
- url: https://github.com/yarnpkg/setup-action
  name: setup-action
  type: GitHubAction
- url: https://www.npmjs.com/package/yarn
  name: yarn on npm
  type: Package
- url: https://www.npmjs.com/package/@yarnpkg/core
  name: '@yarnpkg/core'
  type: Package
- url: https://www.npmjs.com/package/@yarnpkg/cli
  name: '@yarnpkg/cli'
  type: Package
- url: https://www.npmjs.com/package/@yarnpkg/pnp
  name: '@yarnpkg/pnp'
  type: Package
- url: https://www.npmjs.com/package/@yarnpkg/fslib
  name: '@yarnpkg/fslib'
  type: Package
- url: https://www.npmjs.com/package/@yarnpkg/shell
  name: '@yarnpkg/shell'
  type: Package
- url: https://www.npmjs.com/package/@yarnpkg/sdks
  name: '@yarnpkg/sdks'
  type: SDKs
- url: https://github.com/yarnpkg/berry/tree/master/packages
  name: Monorepo Packages
  type: SourceCode
- type: Features
  data:
  - Yarn 4 (Berry) — TypeScript rewrite of the Yarn package manager, fully independent open-source project
  - Workspaces — first-class monorepo support with `yarn workspace`, `yarn workspaces foreach`, and `yarn workspaces focus`
  - Plug'n'Play (PnP) — node_modules-free dependency resolution via a single `.pnp.cjs` manifest plus a Rust implementation
    (pnp-rs)
  - Zero-Installs — commit the cache so clones bootstrap with no `yarn install` step
  - Constraints — JavaScript and Prolog DSL for cross-workspace policy enforcement
  - Protocols — npm, git, github, file, link, portal, patch, exec, workspace, and http(s) dependency sources
  - Plugin system — extensible commands, resolvers, fetchers, and linkers via `@yarnpkg/core`
  - 20+ bundled plugins including plugin-npm, plugin-pnp, plugin-workspace-tools, plugin-constraints, plugin-typescript, and
    plugin-interactive-tools
  - First-class dependency patching with yarn patch and yarn patch-commit, no extra tooling required
  - Yarn dlx — safe ephemeral package execution as a drop-in replacement for npx
  - Yarn up — project-wide dependency upgrades across all workspaces
  - Yarn dedupe — collapse overlapping semver ranges into the fewest possible resolutions
  - Yarn version — release workflow with deferred per-workspace version decisions
  - Yarn npm publish and yarn npm login for npm registry publishing
  - Yarn npm audit for vulnerability scanning
  - Corepack integration — projects pin their Yarn version via the packageManager field in package.json
  - Yarn set version stable upgrades the per-project Yarn binary
  - Configuration via .yarnrc.yml with checked-in defaults
  - Editor SDKs (@yarnpkg/sdks) for VS Code, Vim, and other editors to integrate with PnP
  - Portable @yarnpkg/shell interpreter so scripts in package.json work identically on every OS
  - BSD-2-Clause license, governed by a community contributor model independent of any single company
  sources:
  - https://yarnpkg.com
  - https://yarnpkg.com/getting-started
  - https://yarnpkg.com/cli
  - https://github.com/yarnpkg/berry
  - https://yarnpkg.com/features/workspaces
  - https://yarnpkg.com/features/pnp
  - https://yarnpkg.com/features/zero-installs
  - https://yarnpkg.com/features/constraints
  updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Consuming
description: Yarn is an open-source JavaScript package manager and project manager originally created at Facebook in 2016
  and now developed as a fully independent community project (Yarn Berry, currently v4) on github.com/yarnpkg/berry. Yarn
  was the first package manager designed around workspaces and introduced Plug'n'Play (a node_modules-free module resolution
  strategy), Zero-Installs (committable caches for instant clones), Constraints (a cross-workspace policy DSL), and a rich
  protocol system covering npm, git, github, file, link, portal, patch, exec, and workspace dependencies. It is distributed
  via Corepack and licensed under BSD-2-Clause.
maintainers:
- FN: Yarn Contributors
  email: info@apievangelist.com
  url: https://yarnpkg.com
- FN: Kin Lane
  email: info@apievangelist.com
  X: apievangelist
  url: https://apievangelist.com
specificationVersion: '0.16'