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.json
file with a name that defaults to the current directory name - a
tsconfig.json
orjsconfig.json
file, depending on whether the entry point is a TypeScript file - an entry point, which defaults to
index.ts
unless any ofindex.{tsx, jsx, js, mts, mjs}
exist or thepackage.json
specifies amodule
ormain
field - a
README.md
file
$BUN_AGENT_RULE_DISABLED=1
):
- a
CLAUDE.md
file when Claude CLI is detected (disable withCLAUDE_CODE_AGENT_RULE_DISABLED
env var) - a
.cursor/rules/*.mdc
file when Cursor is detected, which tellsCursor AIto 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
boolean
Accept all default prompts without asking questions. Alias:
-y
boolean
Only initialize type definitions (skip app scaffolding). Alias:
-m
Project Templates
string|boolean
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/ui
and Tailwind CSS
bun init —react bun init —react=tailwind bun init —react=shadcn
Output & Files
info
Initializes project files and configuration for the chosen options. Exact files vary by template.
Help
boolean
Print this help menu. Alias:
-h
Examples
Accept all defaults terminal #
React terminal #
React + Tailwind CSS terminal #
React + @shadcn/ui terminal