name: js-bun-majo description: Use Bun instead of Node.js and npm for JavaScript and TypeScript development. license: Unlicense OR 0BSD metadata: author: Mark Joshwel mark@joshwel.co version: "2026.2.2"
JavaScript/TypeScript with Bun
Goal: Ensure Bun is used as the runtime, tooling, and package manager for all JavaScript and TypeScript development, completely replacing Node.js and npm.
When to Use This Skill
- Initializing a new JS/TS project
- Migrating from Node.js/npm to Bun
- Running JavaScript or TypeScript code
- Installing packages or dependencies
- Building or bundling JS/TS projects
- Writing scripts in package.json equivalents
When NOT to Use This Skill
- Project explicitly requires Node.js runtime (e.g., specific Node APIs)
- Legacy project with npm-specific configurations that can't migrate
- Working with Deno instead of Bun
Process
- Check for existing Node/npm usage - Look for
package-lock.json,node_modules, npm scripts - Install Bun if not present - Use system package manager or
curl -fsSL https://bun.sh/install | bash - Initialize with Bun - Use
bun initinstead ofnpm init - Install dependencies - Use
bun installinstead ofnpm install - Run scripts - Use
bun run <script>instead ofnpm run - Execute files - Use
bun <file>instead ofnode <file> - Add dependencies - Use
bun add <pkg>instead ofnpm install <pkg> - Update AGENTS.md - Document Bun usage for the project
Constraints
- ALWAYS prefer Bun over Node.js and npm in all circumstances
- NEVER use npm commands (
npm install,npm run,npx) when Bun alternatives exist - NEVER create
package-lock.json- Bun usesbun.lockbinstead - Check
package.jsonexists before assuming Bun is initialized - If uncertain on Bun commands, use
bun --helpor command line for assistance
Use Bun as the runtime, tooling, and package manager in lieu of Node and npm.
This applies to both JavaScript and TypeScript projects.
If uncertain on how to invoke Bun commands, use the command line for help.
Testing Skills
- Verify Bun is installed:
bun --version - Test script execution:
bun run <script-name> - Check lockfile:
bun.lockbshould exist, notpackage-lock.json - Ensure no npm commands in documentation or scripts
Integration
This skill extends dev-standards-majo. Always ensure dev-standards-majo is loaded for:
- AGENTS.md maintenance
- Universal code principles
- Documentation policies
Works alongside:
git-majo— For committing JavaScript/TypeScript changeswriting-docs-majo— For writing JavaScript/TypeScript documentation