CAFE names the Cloudflare, Alchemy, Foldkit and Effect stack
CAFE is a named stack. Each letter has one job.¶
Read the CAFE news and browse the project directory.¶
Maxwell Brown coined the name; Justin Bennett spread it with his template on 8 October 2026. That day, Devin Jameson, Maxwell and Sam Goodwin streamed a CAFE build, and Sebastian Lorenz wrote the explainer people share.¶
A request follows one path. The Alchemy Stack declares every box on it.¶
┌─ Alchemy Stack ──────────────────────────────────┐
│ │
│ Foldkit app (browser) │
│ │ HTTP or RPC, typed by a shared schema │
│ ▼ │
│ Worker (Effect) │
│ │ │
│ ▼ │
│ Durable Object or storage │
│ │
└──────────────────────────────────────────────────┘ The browser and the Worker import the same schemas. Alchemy reads the same program to deploy and to test.¶
The canonical example
Effect-TS/cafe is a chat app from the Effect organization. Its README defines CAFE. Sam Goodwin7, who wrote Alchemy, built it. Maxwell Brown also commits to it.¶
It shows these patterns:¶
@cafe/apiholds the HTTP and RPC schemas. It may import onlyeffect, so the browser can import it safely. A lint rule enforces this.¶- The Worker serves an Effect
HttpApi. PR #6 moves chat events to Effect RPC over aCloudflare.RpcDurableObject, one per chat.¶ - The frontend is a Foldkit single-page app. Side effects are
Command.definedefinitions. PR #2 streamed socket frames withSubscription.fromEvent; PR #6 later replaced the socket with RPC.¶ - Story tests check update, Messages, and Commands. Scene tests drive the rendered view. Both are pure.¶
- Live tests deploy the Stack with
Test.makefromalchemy/Test/Vitest. The end-to-end test drives Chromium through Playwright.¶ - CI deploys one stage per pull request and destroys it when the pull request closes.¶
stacks/github.tsis an Alchemy Stack that writes the CI Cloudflare credentials as repository secrets.¶- Configuration comes from
effect/Config. ItsAGENTS.mdforbidsprocess.env.¶ - The repository carries the Foldkit agent skills.¶
Other CAFE apps
- just-be-dev/effect-cloudflare-foldkit-template: A template with tooling and guardrails for Effect 4, Foldkit, and Alchemy 2 on Cloudflare.¶
- NigelThorne/foldkit-demo: Live shared sessions on Durable Objects with SQLite and hibernatable WebSockets.¶
- mwarger/corefour: A poster app with an Effect
HttpApiWorker, Foldkit server rendering9, and KV and R2 storage.¶ - Manzanita-Research/foldkit-dials: Live tuning controls for Foldkit apps. See the next section.¶
- Manzanita-Research/pleat: Typed styles for Foldkit and Effect 4. MIT.¶
- Effect-TS/slopcop: Several Effect Workers with D1 and Queues, declared in one Alchemy Stack.¶
Pleat treats a style as a value:¶
- Styles merge by fixed laws.¶
- Every rule compiles to atomic CSS when its module loads.¶
- Recipe variants are typed by Effect Schema25.¶
- A model that generates UI can choose styles, but it can never write CSS.¶
Jem at Manzanita Research builds actively in the CAFE space: Pleat, foldkit-dials, and foldkit-native.¶
foldkit-dials
Manzanita-Research/foldkit-dials gives a Foldkit app live tuning controls, after DialKit. It is MIT licensed, at version 0.1.0.¶
- The dials are an Effect Schema.¶
- Every dial edit is a Message.¶
- Foldkit DevTools records each edit.¶
- Time travel replays it.¶
- Story and Scene tests can drive it.¶
Its demo deploys with Alchemy. A stacks/github.ts Stack bootstraps its CI credentials, as in cafe.¶
foldkit-dials is a clear example of the Foldkit rule that every change is a Message. A tool that follows the rule gets recording, replay, and tests from the runtime.¶
Where rat-stack sits
rat-stack is a CAFE stack with the fence45 around it. The table compares it with cafe at rat-stack commit 3fb103b.¶
- Alchemy Worker shape:
- rat-stack: Class form:
Cloudflare.Worker<Mischief>(),Cloudflare.Workers.RpcWorker,Cloudflare.Website.Foldkit¶ - cafe:
Cloudflare.Worker,Cloudflare.RpcDurableObject,Cloudflare.Website.Foldkit¶
- rat-stack: Class form:
- Runtime tests:
- rat-stack:
alchemy/Test/Vitestwith fixture Workers inapps/site/test/*-runtime.test.ts¶ - cafe:
Test.makedeploys the whole Stack; Playwright drives Chromium¶
- rat-stack:
- API surface25:
- rat-stack: One contract projected to RPC, HTTP, MCP, and CLI by
packages/capability¶ - cafe: Hand-written
HttpApiandRpcGroup¶
- rat-stack: One contract projected to RPC, HTTP, MCP, and CLI by
- Foldkit:
- rat-stack:
Runtime.makeApplication,Command.define,@foldkit/oxlint-plugin, Story and Scene tests¶ - cafe: The same, plus the Foldkit agent skills¶
- rat-stack:
- Config:
- rat-stack: varlock
.env.schemainto EffectConfig; noprocess.envin source¶ - cafe:
effect/Config; noprocess.env¶
- rat-stack: varlock
- Pull request stages:
- rat-stack:
scripts/deploy-preview.shdeploys a Website and RpcBackend preview by hand; no live end-to-end test¶ - cafe: CI deploys one stage per pull request, runs live tests, and destroys it on close¶
- rat-stack:
- Tracing: ¶
The largest difference is the API surface25. See one capability, every surface18 and infrastructure as effects10.¶
Sources
- Effect-TS/cafe¶
- foldhub/awesome-foldkit, Foldhub’s community list for Foldkit, announced by Taras Kornichuk¶
- Foldkit¶
- Alchemy¶
- Effect¶
Sources
- Effect-TS/cafe · GitHub. GitHub Effect-TS. README, AGENTS.md, package layout, CI workflows, and commit history; used for the canonical example. Accessed 2026-10-09.
- refactor: stream socket frames with Subscription.fromEvent · Effect-TS/cafe#2. GitHub Effect-TS. Used for the Subscription.fromEvent step. Accessed 2026-10-09.
- refactor: stream chat events over Effect RPC · Effect-TS/cafe#6. GitHub Effect-TS. Used for the move to Effect RPC over a Durable Object. Accessed 2026-10-09.
- Manzanita-Research/foldkit-dials · GitHub. GitHub Manzanita-Research. README and package manifest; used for the foldkit-dials section. Accessed 2026-10-09.
- Manzanita-Research/pleat · GitHub. GitHub Manzanita-Research. README; used for the Pleat row. Accessed 2026-10-09.
- Manzanita-Research/foldkit-native · GitHub. GitHub Manzanita-Research. Repository description; used for the Manzanita Research credit. Accessed 2026-10-09.
- just-be-dev/effect-cloudflare-foldkit-template · GitHub. GitHub just-be-dev. Repository description; used for the other CAFE apps table. Accessed 2026-10-09.
- NigelThorne/foldkit-demo · GitHub. GitHub NigelThorne. Repository description; used for the other CAFE apps table. Accessed 2026-10-09.
- mwarger/corefour · GitHub. GitHub mwarger. README; used for the other CAFE apps table. Accessed 2026-10-09.
- Effect-TS/slopcop · GitHub. GitHub Effect-TS. alchemy.run.ts; used for the other CAFE apps table. Accessed 2026-10-09.
- foldhub/awesome-foldkit · GitHub. GitHub foldhub. Community list for Foldkit libraries and apps. Accessed 2026-10-09.
Last changed 2026-10-24 in c525d23. Source on GitHub. Change log.
Linked from
- Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
CAFE news: reviewed Cloudflare, Alchemy, Foldkit and Effect news, ranked by engagement and freshness; also an Atom feed and the listCafeNews tool
- Agent rules for rat-stack (AGENTS.md). What you may change, which commands to run, and which changes need approval.
Foldkit 0.169.0 peers on exact 4.0.0; peerDependencyRules.allowedVersions admits 4.0.7, and the @foldkit/vite-plugin patch in vendor/README.md travels with it.
- Build and run rat-stack (README.md). What is in the repo, how the example works, and how to run it.
Foldkit 0.169.0 + @foldkit/vite-plugin 0.28.0: the web UI.
- CAFE all stars. Public profiles of people and channels who build with Cloudflare, Alchemy, Foldkit and Effect, served by five read-only capabilities.
CAFE all stars lists people and channels whose public work builds with Cloudflare, Alchemy, Foldkit and Effect.
- Change log. What changed in the files served here, newest first.
CAFE names the Cloudflare, Alchemy, Foldkit and Effect stack — edited: fix(site): replace published Markdown tables with lists and fence reader output
- Dependency vendoring rules (vendor/README.md). How to pin an unpublished package and when to remove the local copy.
Remove both when Foldkit publishes a @foldkit/vite-plugin that calls randomUUIDv4() and peers that accept Effect 4.0.7.
- Effect + Alchemy peer patterns. Source-grounded patterns from repos on nearby Effect and Alchemy pins.
0 to satisfy Foldkit’s exact peers.
- Effect + Alchemy peers. Public repositories that share rat-stack's prerelease lines.
Why this tier: Active Oct 15; studied Foldkit catalogs and lockfile.
- Effect 4 study: September 2026. Dated Effect 4 source studies from September 2026; current versions live in pins.md.
Foldkit’s exact Effect peers and platform dependencies must share one runtime.
- Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
- Infrastructure as effects. Sam Goodwin relates application operations to infrastructure requirements in one typed program.
Sam relates runtime clients, business logic, infrastructure policies, and deployed resources in one typed program.
- Lint and type escape ledger (debt.md). A source-linked count of repo-owned lint and type escapes.
Reason: Vite awaits finalization after the Foldkit prerender hook.
- One prompt serves people and agents. Source-owned agent prompts with typed discovery and copyable browser pages.
Foldkit Messages and Commands own clipboard interaction.
- Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.
Link context
CAFE names the Cloudflare, Alchemy, Foldkit and Effect stack — CAFE is a named stack: Cloudflare runs the app, Alchemy declares it, Foldkit draws the UI, and Effect does the typed work.
- Rat Stack systems | rat-stack. The systems rat-stack ships, the standard each keeps, and how to check it.
CAFE all stars — Public profiles of people and channels who build with Cloudflare, Alchemy, Foldkit and Effect, served by five read-only capabilities.
- rat-stack. An Effect stack so pure (aspirational) Kit Langton will blush.
CAFE news and the CAFE directory: reviewed Cloudflare, Alchemy, Foldkit and Effect news and projects
- Sam Goodwin. Sam Goodwin presents Alchemy as infrastructure built from Effect programs and typed requirements.
He built cafe, the reference app for the CAFE stack.¶
- Source change history (log.md). The generated change log as Markdown.
CAFE names the Cloudflare, Alchemy, Foldkit and Effect stack — edited: fix(site): replace published Markdown tables with lists and fence reader output
- test-behaviour. Pick the test shape that proves a behaviour. Use when you ask "how do I test this?", add a test, test a domain rule, a lifecycle, a retry, a session, a UI interaction, a timer, or a race, or review a test that might be tautological.
Read UI behaviour is a scene for the Foldkit UI Toast race.¶
- UI behaviour is a scene. A Foldkit Scene drives update, view, and subscriptions with input and time as plain data, then asserts on what the view shows.
A Foldkit program has a Model, Messages, an update function, and a view.
- Web. The Foldkit reader renders on the server and prerenders its public pages; the browser hydrates the same view.
It is one Foldkit program.