From 3707888fa28b51726302624d0697af7a8d859e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Rodr=C3=ADguez=20Rivero?= Date: Fri, 13 Mar 2026 07:13:18 +0100 Subject: [PATCH] chore: Improve CLAUDE.md with clearer Effect usage examples --- CLAUDE.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 39dc081..498b21b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,11 +12,14 @@ When making significant changes to the architecture or solving notable problems, Use functional programming style using effect-ts. When doing array operations, use effects Array for mapping, folding, etc. -When running multiple effects on an array, use the Effect.forEach pattern: +When running multiple effects on an array, use the `Effect.forEach` pattern: +```ts const results = yield* pipe(items, Effect.forEach(item => Effect.gen(function*(){ ... }))) -When creating Effect services, use Effect.Service pattern: +``` +When creating Effect services, use `Effect.Service` pattern: -// :white_check_mark: Correct: Class-based service with Effect.Service +```ts +// ✅ Correct: Class-based service with Effect.Service export class EpisodeService extends Effect.Service()( "EpisodeService", { @@ -31,7 +34,7 @@ export class EpisodeService extends Effect.Service()( }) } ) {} - +``` Prefer type aliases over interfaces. Use react-icons remix icons when you choose a new icon.