For yarn users
aube can install directly from both Yarn classic (v1) and Yarn berry (v2+) lockfiles. You do not need to delete yarn.lock or remove node_modules before trying aube.
Yarn classic (v1)
aube installaube reads and updates Yarn v1 yarn.lock in place and installs packages into node_modules/.aube/.
Commit the updated yarn.lock so Yarn classic users and aube users see the same resolved versions. You do not need aube import for a normal rollout; aube install keeps yarn.lock as the shared source of truth.
Use aube import only if the team intentionally wants to convert the project to aube-lock.yaml. After import succeeds, remove yarn.lock so future installs keep writing aube-lock.yaml.
Yarn berry (v2+)
aube installaube reads berry's YAML-format yarn.lock (the one with the __metadata: header, resolution: / checksum: fields, and per-block linkType) and writes the same format back. Berry's checksum: values are preserved verbatim so yarn install against the rewritten file still validates cached tarballs.
Supported protocols: npm: (the common case), workspace:, file:, link:, plus git: / git+ssh: / git+https: / https: URLs for remote sources. Entries that use patch:, portal:, or exec: are skipped with a warning — aube's dependency graph doesn't model those yet, and they round-trip better through Yarn itself.
Yarn PnP
aube does not support Yarn's Plug'n'Play linker. Berry projects using nodeLinker: pnp (the default) need to switch to nodeLinker: node-modules before using aube as the install command:
# .yarnrc.yml
nodeLinker: node-modulesOnce the project writes a regular node_modules tree, aube install can drop in against the same yarn.lock.
Differences from Yarn
- aube keeps package files in a global content-addressable store.
- aube uses isolated symlinks instead of a hoisted flat tree by default.
- Workspace package discovery follows
aube-workspace.yaml(orpnpm-workspace.yamlwhen the project already has one). - Dependency lifecycle scripts (
preinstall,install,postinstall) do not run by default. Yarn runs them for every dependency; aube runs them only for packages you've explicitly allowlisted viapnpm.allowBuilds,pnpm.onlyBuiltDependencies, oraube approve-builds. This follows the pnpm v11 model.
References: Yarn classic install · Yarn berry install