Furin. The Fast, Minimal, and Modern React Meta Framework for Bun.

Rethinking web development speed and simplicity with Bun.

One unique process, frontend and backend with bun native HMR.

import { Elysia } from "elysia"
import { furin } from "@teyik0/furin"

const app = new Elysia()
  .use(await furin({ pagesDir: "./pages" }))
  .listen(3000)

Everything you need

A complete React meta-framework — batteries included.

File-Based Routing

File-Based Routing

Automatic route generation from your file structure. Dynamic routes, nested layouts, and catch-all patterns.

Multiple Rendering Modes

Multiple Rendering Modes

SSR for dynamic content, SSG for static pages, ISR for the best of both worlds.

Full Type Safety

Full Type Safety

Complete TypeScript inference across the stack. No code generation required.

Nested Layouts

Nested Layouts

Compose your UI with powerful layout patterns. Data flows flat through the component tree.

Fast Refresh

Fast Refresh

React Fast Refresh for instant feedback during development. Powered by Bun's speed.

API Routes

API Routes

Build your backend alongside your frontend with Elysia's powerful API capabilities.

Bun Binary Compile

Bun Binary Compile

Compile to a standalone binary with Bun. "server" separates client assets; "embed" produces a single executable.

User Plugins

User Plugins

Pass Bun plugins (e.g. Tailwind, custom transforms) directly in furin.config.ts. They run before the internal client transform.

Ready to build?

Explore the live demo or dive into the documentation.