skills/bun-runtime-templating-init/SKILL.md
Scaffold an empty Bun project with the interactive `bun init` command
npx skillsauth add jarle/bun-skills Bun bun initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scaffold an empty Bun project with the interactive
bun initcommand
Get started with Bun by scaffolding a new project with bun init.
bun init my-app
? Select a project template - Press return to submit.
❯ Blank
React
Library
✓ Select a project template: Blank
+ .gitignore
+ CLAUDE.md
+ .cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc -> CLAUDE.md
+ index.ts
+ tsconfig.json (for editor autocomplete)
+ README.md
Press enter to accept the default answer for each prompt, or pass the -y flag to auto-accept the defaults.
bun init is a quick way to start a blank project with Bun. It guesses with sane defaults and is non-destructive when run multiple times.
It creates:
package.json file with a name that defaults to the current directory nametsconfig.json file or a jsconfig.json file, depending if the entry point is a TypeScript file or notindex.ts unless any of index.{tsx, jsx, js, mts, mjs} exist or the package.json specifies a module or main fieldREADME.md fileAI Agent rules (disable with $BUN_AGENT_RULE_DISABLED=1):
CLAUDE.md file when Claude CLI is detected (disable with CLAUDE_CODE_AGENT_RULE_DISABLED env var).cursor/rules/*.mdc file to guide Cursor AI to use Bun instead of Node.js and npm when Cursor is detectedIf you pass -y or --yes, it will assume you want to continue without asking questions.
At the end, it runs bun install to install @types/bun.
bun init <folder?>
Accept all default prompts without asking questions. Alias: <code>-y</code>{" "} </ParamField>
<ParamField path="--minimal" type="boolean"> {" "}Only initialize type definitions (skip app scaffolding). Alias: <code>-m</code>{" "} </ParamField>
Scaffold a React project. When used without a value, creates a baseline React app. <br /> Accepts values for presets:{" "}
<ul> {" "}<li>
<code>tailwind</code> – React app preconfigured with Tailwind CSS
</li>
{" "}
<li>
<code>shadcn</code> – React app with <code>@shadcn/ui</code> and Tailwind CSS
</li>
{" "}
</ul>
{" "}
Examples:{" "}
<pre> <code>bun init --react bun init --react=tailwind bun init --react=shadcn</code> </pre>{" "} </ParamField>
Initializes project files and configuration for the chosen options (e.g., creating essential config files and a starter directory structure). Exact files vary by template.{" "} </ParamField>
Run <code>bun init</code> as if started in a different working directory (useful in scripts).{" "} </ParamField>
Print this help menu. Alias: <code>-h</code>{" "} </ParamField>
Accept all defaults
bun init -y
React
bun init --react
React + Tailwind CSS
bun init --react=tailwind
React + @shadcn/ui
bun init --react=shadcn
development
Using TypeScript with Bun, including type definitions and compiler options
development
Learn how to write tests using Bun's Jest-compatible API with support for async tests, timeouts, and various test modifiers
testing
Learn how to use snapshot testing in Bun to save and compare output between test runs
testing
Learn about Bun test's runtime integration, environment variables, timeouts, and error handling