Composition patterns for building flexible, maintainable React components. Avoid boolean prop proliferation by using compound components, lifting state, and composing internals. These patterns make codebases easier for both humans and AI agents to work with as they scale. Reference these guidelines when: - Refactoring components with many boolean props
architecture-state-patterns-react19-architecture-avoid-boolean-props - Don't add boolean props to customize behavior; use compositionarchitecture-compound-components - Structure complex components with shared contextstate-decouple-implementation - Provider is the only place that knows how state is managedstate-context-interface - Define generic interface with state, actions, meta for dependency injectionstate-lift-state - Move state into provider components for sibling accesspatterns-explicit-variants - Create explicit variant components instead of boolean modespatterns-children-over-render-props - Use children for composition instead of renderX props⚠️ React 19+ only. Skip this section if using React 18 or earlier.
react19-no-forwardref - Don't use forwardRef; use use() instead of useContext()rules/architecture-avoid-boolean-props.md rules/state-context-interface.md
AGENTS.md