aubepkg/aube

A fast Node.js package manager

Rust

2,030

1,454 commits

updated Oct 10, 2026

See the code

README

aube

aube

Run your project. Dependencies take care of themselves.

A Node.js package manager written in Rust. Installs automatically before running scripts, shares packages across projects, and updates your existing lockfile in place.

Get started · Documentation · Commands · Benchmarks

Get started

Install with mise, then run a script in your project:

mise use -g aube
aube --version
cd your-project
aubr build

Use a script defined in your package.json. aubr is shorthand for aube run: when dependencies are missing or stale, it installs them before starting the script. Repeat runs skip the install when nothing has changed.

Prefer another installer? See Homebrew, npm, Cargo, Linux packages, and source builds. To pin aube for a project with mise, run mise use aube inside that project.

Why aube

Fast installs. Warm installs are about 2x faster than pnpm and about 2x faster than Bun in the current benchmarks. Repeat test commands run up to 4x faster than pnpm and up to 2x faster than Bun.

Those results describe the recorded fixtures and cache conditions. See the methodology and all scenarios for the comparison.

  • Keep your lockfile. Reads and writes pnpm, npm, Yarn, and Bun text lockfiles in place. New projects default to aube-lock.yaml.
  • Install as part of the work. aubr build, aube test, and aube exec vitest check dependency freshness before running. aubx runs one-off tools.
  • Share package files. A content-addressable store deduplicates files; the global virtual store also reuses package directory trees across local projects.
  • Review dependency code. Dependency build scripts need an allow rule or built-in trust. Explicit denies take precedence. Optional build jails restrict approved scripts; release-age and publishing-trust checks run during resolution.

Everyday commands

TaskCommand
Run a project scriptaubr build
Run the test scriptaube test
Run a local binaryaube exec vitest
Run a one-off toolaubx cowsay hi
Add a dependencyaube add react
Add a development dependencyaube add -D vitest
Remove a dependencyaube remove react
Update within manifest rangesaube update
Install without running a project scriptaube install
Clean install from a committed lockfileaube ci

aubr <name> prefers a package script, then a local binary. aubx <name> prefers a local binary, then installs the tool in a throwaway project. Use aubx --package <package> <binary> to request a separate tool installation. See scripts and binaries for flags, argument forwarding, and workspace runs.

Try it in an existing project

Existing lockfileSupported format
pnpm-lock.yamlLockfile v9, written by pnpm 9–11
package-lock.jsonv2 and v3
npm-shrinkwrap.jsonnpm shrinkwrap
yarn.lockClassic v1 and Berry v2+
bun.lockText format v1–v3 (Bun 1.4)

Run aube install, inspect the diff, and run your tests. You do not need to import or delete a supported lockfile. Upgrade older pnpm lockfiles with pnpm first; convert bun.lockb with Bun. Yarn PnP projects need a node_modules linker. Keeping the lockfile format does not guarantee identical behavior: aube uses isolated dependencies, its own stores, and its own security defaults.

Migration guides: pnpm · npm · Yarn · Bun.

Dependency builds and security

Root lifecycle scripts run during install unless --ignore-scripts is set. Dependency scripts run only when allowed by project policy or aube's built-in trusted-dependencies list. Review skipped builds with:

aube ignored-builds
aube approve-builds
aube rebuild

Commit the resulting allowBuilds policy so teammates and CI use the same approvals. To restrict approved dependency builds, set jailBuilds: true in aube-workspace.yaml or an existing pnpm-workspace.yaml.

The jail's filesystem and network enforcement depends on the OS; filesystem reads are currently unrestricted. See security defaults and jailed builds for the exact boundaries and the optional paranoid bundle.

Workspaces and Node.js

aube -r run test
aube --filter @acme/api add zod
aube runtime set node 24 --save-exact

aube reads an existing pnpm-workspace.yaml in place. New workspaces can use aube-workspace.yaml. Both support workspace packages, filters, and catalogs.

Commands run through aube use the project's Node pin from devEngines.runtime, .node-version, or .nvmrc. Optional shell activation also routes ordinary node, npm, pnpm, and yarn commands through aube. See workspaces and Node runtime switching.

Agent skill

The aube skill helps coding agents manage dependencies, run scripts, and diagnose installs while preserving the project's lockfile and build approvals. Release Packslips pin the skill to the release's source commit. With a release that includes the skill active in mise, link it into your project:

mise skills sync --dir .agents/skills

See mise's skills documentation for discovery and automatic synchronization.

Find your next step

Report bugs in GitHub Issues. Ask questions in GitHub Discussions. Report vulnerabilities through the security policy.

aube means dawn in French, pronounced /ob/ ("ohb"). Built by jdx.

Sponsors

Sponsored by

Entire     Omacom Foundation

View all sponsors

Star History

Star History Chart

Contributors

Contributors

jdx Built by jdx.


License

MIT

Project health

crates.io

Latest release

2.7.0 · Oct 7, 2026

Releases this year

89

Significant stargazers

(top 24 of 126)

Luke Karrys

718 followers · starred May 2026

Yuki Okushi

1,519 followers · starred May 2026

Jiahan Chen

1,855 followers · starred Jul 2026

Hiroshi SHIBATA

1,672 followers · starred Jun 2026

aubepkg/aube

A fast Node.js package manager

Rust

2,030

1,454 commits

updated Oct 10, 2026

See the code

README

aube

aube

Run your project. Dependencies take care of themselves.

A Node.js package manager written in Rust. Installs automatically before running scripts, shares packages across projects, and updates your existing lockfile in place.

Get started · Documentation · Commands · Benchmarks

Get started

Install with mise, then run a script in your project:

mise use -g aube
aube --version
cd your-project
aubr build

Use a script defined in your package.json. aubr is shorthand for aube run: when dependencies are missing or stale, it installs them before starting the script. Repeat runs skip the install when nothing has changed.

Prefer another installer? See Homebrew, npm, Cargo, Linux packages, and source builds. To pin aube for a project with mise, run mise use aube inside that project.

Why aube

Fast installs. Warm installs are about 2x faster than pnpm and about 2x faster than Bun in the current benchmarks. Repeat test commands run up to 4x faster than pnpm and up to 2x faster than Bun.

Those results describe the recorded fixtures and cache conditions. See the methodology and all scenarios for the comparison.

  • Keep your lockfile. Reads and writes pnpm, npm, Yarn, and Bun text lockfiles in place. New projects default to aube-lock.yaml.
  • Install as part of the work. aubr build, aube test, and aube exec vitest check dependency freshness before running. aubx runs one-off tools.
  • Share package files. A content-addressable store deduplicates files; the global virtual store also reuses package directory trees across local projects.
  • Review dependency code. Dependency build scripts need an allow rule or built-in trust. Explicit denies take precedence. Optional build jails restrict approved scripts; release-age and publishing-trust checks run during resolution.

Everyday commands

TaskCommand
Run a project scriptaubr build
Run the test scriptaube test
Run a local binaryaube exec vitest
Run a one-off toolaubx cowsay hi
Add a dependencyaube add react
Add a development dependencyaube add -D vitest
Remove a dependencyaube remove react
Update within manifest rangesaube update
Install without running a project scriptaube install
Clean install from a committed lockfileaube ci

aubr <name> prefers a package script, then a local binary. aubx <name> prefers a local binary, then installs the tool in a throwaway project. Use aubx --package <package> <binary> to request a separate tool installation. See scripts and binaries for flags, argument forwarding, and workspace runs.

Try it in an existing project

Existing lockfileSupported format
pnpm-lock.yamlLockfile v9, written by pnpm 9–11
package-lock.jsonv2 and v3
npm-shrinkwrap.jsonnpm shrinkwrap
yarn.lockClassic v1 and Berry v2+
bun.lockText format v1–v3 (Bun 1.4)

Run aube install, inspect the diff, and run your tests. You do not need to import or delete a supported lockfile. Upgrade older pnpm lockfiles with pnpm first; convert bun.lockb with Bun. Yarn PnP projects need a node_modules linker. Keeping the lockfile format does not guarantee identical behavior: aube uses isolated dependencies, its own stores, and its own security defaults.

Migration guides: pnpm · npm · Yarn · Bun.

Dependency builds and security

Root lifecycle scripts run during install unless --ignore-scripts is set. Dependency scripts run only when allowed by project policy or aube's built-in trusted-dependencies list. Review skipped builds with:

aube ignored-builds
aube approve-builds
aube rebuild

Commit the resulting allowBuilds policy so teammates and CI use the same approvals. To restrict approved dependency builds, set jailBuilds: true in aube-workspace.yaml or an existing pnpm-workspace.yaml.

The jail's filesystem and network enforcement depends on the OS; filesystem reads are currently unrestricted. See security defaults and jailed builds for the exact boundaries and the optional paranoid bundle.

Workspaces and Node.js

aube -r run test
aube --filter @acme/api add zod
aube runtime set node 24 --save-exact

aube reads an existing pnpm-workspace.yaml in place. New workspaces can use aube-workspace.yaml. Both support workspace packages, filters, and catalogs.

Commands run through aube use the project's Node pin from devEngines.runtime, .node-version, or .nvmrc. Optional shell activation also routes ordinary node, npm, pnpm, and yarn commands through aube. See workspaces and Node runtime switching.

Agent skill

The aube skill helps coding agents manage dependencies, run scripts, and diagnose installs while preserving the project's lockfile and build approvals. Release Packslips pin the skill to the release's source commit. With a release that includes the skill active in mise, link it into your project:

mise skills sync --dir .agents/skills

See mise's skills documentation for discovery and automatic synchronization.

Find your next step

Report bugs in GitHub Issues. Ask questions in GitHub Discussions. Report vulnerabilities through the security policy.

aube means dawn in French, pronounced /ob/ ("ohb"). Built by jdx.

Sponsors

Sponsored by

Entire     Omacom Foundation

View all sponsors

Star History

Star History Chart

Contributors

Contributors

jdx Built by jdx.


License

MIT

Project health

crates.io

Latest release

2.7.0 · Oct 7, 2026

Releases this year

89

Significant stargazers

(top 24 of 126)

Luke Karrys

718 followers · starred May 2026

Yuki Okushi

1,519 followers · starred May 2026

Jiahan Chen

1,855 followers · starred Jul 2026

Hiroshi SHIBATA

1,672 followers · starred Jun 2026