← ClaudeAtlas

functional-typescript-effectlisted

Use when applying functional design in a TypeScript project built on the Effect library, including services, layers, schema boundaries, and tagged errors.
yutna/functional-design-skills · ★ 0 · AI & Automation · score 75
Install: claude install-skill yutna/functional-design-skills
# Functional TypeScript With Effect ## Overview Effect provides in a library what the core skills describe as design rules: an effect type that carries success, failure, and requirements in its signature; a service and layer system that is dependency parameterization with type checking; schemas that parse boundaries into domain types; and structured concurrency with scoped resources. The design rules do not change. What changes is that the compiler now enforces most of them, including which dependencies a piece of code needs, which is the one thing plain TypeScript cannot check. **Check the installed version before writing code.** Effect's API has changed across major versions; the shapes below target Effect 3. ## When to use - A TypeScript project that already depends on Effect - Deciding how to express a workflow, a service, or an error in Effect - Reviewing Effect code against the core design rules Not for: TypeScript without Effect, which has [functional-typescript](../functional-typescript/SKILL.md). ## Notation mapping | Neutral notation | Effect | | --------------------- | --------------------------------------------- | | `A -> B` | A plain function; keep it plain | | `Result<T, E>` | `Either<T, E>`, or `Effect<T, E>` | | `Option<T>` | `Option<T>` | | `AsyncResult<T, E>` | `Effect<T, E>` | | A de