← All tools

effect-solutions

Popularity 65 Updated Development & Build

Docs + helper CLI for Effect TypeScript best practices

npmauto-collected

Installation

npm
npm install -g effect-solutions

Install with npm.

Effect Solutions

Effect best practices and patterns — https://www.effect.solutions

Living Document: Opinionated collection exploiting Cunningham's Law. Disagree? Open an issue

What is this?

Curated Effect TypeScript patterns for common scenarios — error handling, services, layers, testing, and more. For humans and AI agents.

Usage

Website: Browse at effect.solutions

CLI: Access docs offline

bunx effect-solutions list              # List all topics
bunx effect-solutions show http-clients # Show specific topic
bunx effect-solutions open-issue        # Leave feedback

Features

  • Practical patterns - Real-world solutions, not just theory
  • Type-safe examples - All code validated with Effect LSP
  • AI-friendly - Structured for LLM consumption via CLI
  • Community-driven - Open issues to suggest/debate patterns

Quick Examples

Error handling

import { Effect } from "effect"

Effect.gen(function* () {
  const user = yield* findUser(id).pipe(
    Effect.catchTag("NotFound", () => Effect.succeed(null))
  )
})

HTTP client setup

import { Effect, HttpClient } from "effect"
import { FetchHttpClient } from "@effect/platform"

const program = Effect.gen(function* () {
  const http = yield* HttpClient.HttpClient
  const result = yield* http.get("/api/users")
})

program.pipe(
  Effect.provide(FetchHttpClient.layer)
)

See effect.solutions for full patterns and rationale.

Contributing