Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Aube Package Manager

ASecurity

Expert guidance for using aube, a fast Rust-based Node.js package manager compatible with pnpm, npm, yarn, and bun lockfiles.

81 stars
0 votes
0 copies
0 views
Added 9/19/2026
devopstypescriptrustreactnodedockergitapici/cdsecurityperformance

Works with

api

Security Analysis

A96/100
mediumInstalls packages at runtime which could introduce malicious dependencies

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add reason-machines/trending-skills --skill aube-package-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aube Package Manager?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Aube Package Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/reason-machines-aube-package-manager/badge)](https://www.skillsdirectory.com/skills/reason-machines-aube-package-manager)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: aube-package-manager
description: Expert guidance for using aube, a fast Rust-based Node.js package manager compatible with pnpm, npm, yarn, and bun lockfiles.
triggers:
  - use aube to install packages
  - aube package manager
  - fast node.js package manager
  - replace pnpm with aube
  - aube install dependencies
  - aube workspace setup
  - aube ci install
  - aube run scripts
---

# Aube Package Manager

> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.

Aube is a fast Node.js package manager written in Rust. It drops into existing projects by reading and writing existing lockfiles (`pnpm-lock.yaml`, `package-lock.json`, `yarn.lock`, `bun.lock`), uses a global content-addressable store to reduce disk usage, and delivers dramatically faster installs than pnpm or Bun — especially on warm CI.

## Installation

### Via mise (recommended)

```sh
# Install globally
mise use -g aube

# Pin to a project
mise use aube

# Verify
aube --version
```

### Via npm

```sh
npm install -g @endevco/aube
```

### Via Homebrew (beta tap)

```sh
brew install endevco/tap/aube
```

## Core Concepts

- **Lockfile compatibility**: Reads and writes existing lockfiles in place — no forced migration.
- **Global store**: Package files live in `~/.local/share/aube/store/` (XDG) and are shared across projects.
- **Isolated layout**: Packages link through `node_modules/.aube/` — phantom dependencies are blocked.
- **Secure defaults**: New package releases wait a minimum age; lifecycle scripts require explicit approval.

## Key Commands

### Install & Dependency Management

```sh
aube install                    # Install all dependencies
aube install -r                 # Install across all workspace packages
aube install --prod             # Production dependencies only
aube install --lockfile-only    # Update lockfile without touching node_modules

aube add react                  # Add a runtime dependency
aube add -D vitest              # Add a dev dependency
aube add zod --filter @acme/api # Add to a specific workspace package
aube remove react               # Remove a dependency
aube update                     # Update deps within package.json ranges
```

### CI

```sh
aube ci    # Clean install: removes node_modules, verifies lockfile is fresh, installs
```

Use `aube ci` in CI pipelines where the lockfile must be the source of truth.

### Running Scripts and Binaries

```sh
aube run build          # Run a package.json script
aube run test           # Run test script (auto-installs if deps are stale)
aube test               # Shortcut: same as `aube run test`
aube dev                # Any script name works directly as a subcommand
aube build
aube lint

aube exec vitest        # Run a local binary from node_modules/.bin
aube dlx cowsay hi      # Run a package in a throwaway environment (like npx)
```

### Multicall Shims

```sh
aubr build        # Equivalent to: aube run build
aubx cowsay hi    # Equivalent to: aube dlx cowsay hi
```

### Inspection & Maintenance

```sh
aube list                   # List installed packages
aube why react              # Explain why a package is installed
aube outdated               # Show outdated dependencies
aube audit                  # Security audit
aube store path             # Show global store location
aube store prune            # Remove unused packages from global store
aube config get registry    # Read config values
```

### Publishing

```sh
aube pack       # Pack a package tarball
aube publish    # Publish to registry
aube link       # Link a local package
aube unlink     # Unlink a local package
```

## Lockfile Compatibility

| File | Reads | Writes in place |
|---|---|---|
| `aube-lock.yaml` | ✅ | ✅ |
| `pnpm-lock.yaml` v9 | ✅ | ✅ |
| `package-lock.json` v2/v3 | ✅ | ✅ |
| `npm-shrinkwrap.json` | ✅ | ✅ |
| `yarn.lock` (v1 classic + v2+ berry) | ✅ | ✅ |
| `bun.lock` | ✅ | ✅ |

**Not supported:**
- pnpm v5/v6 lockfiles (upgrade with pnpm first)
- Yarn PnP projects (switch to `node_modules` linker first)

## Workspaces

```sh
# Install across all workspace packages
aube install -r

# Run a script in all workspace packages
aube run test -r

# Add a dependency to a specific package
aube add zod --filter @acme/api
aube add -D typescript --filter @acme/shared
```

Workspace config files:
- `pnpm-workspace.yaml` — read and written if present
- `aube-workspace.yaml` — used for aube-first projects

Example `aube-workspace.yaml`:

```yaml
packages:
  - "packages/*"
  - "apps/*"
```

## Dependency Lifecycle Scripts

Aube skips lifecycle scripts by default for security.

```sh
# See which packages had scripts skipped
aube ignored-builds

# Approve specific packages to run their build scripts
aube approve-builds
```

After approval, the allowed packages are recorded in your project config so teammates get the same behavior.

## Configuration

Aube reads config from `package.json` under `"aube"` key or from `.auberc` / `aube.config.yaml`.

```json
{
  "name": "my-app",
  "aube": {
    "registry": "https://registry.npmjs.org/",
    "store-dir": "/custom/store/path"
  }
}
```

```sh
# Read a config value
aube config get registry

# Set a config value
aube config set registry https://my-private-registry.example.com
```

## CI/CD Patterns

### GitHub Actions

```yaml
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install mise
        uses: jdx/mise-action@v2

      - name: Install aube
        run: mise use -g aube

      - name: Cache aube store
        uses: actions/cache@v4
        with:
          path: ~/.local/share/aube/store
          key: aube-store-${{ hashFiles('**/pnpm-lock.yaml', '**/aube-lock.yaml') }}
          restore-keys: |
            aube-store-

      - name: Install dependencies
        run: aube ci

      - name: Run tests
        run: aube test
```

### Docker

```dockerfile
FROM node:22-slim

# Install aube via npm
RUN npm install -g @endevco/aube

WORKDIR /app

# Copy lockfile and package.json first for layer caching
COPY package.json pnpm-lock.yaml ./

# Frozen install — fail if lockfile would change
RUN aube ci

COPY . .

RUN aube run build

CMD ["node", "dist/index.js"]
```

### Lockfile-only update (for Docker layer caching)

```sh
# Only update the lockfile, don't install into node_modules
aube install --lockfile-only
```

## Migrating from pnpm

```sh
# 1. Install aube
mise use -g aube

# 2. Run in your existing project — aube reads pnpm-lock.yaml
cd my-project
aube install

# 3. Approve any build scripts that pnpm was running
aube approve-builds

# 4. Replace pnpm scripts in package.json (optional)
# Before: "scripts": { "postinstall": "pnpm run build:native" }
# After:  keep as-is, aube runs package.json scripts the same way
```

## Migrating from npm/yarn

```sh
# npm — aube reads package-lock.json
cd my-npm-project
aube install

# yarn classic — aube reads yarn.lock
cd my-yarn-project
aube install

# Bun — aube reads bun.lock
cd my-bun-project
aube install
```

## Common Patterns

### Monorepo with filtered commands

```sh
# Build only the API package
aube run build --filter @acme/api

# Run tests in all packages that changed
aube run test --filter '...[origin/main]'

# Install and run in one step (auto-install if stale)
aube exec vitest --run
```

### Global store management

```sh
# Find where the store lives
aube store path
# → ~/.local/share/aube/store

# Clean up packages no longer used by any project
aube store prune
```

### Checking why a package is installed

```sh
aube why lodash
# Shows the dependency chain that requires lodash
```

## Troubleshooting

### `aube ci` fails with lockfile mismatch

The lockfile is out of sync with `package.json`. Fix locally:

```sh
aube install          # updates lockfile
git add pnpm-lock.yaml
git commit -m "chore: update lockfile"
```

### Build scripts not running

Aube skips lifecycle scripts by default. Check what was skipped:

```sh
aube ignored-builds
aube approve-builds   # interactively approve packages
```

### Package phantom dependency errors

Aube uses an isolated layout — packages can only import their declared dependencies. Fix by adding the missing dependency explicitly:

```sh
aube add <missing-package>
```

### Slow first install / cold cache

The first install populates the global store. Subsequent installs (same or other projects with shared deps) will be significantly faster. Cache `~/.local/share/aube/store` in CI for warm-cache performance.

### pnpm v5/v6 lockfile not supported

```sh
# Upgrade lockfile with pnpm first
pnpm install  # regenerates as v9 format
# Then switch to aube
aube install
```

### Yarn PnP projects

Aube writes `node_modules`, not `.pnp.cjs`. Switch the Yarn linker first:

```sh
# In .yarnrc.yml
nodeLinker: node-modules
yarn install   # regenerates yarn.lock for node-modules layout
aube install   # now aube can take over
```

## Links

- [Documentation](https://aube.en.dev)
- [Benchmarks](https://aube.en.dev/benchmarks)
- [Lockfile compatibility](https://aube.en.dev/package-manager/lockfiles)
- [Scripts and binaries](https://aube.en.dev/package-manager/scripts)
- [Configuration reference](https://aube.en.dev/package-manager/configuration)
- [Installation methods](https://aube.en.dev/installation)

Attribution

reason-machinesreason-machines
View sourceMore from reason-machines →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

393431 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2459130 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

929660 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

798220 votes
View all in devops →