bun init
Scaffold an empty Bun project with the interactive `bun init` command
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 editor autocomplete)
+ README.mdPress 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 - 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 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
Pass -y or --yes to accept the defaults without prompting.
At the end, it runs bun install to install @types/bun.
CLI Usage
$ bun init <folder?>Initialization Options
Accept all default prompts without asking questions. Alias: -y
Only initialize type definitions (skip app scaffolding). Alias: -m
Project Templates
Scaffold a React project. When used without a value, creates a baseline React app. Accepts values for presets:
tailwind– React app preconfigured with Tailwind CSSshadcn– React app with@shadcn/uiand Tailwind CSS
Examples:
bun init --react bun init --react=tailwind bun init --react=shadcnOutput & Files
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.
Global Configuration & Context
Run bun init as if started in a different working directory (useful in scripts).
Help
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
TypeScript 6 and 7
How to configure Bun's type definitions for TypeScript 6.0 and 7.0, which no longer auto-discover @types packages. Fix 'Cannot find name Bun' and other missing type errors after upgrading TypeScript.
bun create
Create a new Bun project from a React component, a `create-<template>` npm package, a GitHub repo, or a local template