Krate — Go-native static site generator
Signal-based · SSG-first · Go-native

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 dev
Get started