Generate idiomatic Foldkit programs from natural language prompts to scaffold new apps, extract submodels, scaffold messages, and audit architecture, enabling rapid prototyping of Foldkit projects with local Node.js devtools.
Built on Effect. Architected like Elm. Written in TypeScript. One Model, one update function, one way to do things. No hooks, no local state, no hidden mutations.
[!NOTE]
Foldkit is pre-1.0. The core API is stable, but breaking changes may occur in minor releases. See the changelog for details.
Who It's For
Foldkit is for developers who want to build their product with confidence instead of fighting their architecture. If you want a single pattern that scales from a counter to a multiplayer game without complexity creep, this is it.
It's not incremental. There's no React interop, no escape hatch from Effect, no way to "just use hooks for this one part." You're all in or you're not.
Built on Effect
Every Foldkit application is an Effect program. Your Model is a Schema. Side effects are values you return, not callbacks you fire — the runtime handles when and how. If you already know Effect, Foldkit feels natural. If you're new to Effect, Foldkit is a great way to immerse yourself in it.
create-foldkit-app is the recommended way to start a new project. It scaffolds a complete setup with Tailwind, TypeScript, ESLint, Prettier, and the Vite plugin for state-preserving HMR — and lets you choose from a set of examples as your starting point.
npx create-foldkit-app@latest
Counter
This is a complete Foldkit program. State lives in a single Model. Events become Messages. A pure function handles every transition.
Streamline people operations — recruiting, onboarding, performance reviews, compensation analysis, and policy guidance. Maintain compliance and keep your team running smoothly.