effect-layers-services
Layers & Services
When to use
- You need DI boundaries or swapping test/live implementations
- You want to compose infra (logger, db, http) once for the app
Define Service
class UserRepo extends Effect.Service<UserRepo>()("UserRepo", {
sync: () => ({ find: (id: string) => Effect.succeed({ id }) })
}) {}
More from mepuka/effect-ontology
effect-index
Skill index and decision guide. Use to pick the right Effect Skill quickly and follow a minimal decision tree.
314effect-patterns-hub
Complete catalog of 130+ Effect-TS patterns from EffectPatterns repository. Use when looking for specific implementation patterns, best practices, or real-world examples. Complements other skills with concrete, curated patterns.
38effect-errors-retries
Error modeling and recovery with TaggedError, catchTag(s), mapError, and retry schedules. Use when defining errors or adding resilience.
28effect-concurrency-fibers
Concurrency with Effect.all, forEach concurrency, Fiber lifecycle, race and timeouts. Use for parallelizing tasks safely.
28effect-testing-mocking
Testing patterns with layers, mocks, and deterministic time. Use when preparing testable services and small smoke tests.
26effect-queues-background
Queue and PubSub patterns, background fibers, and graceful shutdown. Use for decoupling producers/consumers.
26