What problem does it solve?
This Skill solves the problem of inconsistent architectural patterns across Effect-TS codebases by prescribing an opinionated, standardized set of patterns for services, errors, layers, atoms, and observability to improve maintainability and collaboration.
Core Features & Use Cases
- Always use Effect.Service for business logic to gain automatic accessors, wiring, and a stable Default layer.
- Use Schema.TaggedError for errors to enable serialization, type-safe catchTag handling, and precise UI feedback.
- Emphasize explicit Layer composition and dependency declarations to avoid leaking internals and improve testability.
- Apply branding with branded IDs, Option handling, and Effect.fn-based tracing for robust observability and type safety.
- Integrate observability practices (logging, span annotations, and metrics) across services, patterns, and RPC boundaries.
- Provide reference patterns for service, error, schema, layer, RPC/cluster, and atom patterns to standardize development.
Quick Start
Create a small UserService using Effect.Service with accessors, wire a tagged NotFoundError, and expose a Default layer to serve in an app.