Bun runtime for running scripts, testing, building, and project initialization - optimized flags for fast feedback and minimal output.
/plugin marketplace add laurigates/claude-plugins/plugin install typescript-plugin@lgates-claude-pluginsThis skill is limited to using the following tools:
Bun is an all-in-one JavaScript runtime:
# Run package.json script
bun run <script>
# Run file directly
bun <file.ts>
# Silent mode (no script echo)
bun run --silent <script>
# Auto-restart on changes
bun --watch run dev
# Hot reload (preserve state)
bun --hot run dev
# Run in matching workspaces
bun run --filter 'package-*' build
# Run in all workspaces
bun run --workspaces test
# Limit output per workspace
bun run --filter '*' --elide-lines=5 build
# Execute package binary (like npx)
bunx <package>
# Specific version
bunx typescript@5.0 --help
# When binary differs from package
bunx -p @angular/cli ng new app
# Force Bun runtime
bunx --bun vite dev
# Run all tests
bun test
# Run specific file
bun test tests/auth.test.ts
# Filter by name
bun test -t "login"
# Minimal dots reporter
bun test --dots
# Fail fast
bun test --bail
bun test --bail=3 # Stop after 3 failures
# Combine for quick feedback
bun test --dots --bail=1
# JUnit XML (most CI systems)
bun test --reporter=junit --reporter-outfile=junit.xml
# GitHub Actions (auto-detected in CI)
# Produces annotations automatically
bun test
# Enable coverage
bun test --coverage
# LCOV format for tools
bun test --coverage --coverage-reporter=lcov
# Custom timeout
bun test --timeout=10000
# Run concurrently
bun test --concurrent
# Limit concurrency
bun test --max-concurrency=5
# Detect flaky tests
bun test --rerun-each=3
# Basic bundle
bun build ./src/index.ts --outdir=dist
# Production build
bun build ./src/index.ts --outdir=dist --minify --sourcemap=external
# Watch mode
bun build ./src/index.ts --outdir=dist --watch
# Browser (default)
bun build ./src/index.ts --target=browser
# Bun runtime
bun build ./src/index.ts --target=bun
# Node.js
bun build ./src/index.ts --target=node
# Standalone binary
bun build --compile ./app.ts --outfile myapp
# Minified standalone
bun build --compile --minify ./app.ts --outfile myapp
# Cross-compile
bun build --compile --target=bun-linux-x64 ./app.ts
# Enable splitting
bun build ./src/index.ts --outdir=dist --splitting
# Interactive blank project
bun init
# With template
bun init --react my-app
bun init --react=tailwind my-app
# From npm/GitHub
bun create vite my-project
bun create hono@latest my-api
# From GitHub repo
bun create <user>/<repo> destination
| Context | Command |
|---|---|
| Quick test | bun test --dots --bail=1 |
| CI test | bun test --reporter=junit --reporter-outfile=junit.xml |
| Coverage | bun test --coverage --coverage-reporter=lcov |
| Silent run | bun run --silent <script> |
| Watch dev | bun --watch run dev |
| Prod build | bun build --minify --sourcemap=external --outdir=dist |
| Compile | bun build --compile --minify ./app.ts |
| Memory save | bun run --smol <script> |
| Flag | Description |
|---|---|
--watch | Auto-restart on changes |
--hot | Hot reload |
--silent | Suppress script echo |
--filter | Run in matching workspaces |
--smol | Reduce memory usage |
| Flag | Description |
|---|---|
--dots | Compact dot reporter |
--bail / --bail=N | Stop after N failures |
--coverage | Enable coverage |
--timeout=<ms> | Per-test timeout |
--reporter=junit | JUnit XML output |
-t <pattern> | Filter by test name |
--concurrent | Parallel async tests |
| Flag | Description |
|---|---|
--outdir | Output directory |
--outfile | Output file (single/compile) |
--minify | Minify output |
--sourcemap | none/inline/external |
--target | browser/bun/node |
--compile | Standalone executable |
--splitting | Enable code splitting |
--watch | Watch mode |
| Variable | Description |
|---|---|
BUN_OPTIONS | Global CLI flags |
NODE_ENV | Environment (production/development) |
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.