Introduction
Welcome to the Effect documentation!
Effect is a powerful TypeScript library designed to help developers easily create complex, synchronous, and asynchronous programs.
Some of the main Effect features include:
| Feature | Description |
|---|---|
| Concurrency | Achieve highly-scalable, ultra low-latency applications through Effect’s fiber-based concurrency model. |
| Composability | Construct highly maintainable, readable, and flexible software through the use of small, reusable building blocks. |
| Resource Safety | Safely manage acquisition and release of resources, even when your program fails. |
| Type Safety | Leverage the TypeScript type system to the fullest with Effect’s focus on type inference and type safety. |
| Error Handling | Handle errors in a structured and reliable manner using Effect’s built-in error handling capabilities. |
| Asynchronicity | Write code that looks the same, whether it is synchronous or asynchronous. |
| Observability | With full tracing capabilities, you can easily debug and monitor the execution of your Effect program. |
The documentation is structured in a sequential manner, starting from the basics and progressing to more advanced topics. This allows you to follow along step-by-step as you build your Effect application. However, you have the flexibility to read the documentation in any order or jump directly to the pages that are relevant to your specific use case.
To facilitate navigation within a page, you will find a table of contents on the right side of the screen. This allows you to easily jump between different sections of the page.
The following article describe how to use Effect with LLMs: https://effect.website/blog/the-one-weird-git-trick-that-makes-coding-agents-more-effect-ive/
When using LLMs it is also very important to optimize the feedback loop to be as tight as possible, that can include writing custom linting rules to fit your style preferences and patterns, an example of a repository optimized for agentic coding can be found at: https://github.com/mikearnaldi/accountability
A key part of optimizing the feedback loop (and the developer experience in general when using Effect) is to use the Effect LSP plugin, we advise using the latest “tsgo” implementation of it that can be found at: https://github.com/Effect-TS/tsgo
If you have questions about anything related to Effect, you’re always welcome to ask our community on Discord.