One process
Static sites, SSR, API routes, and server functions — no microservices, no orchestration.
Bun-native fullstack
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.
$bun create thexjs-app@latest my-appAvailable 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
Most frameworks split the stack. x keeps routing, rendering, API, and build tooling in one runtime.
Static sites, SSR, API routes, and server functions — no microservices, no orchestration.
Drop a file in src/pages, get a route. Nested folders, dynamic segments, API routes — automatic.
Mix static generation with SSR on the same route. Prerender marketing pages, SSR dashboards and admin.
Build REST endpoints alongside your pages. Shared types, same process, no separate server needed.
End-to-end TypeScript. Loaders, params, server functions — all typed from the framework to your components.
Interactive components hydrate in place. Minimal client JS — only what you mark as an island loads.
Read the docs, scaffold a project, and ship from a single home page or a full-stack starter.