Repolode
Effect-TS

Effect-TS/effect

A TypeScript library for building production-grade apps with typed errors, dependency injection, structured concurrency, and schema validation.

Stars
17,376
Forks
875
Open issues
82
Last commit
20 hours ago

What is it?

Effect is a TypeScript library for building robust, maintainable, type-safe applications. It targets the hard problems that appear at scale: errors that are tracked in the type system, dependency injection, structured concurrency, scheduling, tracing, and unified schema validation.

The core package is `effect`, and the monorepo ships a family of companion packages. These cover platform services for Node.js, Bun, Deno, and the browser; SQL clients for PostgreSQL, MySQL, SQLite variants, ClickHouse, and others; AI provider integrations for OpenAI, Anthropic, and OpenRouter; OpenTelemetry integration; Vitest helpers; and code generators for OpenAPI and GraphQL.

Effect 4.x is the current long-term support release and requires TypeScript 5.9 or newer with the `strict` flag enabled. Users on Effect 3.x can follow the migration guide, and the v3 source lives on its own branch.

Key features

  • 01Typed errors tracked in the type system
  • 02Dependency injection for composing services
  • 03Structured concurrency and scheduling
  • 04Tracing and OpenTelemetry integration
  • 05Unified schema validation
  • 06SQL clients and platform services for multiple runtimes

Use cases

  • Building large TypeScript backends that need explicit error handling and dependency wiring
  • Writing type-safe SQL access across PostgreSQL, MySQL, or SQLite
  • Adding OpenTelemetry tracing to existing TypeScript services
  • Generating typed Effect clients from OpenAPI or GraphQL specifications

Quick start

  1. 1

    Install the core package with npm

    npm install effect

Things to know

  • Requires TypeScript 5.9 or newer with the strict flag enabled.
  • Effect 4.x is an LTS release, and Effect 3.x users must follow a migration guide to upgrade.

In collections

Topics

FAQ

What is effect?
A TypeScript library for building production-grade apps with typed errors, dependency injection, structured concurrency, and schema validation. Effect is a TypeScript library for building robust, maintainable, type-safe applications. It targets the hard problems that appear at scale: errors that are tracked in the type system, dependency injection, structured concurrency, scheduling, tracing, and unified schema validation.
Is effect free to use? What license does it have?
effect is open source under the MIT license. Check the license terms before using it in commercial products.
Is effect still maintained?
Actively maintained. The last commit to effect was on Oct 24, 2026.
What can I use effect for?
Building large TypeScript backends that need explicit error handling and dependency wiring Writing type-safe SQL access across PostgreSQL, MySQL, or SQLite Adding OpenTelemetry tracing to existing TypeScript services Generating typed Effect clients from OpenAPI or GraphQL specifications
How do I install effect?
Install the core package with npm: npm install effect
Where can I get effect?
The source code and installation instructions are on GitHub: https://github.com/Effect-TS/effect

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects