bun-types
Version:
Type definitions and documentation for Bun, an incredibly fast JavaScript runtime
59 lines (40 loc) • 1.81 kB
text/mdx
---
title: "bun init"
description: "Scaffold an empty Bun project with the interactive `bun init` command"
---
import Init from "/snippets/cli/init.mdx";
Get started with Bun by scaffolding a new project with `bun init`.
```bash terminal icon="terminal"
bun init my-app
```
```txt
? 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.
<Frame>

</Frame>
It creates:
- a `package.json` file with a name that defaults to the current directory name
- a `tsconfig.json` file or a `jsconfig.json` file, depending if the entry point is a TypeScript file or not
- an entry point which defaults to `index.ts` unless any of `index.{tsx, jsx, js, mts, mjs}` exist or the `package.json` specifies a `module` or `main` field
- a `README.md` file
AI Agent rules (disable with `$BUN_AGENT_RULE_DISABLED=1`):
- a `CLAUDE.md` file when Claude CLI is detected (disable with `CLAUDE_CODE_AGENT_RULE_DISABLED` env var)
- a `.cursor/rules/*.mdc` file to guide [Cursor AI](https://cursor.sh) to use Bun instead of Node.js and npm when Cursor is detected
If 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`.
---
<Init />