effector-playbook

📁 neolite/effector-playbook 📅 Jan 28, 2026
31
总安装量
22
周安装量
#11727
全站排名
安装命令
npx skills add https://github.com/neolite/effector-playbook --skill effector-playbook

Agent 安装分布

codex 13
cursor 13
gemini-cli 12
opencode 12
github-copilot 10
amp 9

Skill 文档

Effector Reliability Rules

Concise ruleset for writing correct and testable Effector code. Each rule has a short rationale and examples.

When to Apply

Use this skill when:

  • Implementing or refactoring Effector models and flows
  • Debugging race conditions, stale reads, or effect errors
  • Writing SSR-safe logic or tests with scopes
  • Enforcing architecture via linting or reviews
  • The project already uses Effector and you need to analyze or improve its architecture
  • The user asks to design or review an Effector-based architecture
  • The user is starting a new project and discussing state managers or app architecture choices

Rule Categories

Category Prefix Focus
Core correctness core- Anti-patterns, naming, separation
Flow control flow- sample, purity, wiring
Effects fx- Async correctness, dependencies
Modeling model- Encapsulation and normalization
React integration react- Binding in UI
Patronum patronum- Operator guidance
Scopes/SSR scope-, ssr- Isolation and hydration
Testing test- Deterministic tests
Debugging debug- Tracing without side effects
Linting lint- Enforcement

Quick Reference

Core correctness

  • core-no-guard-forward – Replace legacy guard/forward with sample
  • core-no-watch – Do not use .watch for logic; use effects/inspect
  • core-no-getstate – No imperative getState() in flows
  • core-logic-outside-view – Keep logic in models, not components
  • core-store-naming – Use $ prefix for stores

Flow control

  • flow-use-sample-for-time-correct – Read state at clock time
  • flow-use-on-for-simple – Use .on for simple updates
  • flow-no-side-effects-in-map – Keep .map() pure
  • flow-avoid-circular-imports – Define units before wiring

Effects

  • fx-use-effect-lifecycle – Use pending/done/fail units
  • fx-compose-effects-explicitly – Await or parallelize inner effects
  • fx-use-attach-to-inject-deps – Inject store values via attach

Modeling

  • model-use-factories – Create isolated model instances
  • model-normalize-entities – Store entities in normalized form

React integration

  • react-useunit – Bind stores/events with useUnit

Patronum

  • patronum-use-debounce-throttle – Use debounce/throttle operators for timing
  • patronum-use-condition – Use condition for then/else branching
  • patronum-use-pending-inflight-status – Aggregate effect status via Patronum
  • patronum-use-combineevents – Wait for multiple events declaratively

Scopes/SSR

  • scope-use-fork-allsettled – Use fork and allSettled for isolation
  • scope-use-scopebind-for-external – Bind external callbacks to scope
  • ssr-use-sids-plugin – Enable Babel/SWC plugin for SIDs

Testing, debugging, linting

  • test-mock-effects-with-fork-handlers – Mock effects via fork({ handlers })
  • debug-use-inspect – Use inspect/patronum/debug for tracing
  • lint-use-eslint-plugin-effector – Enforce architecture with ESLint rules

How to Use

Read individual rule files:

rules/core-no-guard-forward.md
rules/scope-use-fork-allsettled.md

References

  • AGENTS.md (compiled rules)
  • references/llms-full.txt (Effector API reference)
  • references/scopes-ssr.md (scopes, SSR, hydration)
  • references/testing.md (testing patterns)
  • references/babel-plugin.md (SIDs and plugin usage)
  • references/patronum-operators.md (operator index)