# Effect Resources

## Knowledge

- [Docs: The Effect Type](https://www.effect.website/docs/getting-started/the-effect-type)
  Canonical definition: an Effect is a *lazy description* of a workflow with success, error, and requirements channels. Use for: anything about `Effect<A, E, R>`.
- [Docs: Why Effect?](https://www.effect.website/docs/getting-started/why-effect)
  The divide-by-zero argument: TypeScript functions hide throws; Effect puts errors and context in the type. Use for: motivation and the “pattern” in one page.
- [Docs: Creating Effects](https://www.effect.website/docs/getting-started/creating-effects)
  `succeed`, `fail`, `sync`, `try`, `promise`, `tryPromise`, `async`, `suspend`, plus the constructor cheatsheet. Use for: building values without running them.
- [Docs: Running Effects](https://www.effect.website/docs/getting-started/running-effects)
  `runSync`, `runSyncExit`, `runPromise`, `runPromiseExit`, `runFork`; run at the program’s edge; prefer async runners. Use for: when work actually happens.
- [Docs: Effect vs Promise](https://www.effect.website/docs/additional-resources/effect-vs-promise)
  Eager vs lazy, one-shot vs multi-shot, typed errors, interruption, structured concurrency. Use for: side-by-side with ordinary TypeScript.
- [Docs: Using Generators](https://www.effect.website/docs/getting-started/using-generators)
  `Effect.gen` / `yield*` as the `async`/`await`-shaped syntax. Use for: composition that still looks sequential.
- [Docs: Installation](https://www.effect.website/docs/getting-started/installation)
  TS 5.4+, `strict: true`, `effect` package; includes a Vite + React example that constructs `Effect.sync` in `useMemo` and runs it on click. Use for: first install and the React boundary.
- [Docs: Introduction](https://www.effect.website/docs/getting-started/introduction)
  Feature map (concurrency, resources, tracing, …) and the language-service recommendation (`@effect/language-service`, tsgo). Use for: orientation, not a first lesson.
- [GitHub: Effect-TS/effect](https://github.com/Effect-TS/effect)
  Source of truth for versions. `main` is v4 RC; v3 lives on the `v3` branch. Use for: “which API am I actually on?”

## Wisdom (Communities)

- [Effect Discord](https://discord.gg/effect-ts)
  Official community linked from the docs. Use for: “is this the Effect-shaped way?” after attempting an answer here.
- [Effect-TS on GitHub](https://github.com/Effect-TS)
  Issues and discussions with maintainers. Use for: API bugs, version questions, ecosystem packages.

## Gaps

- First-class “Effect in React” guide beyond the install snippet (hooks, suspense, query libraries). Teach the boundary from first principles until a durable official page exists.
- Stable v4 docs. Until they replace the current site, lessons stay on the published v3-shaped API and call out RC differences only when they bite.
