File conventions are a framework API, not just folder structure.
React framework, built in public
Learn how routing, SSR, and hydration fit together.
fluffy-ts is a small framework project built to teach the moving pieces behind modern React frameworks without trying to become the next production mega-framework.
Try it
pnpm dlx @fluffy-ts/create-app my-app
cd my-app
pnpm install
pnpm dev
What this teaches
The framework path, one request at a time.
-
01
Page file
src/pages/index.tsxexports a React component. -
02
Route
The file path becomes a URL route and is matched on request.
-
03
SSR
React renders the matched route into an HTML document.
-
04
Hydration
The browser imports the same page and makes the HTML interactive.
The first response is already useful HTML before JavaScript runs.
React reconnects event handlers to the server-rendered tree.
Later phases can navigate without throwing the document away.
Phase 1
First working vertical slice.
The current release proves the smallest useful loop: scaffold an app, run
fluffy dev, render a file-based route on the server, and
hydrate that same route in the browser.
Packages publish through Changesets and npm trusted publishing.
The example app acts as the permanent smoke-test fixture.
The CLI starts a Vite-powered development server.
Route discovery maps src/pages files to URLs.
Packages
Small pieces with clear jobs.
@fluffy-ts/core
Runtime code for route discovery, server rendering, hydration, and the development server.
@fluffy-ts/cli
The developer command surface. Today it exposes
fluffy dev.
@fluffy-ts/create-app
The project scaffolder that creates a small app ready to run against the local framework loop.
Roadmap
Built in phases, written down as it grows.
Each phase has a goal, scope, verification path, and release note. That keeps the project teachable and keeps the framework from drifting into vague ambition.
-
Active
Phase 1: vertical slice
Scaffold, dev server, route discovery, SSR, and hydration.
-
Planned
Phase 2: route data
Server data loading, serialization, and clearer route failures.
-
Planned
Phase 3: production build
Build output, asset manifests, and production start commands.
Learning log
Decisions worth remembering.
fluffy-ts uses Vite instead of rebuilding bundling from scratch, chooses file-based routing for the first convention, keeps static generation out of phase 1, and uses a real example app as the regression fixture.
Read the full roadmap