Skip to content

Getting Started

aube is a fast Node.js package manager written in Rust. It mirrors pnpm's CLI and isolated symlink layout, but owns its own on-disk state: the global store lives at ~/.aube-store/v1/files/, the per-project virtual store is node_modules/.aube/, and the canonical lockfile is aube-lock.yaml. If your project already has a pnpm-lock.yaml (or package-lock.json, yarn.lock, bun.lock), aube imports it automatically on the first install and writes aube-lock.yaml going forward.

Install

See the installation guide.

Use it

sh
# install dependencies from package.json + aube-lock.yaml
aube install

# add a dependency
aube add lodash

# run a script from package.json
aube run build

# install + run the test script (equivalent to `pnpm install-test`)
aube test

aube auto-installs dependencies before running scripts when the lockfile or package.json has changed, so aube test does the install for you.

Why aube?

  • Fast. Parallel resolver, registry fetcher, and linker. See the benchmarks.
  • Compatible CLI. Same CLI surface as pnpm, and the pnpm v9 lockfile format is read automatically for migration.
  • Safe. Dependency lifecycle scripts are skipped by default.

Released under the MIT License.