Search

PythonReactSEOPDF
GitHub Skill

bun

Always use when working with Bun projects

knoopx☆ 2 Repository stars0 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Bun Cheatsheet

Fast all-in-one JavaScript runtime, bundler, test runner, and package manager.

Key Commands

Command Description
bun init Create new project
bun install Install dependencies
bun add <pkg> Add package
bun remove <pkg> Remove package
bun update Update dependencies
bun run <script> Run script
bun test Run tests
bun build Bundle code
bunx <cmd> Run package binary
bun audit Check for vulnerabilities
bun outdated Show outdated packages
bun why <pkg> Explain why package is installed
bun publish Publish to npm registry
bun patch <pkg> Prepare package for patching

Project Setup

bun init                    # Basic project
bun init --react           # React project
bun init --react=tailwind  # React + Tailwind
bun init --react=shadcn    # React + shadcn/ui

Package Management

bun add <pkg>              # Production dep
bun add -d <pkg>           # Dev dependency
bun add --optional <pkg>   # Optional dep
bun add -g <pkg>           # Global install
bun remove <pkg>           # Remove package
bun update                 # Update all
bun outdated               # Show outdated
bun audit                  # Security audit
bun why <pkg>              # Why installed
bun info <pkg>             # Show package metadata
bun publish                # Publish to npm
bun patch <pkg>            # Patch a package
bun link                   # Link local package
bun unlink                 # Unlink local package

Running Code

bun run ./file.ts          # Execute file
bun run dev               # Run script
bun -e "code"             # Eval code
bun exec ./script.sh      # Run shell script

# Long-running/watch mode (use tmux for background)
tmux new -d -s dev 'bun run --watch ./file.ts'
tmux new -d -s hot 'bun run --hot ./file.ts'
tmux new -d -s repl 'bun repl'

Testing

bun test                   # Run all tests
bun test --coverage       # With coverage
bun test -t "pattern"     # Filter by name
bun test --bail 3         # Stop after N failures
bun test -u               # Update snapshots

# Watch mode (use tmux for background)
tmux new -d -s test 'bun test --watch'

Building

bun build ./src/index.ts              # Bundle
bun build --production ./src/index.ts # Minified
bun build --target=node ./src/index.ts # Node target
bun build --compile ./cli.ts          # Executable
bun build --splitting ./src/index.ts  # Code splitting

Configuration (bunfig.toml)

[install]
linker = "hoisted"           # or "isolated"
minimumReleaseAge = 259200   # Security (3 days)
optional = true

[test]
timeout = 5000
coverage = { reporter = ["text"] }

[build]
minify = true
sourcemap = "external"

Workspaces

Root package.json:

{
  "workspaces": ["packages/*"],
  "catalog": {
    "react": "^18.0.0",
    "typescript": "^5.0.0"
  }
}

Commands:

bun run --workspaces test    # Run in all workspaces
bun add <pkg> --filter <ws>  # Add to specific workspace
bun remove <pkg> --filter <ws> # Remove from workspace

Environment Variables

bun run --env-file=.env dev  # Load .env
process.env.VAR             # Access in code

Tips

  • Use bunx for one-off CLIs (auto-installs)
  • Commit bun.lock for reproducible installs
  • --frozen-lockfile in CI to prevent changes
  • bun run -i auto-installs missing deps
  • Standalone executables: bun build --compile
  • Use tmux for watch/hot modes: tmux new -d -s dev 'bun run --watch'

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-26
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!