Introduction
Rouage is a minimal server-side rendering (SSR) solution for SolidJS.
Designed to be fast, flexible, and unopinionated. It provides the essentials: server rendering and client hydration, powered by a Vite plugin — no full-stack framework required.
⚙️ “Rouage” means “cog” in French
A small, precise part that powers a larger system.
Quick Start
The recommended way to create a new Rouage project:
npm create rouage@latest
yarn create rouage
pnpm create rouage@latest
bun create rouage@latest
deno init --npm rouage@latest
Server Focused
Rouage is purpose-built for SSR, integrating seamlessly with custom servers and runtimes enabling complete control over the server environment and ecosystem.
SSR is hard to set up right: streaming, async rendering, asset manifests, styles, preloads, caching, HMR. Rouage handles these complexities in a straightforward and maintainable way.
Rendering Mode | Ideal Stack | Best For |
---|---|---|
Static Site Generation | SolidJS + Astro | Pre-rendered static pages |
Client-Side Rendering | SolidJS + Vite | Rich client-side interactions |
Server-Side Rendering | SolidJS + Rouage | Dynamic pages, custom backends |
Edge / Cloud Rendering | SolidJS + SolidStart | Serverless and edge deployments |
Acknowledgements
Rouage is inspired by several innovative projects in the JavaScript ecosystem:
- SolidStart – SolidJS's official meta-framework, full-stack capabilities.
- SolidHop – A minimal and unopinionated Vike + Solid + Hono starter.
- Vike – A framework-agnostic SSR solution, formerly known as vite-plugin-ssr.