Help us improve
Share bugs, ideas, or general feedback.
From typescript-plugin
Manages JavaScript dependencies with Bun: install, add, remove, update packages and workspaces using optimized CLI flags for CI, production, dry-runs, and agentic workflows.
npx claudepluginhub laurigates/claude-plugins --plugin typescript-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/typescript-plugin:bun-package-managerhaikuThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bun's package manager is significantly faster than npm/yarn/pnpm:
Manages dependencies with Bun package manager: installs/removes/updates packages, handles workspaces and lockfiles, runs scripts, migrates from npm/yarn/pnpm.
Installs dependencies from package.json using Bun package manager. Supports --frozen-lockfile for CI/reproducible builds and --production for deployment. Verifies node_modules, peer deps, and runs prepare hooks.
Boosts JS/TS development speed with Bun: native TS/JSX, built-in bundler, test runner, and faster package installs. Start new projects, migrate from Node, or optimize dev tooling.
Share bugs, ideas, or general feedback.
Bun's package manager is significantly faster than npm/yarn/pnpm:
# 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 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 dependency
bun remove <package>
# Remove from devDependencies
bun remove --dev <package>
# Dry run
bun remove --dry-run <package>
# 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
# Check outdated packages
bun outdated
# Why is package installed?
bun why <package>
# List installed packages
bun pm ls
# View package cache
bun pm cache
{
"name": "monorepo",
"private": true,
"workspaces": ["packages/*", "apps/*"]
}
# 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
{
"dependencies": {
"shared-utils": "workspace:*"
}
}
| 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 |
| 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 |
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>
| Variable | Description |
|---|---|
BUN_OPTIONS | Global CLI flags |
BUN_INSTALL | Bun installation directory |