Claude-skill-registry bun-first

Describes efficient usage of Bun and Bun APIs instead of Node.js (and its APIs)

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/bun-first" ~/.claude/skills/majiayu000-claude-skill-registry-bun-first && rm -rf "$T"
manifest: skills/data/bun-first/SKILL.md
source content

Bun-First Development

We default to Bun as our JavaScript runtime, package manager, and task runner. Assume Bun is available unless explicitly stated otherwise.

General Principles

  • PREFER Bun over Node.js, npm, pnpm, or yarn
  • PREFER Bun’s built-in features over third-party tools when available
  • PRFER Bun's native APIs (eg for file access, SQL, S3 etc) over Node.js APIs

Package Management

  • USE
    bun install
    ,
    bun add
    ,
    bun remove
  • AVOID
    npm
    ,
    yarn
    ,
    pnpm
  • Prefer Bun-native lockfiles and resolution behavior
  • Keep dependencies minimal and intentional

Scripts & Tooling

  • PREFER
    bun run
    for scripts
  • AVOID Bun’s built-in test runner (
    bun test
    ) => We'll use
    Vitest
    for testing
  • AVOID Bun’s build tool (
    bun build
    ) => We'll use Vite
  • Avoid introducing extra task runners unless required

Runtime & APIs

  • PREFER Bun’s native APIs (fetch, fs, path, env handling)
  • Write code assuming modern Web APIs are available in the runtime
  • Avoid Node-specific APIs unless explicitly required

Performance & DX

  • Prefer simple, explicit scripts over complex toolchains
  • AVOID unnecessary abstractions