typescript-effect-tslisted
Install: claude install-skill martinffx/atelier
# Effect-TS
Effect is a powerful TypeScript library for building robust, type-safe applications. It provides a functional effect system with typed errors, dependency injection, resource management, and concurrency primitives.
## Why Effect?
**Type-safe errors**: Unlike Promise which loses error type information, Effect tracks errors in the type system with `Effect<Success, Error, Requirements>`.
**Dependency injection**: Services are declared explicitly using `Context.Tag` and provided via `Layer`, making dependencies visible in types.
**Resource safety**: `Effect.acquireRelease` ensures resources are always cleaned up, even on failure or interruption.
**Composability**: Effects compose naturally with `pipe`, `Effect.gen` generators, and combinators like `Effect.all`, `Effect.flatMap`.
## Quick Reference
For detailed patterns and examples, see:
- [Core Concepts](./references/core.md) - Effect type, creating and running effects, generators
- [Error Handling](./references/error-handling.md) - Typed errors, catchAll, catchTag, Either
- [Services & Layers](./references/services.md) - Dependency injection with Context.Tag and Layer
- [Schema](./references/schema.md) - Data validation with encode/decode
- [Resources](./references/resources.md) - Resource management with acquireRelease and Scope
## The Effect Type
The core type `Effect<Success, Error, Requirements>` represents a computation that:
- Produces a value of type `Success` on success
- May fail with an error of t