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.mdsource 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 addbun remove - AVOID
,npm
,yarnpnpm - Prefer Bun-native lockfiles and resolution behavior
- Keep dependencies minimal and intentional
Scripts & Tooling
- PREFER
for scriptsbun run - AVOID Bun’s built-in test runner (
) => We'll usebun test
for testingVitest - AVOID Bun’s build tool (
) => We'll use Vitebun build - 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