Skip to content

Instantly share code, notes, and snippets.

@marbemac
Created July 28, 2025 14:18
Show Gist options
  • Save marbemac/924073bdd3e7dbac414410e184e3006e to your computer and use it in GitHub Desktop.
Save marbemac/924073bdd3e7dbac414410e184e3006e to your computer and use it in GitHub Desktop.
Cursor rule to automatically fetch relevant docs from the effect.guide repo
---
description: Guidelines when working with effect ts code, or answering questions about effect ts.
alwaysApply: false
---
When working with effect ts code, if documentation on any of the topics below would be helpful, always fetch the
relevant doc(s) using the `run_terminal_cmd` tool with `curl` commands.
IMPORTANT: if the user has included the term MAX_EFFECT anywhere in this conversation, it means they want you to have
maximum knowledge of effect while accomplishing the task - thus ALWAYS fetch relevant effect docs as you work through
the task (assuming you have not previously fetched them of course).
**Fetching Strategy:**
- Use the appropriate URL for each module type (use `/usr/bin/curl` instead of `curl` to avoid path issues!), replacing
"{filename}" with the relevant core or platform filename.
- Core modules:
`/usr/bin/curl -s "https://raw.githubusercontent.com/dmmulroy/effect.guide/refs/heads/main/effect/{filename}"`
- Platform modules:
`/usr/bin/curl -s "https://raw.githubusercontent.com/dmmulroy/effect.guide/refs/heads/main/@effect/platform/{filename}"`
- For multiple related docs, prefer using parallel curl commands in the same tool call batch, rather than separate tool
calls
- **IMPORTANT**: Before fetching, check conversation history to avoid requesting docs already retrieved, and only fetch
docs that haven't been fetched yet in the current conversation
- Common combinations (you can make requests for docs outside of these combos, or mix and match differently - just some
common ones):
- Effect-Guide.md + Either-Guide.md + Option-Guide.md + Cause-Guide.md (core error handling)
- Context-Guide.md + Layer-Guide.md + LayerMap.md + ManagedRuntime-Guide.md (service architecture & DI)
- SubscriptionRef-Guide.md + Ref-Guide.md + Effect-Guide.md + Stream-Guide.md (reactive state management)
- Effect-Guide.md + Schema-Guide.md + Data-Guide.md + ParseResult-Guide.md (data validation with effects)
- Stream-Guide.md + Effect-Guide.md + Fiber-Guide.md + PubSub-Guide.md (async data processing)
- Match-Guide.md + Either-Guide.md + Option-Guide.md + Data-Guide.md (pattern matching & control flow)
- Metric-Guide.md + Effect-Guide.md + Logger-Guide.md + Console-Guide.md (observability & monitoring)
- TestContext-Guide.md + TestLive-Guide.md + Layer-Guide.md + Effect-Guide.md (testing patterns)
- Schedule-Guide.md + Effect-Guide.md + Cause-Guide.md + Either-Guide.md (retry patterns & resilience)
- Resource-Guide.md + Scope-Guide.md + Effect-Guide.md + Layer-Guide.md (resource management)
**Available documentation files:**
**Core Effect modules:**
- Arbitrary-Guide.md
- Array-Guide.md
- BigDecimal-Guide.md
- BigInt-Guide.md
- Boolean-Guide.md
- Brand-Guide.md
- Cache-Guide.md
- Cause-Guide.md
- Channel-Guide.md
- ChildExecutorDecision-Guide.md
- Chunk-Guide.md
- Clock-Guide.md
- Config-Guide.md
- Console-Guide.md
- Context-Guide.md
- Cron-Guide.md
- Data-Guide.md
- DateTime-Guide.md
- DefaultServices-Guide.md
- Deferred-Guide.md
- Differ-Guide.md
- Duration-Guide.md
- Effect-Guide.md
- Effectable-Guide.md
- Effectable.md
- Either-Guide.md
- Encoding-Guide.md
- Equal-Guide.md
- Equivalence-Guide.md
- ExecutionPlan.md
- ExecutionStrategy-Guide.md
- Exit-Guide.md
- FastCheck-Guide.md
- Fiber-Guide.md
- FiberHandle.md
- FiberId-Guide.md
- FiberMap.md
- FiberRef-Guide.md
- FiberRefs.md
- FiberRefsPatch.md
- FiberSet.md
- FiberStatus.md
- Function-Guide.md
- GlobalValue.md
- GroupBy.md
- HKT.md
- Hash-Guide.md
- HashMap-Guide.md
- HashSet-Guide.md
- Inspectable.md
- Iterable-Guide.md
- JSONSchema-Guide.md
- KeyedPool.md
- Layer-Guide.md
- LayerMap.md
- List-Guide.md
- LogLevel-Guide.md
- LogSpan-Guide.md
- Logger-Guide.md
- Mailbox-Guide.md
- ManagedRuntime-Guide.md
- Match-Guide.md
- MergeDecision-Guide.md
- MergeState-Guide.md
- MergeStrategy-Guide.md
- Metric-Guide.md
- MetricBoundaries-Guide.md
- MetricHook-Guide.md
- MetricKey-Guide.md
- MetricKeyType-Guide.md
- MetricLabel-Guide.md
- MetricPair-Guide.md
- MetricPolling-Guide.md
- MetricRegistry-Guide.md
- MetricState-Guide.md
- Micro-Guide.md
- MutableHashMap-Guide.md
- MutableHashSet-Guide.md
- MutableList-Guide.md
- MutableQueue-Guide.md
- MutableRef-Guide.md
- NonEmptyIterable-Guide.md
- Number-Guide.md
- Option-Guide.md
- Order-Guide.md
- Ordering-Guide.md
- ParseResult-Guide.md
- ParseResult.md
- Pipeable-Guide.md
- Pool-Guide.md
- Predicate-Guide.md
- Pretty-Guide.md
- PubSub-Guide.md
- Queue-Guide.md
- Random-Guide.md
- RateLimiter.md
- RcMap-Guide.md
- RcRef-Guide.md
- Readable-Guide.md
- Record-Guide.md
- RedBlackTree-Guide.md
- Redacted-Guide.md
- Ref-Guide.md
- RegExp-Guide.md
- Request.md
- RequestBlock.md
- RequestResolver.md
- Resource-Guide.md
- Runtime-Guide.md
- RuntimeFlags.md
- RuntimeFlagsPatch.md
- STM-Guide.md
- Schedule-Guide.md
- ScheduleDecision.md
- ScheduleInterval.md
- ScheduleIntervals.md
- Scheduler.md
- Schema-Guide.md
- SchemaAST-Guide.md
- Scope-Guide.md
- ScopedCache-Guide.md
- ScopedRef-Guide.md
- SingleProducerAsyncInput-Guide.md
- Sink-Guide.md
- SortedMap-Guide.md
- SortedSet-Guide.md
- Stream-Guide.md
- StreamEmit-Guide.md
- StreamHaltStrategy-Guide.md
- Streamable-Guide.md
- String-Guide.md
- Struct-Guide.md
- Subscribable-Guide.md
- SubscriptionRef-Guide.md
- Supervisor-Guide.md
- Symbol-Guide.md
- SynchronizedRef-Guide.md
- TArray-Guide.md
- TDeferred-Guide.md
- TMap-Guide.md
- TPriorityQueue-Guide.md
- TPubSub-Guide.md
- TQueue-Guide.md
- TRandom-Guide.md
- TReentrantLock-Guide.md
- TRef-Guide.md
- TSemaphore-Guide.md
- TSet-Guide.md
- TSubscriptionRef-Guide.md
- Take.md
- TestAnnotation-Guide.md
- TestAnnotationMap-Guide.md
- TestAnnotations-Guide.md
- TestConfig-Guide.md
- TestContext-Guide.md
- TestLive-Guide.md
- TestServices-Guide.md
- TestSized-Guide.md
- Tracer-Guide.md
- Trie-Guide.md
- Tuple-Guide.md
- Types-Guide.md
- UpstreamPullRequest-Guide.md
- UpstreamPullStrategy-Guide.md
- Utils-Guide.md
**Platform modules:**
- Command-Guide.md
- FileSystem-Guide.md
- HttpApi-Guide.md
- HttpClient-Guide.md
- HttpRouter-Guide.md
- HttpServer-Guide.md
- KeyValueStore-Guide.md
- Path-Guide.md
- PlatformLogger-Guide.md
- Runtime-Guide.md
- Socket-Guide.md
- Terminal-Guide.md
- Worker-Guide.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment