Welcome to Effect

Effect is a powerful TypeScript library designed to help developers easily create complex, synchronous, and asynchronous programs.

One of the key features that sets Effect apart is how it leverages structured concurrency (opens in a new tab) to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs.

Some of the main Effect features include:

ConcurrencyAchieve highly-scalable, ultra low-latency applications through Effect's fiber-based concurrency model.
ComposabilityConstruct highly maintainable, readable, and flexible software through the use of small, reusable building blocks.
Resource SafetySafely manage acquisition and release of resources, even when your program fails.
Type SafetyLeverage the TypeScript type system to the fullest with Effect's focus on type inference and type safety.
Error HandlingHandle errors in a structured and reliable manner using Effect's built-in error handling capabilities.
AsynchronicityWrite code that looks the same, whether it is synchronous or asynchronous.
ObservabilityWith full tracing capabilities, you can easily debug and monitor the execution of your Effect program.

We are working hard to create comprehensive and approachable documentation that will guide you through various aspects of using Effect. We hope that you will find what you are looking for here - but if you don't, reach out to us on Discord (opens in a new tab) or Twitter (opens in a new tab)!