SuperAPI AI Directory

bun-package-manager

General & other

View repository

Updated 10-15 23:49

About this skill

Bun Package Manager

When to Use This Skill

Scenario Use this skill Alternative
Installing all project dependencies Yes N/A
Adding or removing packages Yes bun-add for quick single-package additions
Updating packages or checking outdated Yes N/A
Managing workspace dependencies Yes N/A
CI reproducible installs (--frozen-lockfile) Yes N/A
Running scripts or tests No - use bun-development bun-test for quick test runs
Publishing packages to npm No - use bun-publishing N/A
Debugging lockfile conflicts Yes bun-lockfile-update for targeted lockfile operations

Core Expertise

Bun's package manager is significantly faster than npm/yarn/pnpm:

  • ~7x faster than npm
  • ~4x faster than pnpm
  • Native workspace support
  • Compatible with npm registry

Essential Commands

Install Dependencies

# Standard install
bun install

# CI/reproducible (frozen lockfile)
bun install --frozen-lockfile

# Production only (no devDependencies)
bun install --production

# Force reinstall
bun install --force

# Dry run (preview)
bun install --dry-run

Add Packages

# Add dependency
bun add <package>

# Add dev dependency
bun add --dev <package>
bun add -d <package>

# Pin exact version (no ^)
bun add --exact <package>
bun add -E <package>

# Global install
bun add --global <package>
bun add -g <package>

# Add to specific workspace
bun add <package> --cwd packages/mylib

Remove Packages

# Remove dependency
bun remove <package>

# Remove from devDependencies
bun remove --dev <package>

# Dry run
bun remove --dry-run <package>

Update Packages

# Update within semver ranges
bun update

# Update to latest (ignore ranges)
bun update --latest

# Interactive selection
bun update --interactive

# Update across workspaces
bun update --recursive

Inspect Dependencies

# Check outdated packages
bun outdated

# Why is package installed?
bun why <package>

# List installed packages
bun pm ls

# View package cache
bun pm cache

Workspace Management

Configuration

{
  "name": "monorepo",
  "private": true,
  "workspaces": ["packages/*", "apps/*"]
}

Workspace Operations

# Install all workspace deps
bun install

# Add to specific workspace
bun add express --cwd apps/api

# Run in matching workspaces
bun run --filter 'package-*' build

# Run in all workspaces
bun run --workspaces test

Inter-workspace Dependencies

{
  "dependencies": {
    "shared-utils": "workspace:*"
  }
}

Agentic Optimizations

Context Command
CI install bun install --frozen-lockfile
Prod deploy bun install --production
Preview changes bun add --dry-run <pkg>
Exact versions bun add --exact <pkg>
Workspace target bun add <pkg> --cwd <path>
Force refresh bun install --force

Quick Reference

Flag Short Description
--frozen-lockfile Fail if lockfile changes
--production -p Skip devDependencies
--dev -d Add to devDependencies
--exact -E Pin exact version
--global -g Global install
--dry-run Preview without executing
--force -f Force reinstall all
--cwd <path> Target directory
--latest Update to latest version
--recursive Apply across workspaces

Error Handling

Common Issues

Lockfile mismatch in CI:

# Use frozen lockfile
bun install --frozen-lockfile

Peer dependency conflicts:

# Force install anyway
bun install --force

Package not found:

# Check if package exists
bun why <package>

Environment Variables

Variable Description
BUN_OPTIONS Global CLI flags
BUN_INSTALL Bun installation directory