Documentation for agents: an index at /llms.txt, every docs page in one file at /llms-full.txt, and Markdown for any docs page by adding .md to its URL.

Redis and Emails are live

Composable tools for Effect.

The infrastructure your app depends on, as Effect services: Layers you can swap and typed errors you can match on.

01The kit

Pick the pieces you need.

Every package is its own install with its own Layers, so your app only carries what it uses.

Redis

Redis for Effect v4. A native client with typed commands and scoped connections.

  • Typed commands and Schema-backed keys
  • Pipelines, transactions, Pub/Sub
  • Cluster and Sentinel routing

Emails

One Email API across 16 providers, with React templates and bounded batches.

  • Capability checks before sending
  • Errors that say whether it was sent
  • Batches of up to 1,000 messages

Storagecoming soon

Object storage for Effect. Put, scoped get, head, delete and paginated listing.

  • Conditional writes, like create-only
  • Single-use reads tied to their scope
  • Lazy, paginated listing
Docs coming soon
+Your integrationNew integrations are welcome. Open an issue with a use case first.github.com/effect-kit

How Effect Kit fits your app.

It doesn't replace anything in your Effect application. It adds services, typed errors and Layers that slot into the program you already have.

02Playground

Run the packages in your browser.

Real Effect programs against a simulated backend. Press play, change a control, break things.

Send
SET
INCR
GET
replies

Simulated Redis: every round trip takes 400ms.

const name = yield* redis.set("{user:42}:name", "Ada");
const visits = yield* redis.incr("{user:42}:visits");
const plan = yield* redis.get("{user:42}:plan");

Inspired by Kit Langton's Visual Effect

Start here

Drop in one Layer and keep going.

Install a package, provide its Layer next to the ones you already have, and yield the service where you need it. Nothing else in the program moves.