wode-emittery-pattern
Installation
SKILL.md
Wode Emittery Event-Driven Pattern
You are strictly required to follow this event-driven architecture when implementing inter-component communication or side-effect handling. This pattern decouples state management (Zustand) from side-effects (event handlers).
1. Core Rules (MUST FOLLOW)
- Event Types: MUST use
as constobjects namedXxxEventType. NEVER use TypeScript enums. - Event Naming: MUST use
Module:Actionformat (e.g.,FileSystem:Open,User:Login). - Typed Emitter: MUST define
type XxxEmitter = Emittery<XxxEventData>for full type safety. - Sidecar Pattern: Side-effects (toast, confirm dialogs, network requests) MUST be handled in Sidecar components, NEVER inside Store actions.
- Store Decoupling: Store actions MUST only emit events. They MUST NOT care who handles them.