Effect

A TypeScript library and ecosystem for building robust, type-safe, concurrent applications with a full functional effect system

Library
npm
v3.22.1
15,336stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
91/100Excellent
Development Activity100
Maintenance100
Community64
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
81/100Excellent
Architecture90
Code Quality88
Innovation90
Learning Curve55

Effect is the core package of a large TypeScript ecosystem that models side effects, errors, and dependencies as typed values rather than exceptions or ad-hoc promises. An Effect<A, E, R> describes a computation that can succeed with A, fail with a typed error E, and requires a set of dependencies R, letting the compiler track error and dependency information the same way it tracks return types. Around this core, Effect provides structured concurrency primitives (fibers, Fiber, Deferred, structured cancellation), a Schema module for runtime validation and encoding/decoding, Layer-based dependency injection, retry/scheduling policies, and built-in OpenTelemetry-compatible tracing/metrics.

The wider monorepo extends the core package with @effect/platform (cross-runtime Node/Bun/browser APIs), @effect/sql and its per-driver implementations, @effect/cli, @effect/rpc, @effect/cluster for distributed computing, and AI-provider integrations, all built against the same Effect data type so cross-cutting concerns like retries, tracing, and cancellation compose uniformly across HTTP calls, database queries, and AI requests. This project is the same organization Anthropic and other companies reference in production TypeScript backends for its typed-error and structured-concurrency guarantees.

What You Get

  • The Effect<A, E, R> type for describing computations with typed success, typed failure, and typed dependency requirements
  • Structured concurrency primitives (fibers, Deferred, Fiber, scoped resource management) with safe cancellation semantics
  • A Schema module for runtime data validation, parsing, and encoding/decoding with static type inference
  • Layer-based dependency injection for composing and testing services without a separate DI framework
  • Built-in retry/scheduling policies and OpenTelemetry-compatible tracing and metrics
  • A wider package family (@effect/platform, @effect/sql, @effect/cli, @effect/rpc, @effect/cluster, AI provider modules) built on the same core primitives

Common Use Cases

  • Building backend services that need typed, exhaustively-handled error paths instead of thrown exceptions
  • Composing concurrent workflows (parallel requests, races, timeouts) with guaranteed resource cleanup
  • Validating and decoding external data (API payloads, config, database rows) via Schema
  • Wiring dependency injection for testable services (databases, HTTP clients, loggers) via Layer

Under The Hood

Architecture - The core effect package (packages/effect/src) is organized as one module per concept — Effect.ts (the ~14,800-line core computation type and its combinators), Fiber.ts/FiberRef.ts/FiberHandle.ts for structured concurrency, Layer.ts/Context.ts for dependency injection, Schema.ts/ParseResult.ts for validation, and Cause.ts/Exit.ts for typed failure representation. The monorepo (pnpm workspaces) layers over 30 additional packages (@effect/platform, @effect/sql-* per-driver adapters, @effect/cli, @effect/cluster, @effect/ai-*) on top of this shared core, so cross-cutting behavior like retries and tracing is implemented once and inherited everywhere. Tech Stack - Pure TypeScript, built and tested with pnpm workspaces, Vitest (via the project’s own @effect/vitest integration) and tstyche for type-level testing; the main branch currently tracks an in-development v4 while the published effect@latest npm package builds from the v3 branch. Code Quality - The core package alone carries 500+ test files spanning both runtime behavior and type-level assertions (tstyche.json), reflecting the project’s emphasis on both correctness and compile-time guarantees; a large, active contributor base and CI-enforced linting (eslint.config.mjs) back this up. API Design - The generator-based Effect.gen syntax lets code read close to async/await while still tracking typed errors and dependencies, which softens Effect’s famously steep initial learning curve, though the breadth of the ecosystem (dozens of modules, Layer/Context DI concepts, and the distinct v3/v4 branches) means new adopters face a real ramp-up period before the type-driven approach pays off.

Used by 16 apps in this directory

TypeScript
59%
Other

agenta

Developer Tools · Devops · AI Development

4,489

The open-source LLMOps platform unifying prompt engineering, evaluation, and observability for teams building reliable LLM applications.

View details
91
Repo Health
77
Technical
67
Dependency
Built with
TypeScript59%
Python39%
Updated today
TypeScript
84%
MIT

Amical

Note Taking · AI Assistants

1,495

Local-first AI dictation that understands your active app — private, offline, and built for speed.

View details
79
Repo Health
82
Technical
67
Dependency
Built with
TypeScript84%
Updated 3 weeks ago
TypeScript
51%
MIT

Anarlog

Note Taking · AI Assistants · Productivity

9,087

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
69
Dependency
Built with
TypeScript51%
Rust38%
Updated today
TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
Swift
64%
GPL 3.0

cmux

Developer Tools · AI Development

26,221

A native, Ghostty-based macOS terminal with vertical tabs, agent-aware notifications, and a scriptable browser built for running many parallel AI coding agent sessions instead of juggling tmux panes.

View details
84
Repo Health
81
Technical
72
Dependency
Built with
Swift64%
Rust14%
Updated today
Rust
69%
Other

GitButler

Developer Tools · Devops · AI Development

21,531

Git, but better — a modern version control client with stacked branches, parallel workflows, unlimited undo, and first-class support for AI-powered development.

View details
89
Repo Health
84
Technical
68
Dependency
Built with
Rust69%
TypeScript18%
Svelte12%
Updated today
TypeScript
79%
LGPL 3.0

Latitude

AI Agents · Monitoring

4,593

Open-source AI agent monitoring that catches what will break next before your users do.

View details
86
Repo Health
88
Technical
67
Dependency
Built with
TypeScript79%
Python11%
Updated today
TypeScript
96%
MIT

open-seo

Marketing · Developer Tools

12,596

Pay-as-you-go open source SEO platform with MCP integration — keyword research, rank tracking, backlinks, site audits, and AI brand visibility in one self-hosted tool.

View details
83
Repo Health
79
Technical
78
Dependency
Built with
TypeScript96%
Updated today
TypeScript
80%
AGPL 3.0

OpenStatus

Monitoring · Devops

8,993

Open-source status pages and uptime monitoring with global synthetic checks, monitoring-as-code, and AI agent integration via MCP.

View details
76
Repo Health
82
Technical
72
Dependency
Built with
TypeScript80%
MDX16%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search