Scaffold an empty Bun project with the interactive bun init
command.
$ bun init
bun init helps you get started with a minimal project and tries to
guess sensible defaults. Press ^C anytime to quit.
package name (quickstart):
entry point (index.ts):
Done! A package.json file was saved in the current directory.
+ index.ts
+ .gitignore
+ tsconfig.json (for editor auto-complete)
+ README.md
To get started, run:
bun run index.ts
Press enter
to accept the default answer for each prompt, or pass the -y
flag to auto-accept the defaults.
{% details summary="How bun init
works" %}
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.
It creates:
- a
package.json
file with a name that defaults to the current directory name - a
tsconfig.json
file or ajsconfig.json
file, depending if the entry point is a TypeScript file or not - 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
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
.
{% /details %}
{% bunCLIUsage command="init" /%}