Bun-native fullstack

Files in.
Routes out.

x is a React framework where your folder structure is the router, your API lives beside your pages, and everything runs in one Bun process.

~/my-app — zsh
$bun create thexjs-app@latest my-app
Available templates:
default Blank slate — single home page. (recommended)
basic Pages, API, auth, dashboard.
blog Markdown content collections.
saas Dashboard, pricing, data layer.
Choose a template (default): █
$cd my-app && bun run dev
[x] dev server running at http://localhost:3000

Why x

Everything in one place

Most frameworks split the stack. x keeps routing, rendering, API, and build tooling in one runtime.

One process

Static sites, SSR, API routes, and server functions — no microservices, no orchestration.

File-based routing

Drop a file in src/pages, get a route. Nested folders, dynamic segments, API routes — automatic.

Static + dynamic

Mix static generation with SSR on the same route. Prerender marketing pages, SSR dashboards and admin.

API routes

Build REST endpoints alongside your pages. Shared types, same process, no separate server needed.

Type safe

End-to-end TypeScript. Loaders, params, server functions — all typed from the framework to your components.

Island architecture

Interactive components hydrate in place. Minimal client JS — only what you mark as an island loads.

Ready to build?

Read the docs, scaffold a project, and ship from a single home page or a full-stack starter.