> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/oven-sh/bun/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to Bun

> Bun is an all-in-one JavaScript/TypeScript toolkit — runtime, package manager, bundler, and test runner in a single fast binary.

Bun is designed to be a drop-in replacement for Node.js. It starts 4x faster, installs packages up to 30x faster than npm, and includes everything you need to build, test, and ship JavaScript/TypeScript applications.

<CardGroup cols={2}>
  <Card title="Runtime" icon="bolt" href="/introduction">
    Execute JS/TS files with near-zero overhead. TypeScript and JSX work out of the box.
  </Card>

  <Card title="Package Manager" icon="box" href="/pm/install">
    Install packages up to 30x faster than npm, with workspaces and a global cache.
  </Card>

  <Card title="Bundler" icon="layer-group" href="/bundler/overview">
    Bundle TypeScript, JSX, CSS, and HTML for browsers and servers natively.
  </Card>

  <Card title="Test Runner" icon="flask" href="/test/overview">
    Jest-compatible test runner with snapshots, mocks, and DOM testing built in.
  </Card>
</CardGroup>

## Get started in minutes

<Steps>
  <Step title="Install Bun">
    Run the install script to download the single `bun` binary.

    ```bash theme={null}
    curl -fsSL https://bun.sh/install | bash
    ```
  </Step>

  <Step title="Create a project">
    Initialize a new project or use Bun in an existing Node.js project.

    ```bash theme={null}
    mkdir my-app && cd my-app
    bun init
    ```
  </Step>

  <Step title="Run your code">
    Run any TypeScript or JavaScript file directly — no compilation step needed.

    ```bash theme={null}
    bun run index.ts
    ```
  </Step>

  <Step title="Install dependencies">
    Install packages from npm faster than any other package manager.

    ```bash theme={null}
    bun install
    ```
  </Step>
</Steps>

## Explore by topic

<CardGroup cols={2}>
  <Card title="HTTP Server" icon="server" href="/runtime/http-server">
    Build fast HTTP servers with `Bun.serve()` — supports WebSockets, TLS, and streaming.
  </Card>

  <Card title="SQLite" icon="database" href="/runtime/sqlite">
    Query SQLite databases with Bun's built-in, synchronous `bun:sqlite` driver.
  </Card>

  <Card title="Shell scripting" icon="terminal" href="/runtime/shell">
    Use `Bun.$` to write cross-platform shell scripts in TypeScript.
  </Card>

  <Card title="Node.js compatibility" icon="node-js" href="/runtime/nodejs-compat">
    Drop-in compatibility with Node.js APIs, globals, and npm packages.
  </Card>
</CardGroup>

## Deployment guides

<CardGroup cols={2}>
  <Card title="Docker" icon="docker" href="/guides/docker">
    Containerize your Bun app with an optimized multi-stage Dockerfile.
  </Card>

  <Card title="Vercel" icon="triangle" href="/guides/vercel">
    Deploy serverless Bun functions on Vercel Edge Runtime.
  </Card>

  <Card title="AWS Lambda" icon="cloud" href="/guides/aws-lambda">
    Run Bun on AWS Lambda with a custom runtime layer.
  </Card>

  <Card title="Railway" icon="train" href="/guides/railway">
    One-click deploy Bun applications to Railway.
  </Card>
</CardGroup>
