Scaffold a new Bun 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 bun check and 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 infers settings with sane defaults and is non-destructive when run multiple times.

It creates:
- a
package.jsonfile with a name that defaults to the current directory name, and atypecheckscript that runsbun check - a
tsconfig.jsonorjsconfig.jsonfile, depending on whether the entry point is a TypeScript file - an entry point, which defaults to
index.tsunless any ofindex.{tsx, jsx, js, mts, mjs}exist or thepackage.jsonspecifies amoduleormainfield - a
README.mdfile
AI Agent rules (disable with $BUN_AGENT_RULE_DISABLED=1):
- a
CLAUDE.mdfile whenbun initdetects Claude CLI (disable withCLAUDE_CODE_AGENT_RULE_DISABLEDenv var) - a
.cursor/rules/*.mdcfile whenbun initdetects Cursor (disable withCURSOR_AGENT_RULE_DISABLEDenv var); the file tells Cursor AI to use Bun instead of Node.js and npm
Pass -y or --yes to accept the defaults without prompting.
At the end, it runs bun install to install @types/bun, which bun check and your editor read, and typescript, which your editor uses.
CLI Usage
bun init <folder?>
Initialization Options
--yes boolean
{" "}
Accept all default prompts without asking questions. Alias: -y{" "}
--minimal boolean
{" "}
Only initialize type definitions (skip app scaffolding). Alias: -m{" "}
Project Templates
--react string|boolean
{" "}
Scaffold a React project. When used without a value, creates a baseline React app.
Accepts values for presets:{" "}
-
{" "}
-
tailwind– React app preconfigured with Tailwind CSS {" "}
-
shadcn– React app with@shadcn/uiand Tailwind CSS {" "}
bun init --react{"\n"}bun init --react=tailwind{"\n"}bun init --react=shadcn
{" "}
Output & Files
(result) info
{" "} Initializes project files and configuration for the chosen options. Exact files vary by template.{" "}
Help
--help boolean
{" "}
Print this help menu. Alias: -h{" "}
Examples
- Accept all defaults
bun init -y
- React
bun init --react
- React + Tailwind CSS
bun init --react=tailwind
- React + @shadcn/ui
bun init --react=shadcn