Learn / Foldkit Plus

Install

Tell your coding agent to run:

bash
npx foldkit-plus setup

It reads your project and prints what to install with your package manager, the effect or foldkit version that needs changing, the agent skill, and which package does which job. By hand, foldkit-plus brings every package at once, each under a subpath named for it (foldkit-plus/remote-server):

bash
pnpm add effect@4.0.0 foldkit@0.168.0 @effect/platform-browser@4.0.0 foldkit-plus

Or install the pieces for the boundary you are adding; the packages are designed to be adopted independently.

bash
# typed application boundaries
pnpm add foldkit-surface

# agent capabilities + one protocol adapter
pnpm add foldkit-agent foldkit-agent-webmcp

# normalized server-owned state
pnpm add foldkit-surface foldkit-remote
pnpm add foldkit-remote-server foldkit-remote-drizzle drizzle-orm # optional server compilation

# local-first replicated state
pnpm add foldkit-surface foldkit-sync foldkit-durable

# URL / local key-value representations
pnpm add foldkit-mirror

# reusable Submodels placed with every part wired
pnpm add foldkit-bundle foldkit-bundle-surface foldkit-surface

# a domain declared once, forms from an operation's input, and edit screens
pnpm add foldkit-entity foldkit-form foldkit-mixins-form
pnpm add foldkit-guard # who may do what, declared on the domain and enforced on the server
pnpm add foldkit-crud foldkit-remote # an editor, list, detail, and remover over Remote
pnpm add foldkit-mixins-crud # draws a list as a table and a detail as a description list
pnpm add foldkit-cms # content types, drafts beside the row, and a derived lifecycle
pnpm add foldkit-cms-drizzle drizzle-orm # its server: the audience boundary, drafts, and a publish that is whole

# an interactive data grid, and the accessible view that draws it
pnpm add foldkit-data-grid foldkit-mixins-data-grid

# rich text: the document, the editor on the page, Markdown and code
pnpm add foldkit-richtext foldkit-richtext-dom foldkit-mixins-richtext
pnpm add foldkit-richtext-markdown foldkit-richtext-code

# server rendering that hands the Model over
pnpm add foldkit-ssr

# ready-made primitives: media, timers, sockets, observers, clipboard
pnpm add foldkit-primitives

# view extension points
pnpm add foldkit-mixins foldkit-mixins-surface

# React interop in either direction
pnpm add foldkit-react react react-dom
pnpm add -D foldkit-react-codegen # views to TSX source

Other agent adapters are foldkit-agent-mcp, foldkit-agent-a2a, and foldkit-agent-native; foldkit-mixins-ui adapts compatible @foldkit/ui components.

foldkit and effect are peer dependencies. These packages ask for effect@^4.0.0 and are tested on 4.0.4; Foldkit 0.168.0 itself asks for exactly effect@4.0.0 and @effect/platform-browser@4.0.0, so an application on it installs those. foldkit-durable's Node entry requires Node 22 for node:sqlite; foldkit-durable/core runs on any SQLite client, a browser's included. drizzle-orm is a peer of the Drizzle packages, so the application's copy is the one they use. The release matrix lists every package's current version.

Agent skill

skills/foldkit-plus is an Agent Skill that teaches a coding agent what each package owns, when to reach for it, and a basic example of each. Install it into Claude Code, Cursor, OpenCode, and other agents with skills.sh:

bash
npx skills add doeixd/foldkit-plus --skill foldkit-plus