Frontend Context Auditor
Audit React frontend code for proper Context usage and compound component patterns.
Audit Checklist
Context Providers
-
AgentChatContextused for chat state (messages, input, streaming) -
AgentSessionContextused for session state (workflow, status, events) -
SettingsContextused for user preferences - No prop drilling through intermediate components
Compound Components
- Complex features use compound patterns:
Chat.Header,Chat.Messages,Chat.Input - Sub-components consume Context directly, not via props
- Parent component provides Context wrapper
Type Safety
- No
anytypes in component props or state - Interfaces defined for all props
- Backend responses validated with type guards before use
Styling
- Tailwind utility classes only (no arbitrary class names)
- shadcn/ui components used for accessible UI primitives
- No inline
styleobjects for dynamic styling
Audit Commands
# Find prop drilling (props passed through 2+ levels)
grep -r "props\." src/features/ | grep -v "interface\|type\|//" | head -50
# Find Context usage
grep -r "AgentChatContext\|AgentSessionContext\|SettingsContext" src/ | head -50
# Find compound component patterns
grep -r "Chat\.\|Header\|Messages\|Input" src/features/ | head -50
# Check for any types
grep -r ": any" src/ | head -20
Refactoring Guidelines
When prop drilling is detected:
- Extract shared state to a Context provider
- Move provider to appropriate level in component tree
- Consume Context in leaf components via
useContext
When compound patterns are missing:
- Split large components into
FeatureName.SubComponentfiles - Extract shared state to
FeatureName.Context.tsx - Wrap sub-components with provider in parent