Static sites with the power of a compiler.
Krate compiles TSX/JSX into static HTML at build time and ships a tiny signal-based hydration bundle. Fine-grained reactivity, file-based routing, SSR/ISR/streaming, a CSS pipeline, and a plugin system — all driven by a custom Go compiler.
export default function Counter() { const [count, setCount] = createSignal(0); return ( <div> <span>{count()}</span> <button onClick={() => setCount(c => c + 1)}>+</button> </div> ); }Signals, not React
Fine-grained reactivity with createSignal, createEffect and createMemo — compatible with React via emitReact.
SSG-first rendering
Every page pre-rendered to static HTML. Add SSR, ISR and Suspense-based streaming when you need it.
Full CSS pipeline
CSS Modules with FNV-32a scoping, Go-native Tailwind, minification and @import inlining.
Plugin system
Go hooks plus community plugins written in JavaScript, executed inside an embedded QuickJS runtime.
WASM-powered search
Docs search with a docfind index embedded into a WASM module at build time — zero server round-trips.
JS & Go API routes
Write API routes in TypeScript or Go; both compile into the same /api/* namespace.
Build something great.
Install the CLI and scaffold a project in seconds.
npm install -g @krate/core mkdir my-app && cd my-app krate init krate devGet started