bun init.
terminal
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.

- a
package.jsonfile with a name that defaults to the current directory name - 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
$BUN_AGENT_RULE_DISABLED=1):
- a
CLAUDE.mdfile when Claude CLI is detected (disable withCLAUDE_CODE_AGENT_RULE_DISABLEDenv var) - a
.cursor/rules/*.mdcfile when Cursor is detected, which tells Cursor AI to use Bun instead of Node.js and npm
-y or --yes to accept the defaults without prompting.
At the end, it runs bun install to install @types/bun.
CLI Usage
terminal
Initialization Options
Accept all default prompts without asking questions. Alias:
-yOnly initialize type definitions (skip app scaffolding). Alias:
-mProject Templates
Scaffold a React project. When used without a value, creates a baseline React app.
Accepts values for presets:
Accepts values for presets:
tailwind– React app preconfigured with Tailwind CSSshadcn– React app with@shadcn/uiand Tailwind CSS
bun init —react bun init —react=tailwind bun init —react=shadcnOutput & Files
Initializes project files and configuration for the chosen options. Exact files vary by template.
Global Configuration & Context
Run
bun init as if started in a different working directory (useful in scripts).Help
Print this help menu. Alias:
-hExamples
-
Accept all defaults
terminal
-
React
terminal
-
React + Tailwind CSS
terminal
-
React + @shadcn/ui
terminal