Spaces:
Running
Running
Coding Conventions
Tech Stack
React + TypeScript + Mantine UI (@mantine/core, @mantine/hooks, @mantine/form)
Style Guidelines
- Run
npm run formatbefore committing (enforced viahuskyandlint-staged) - Named function exports:
export function ComponentName(notReact.FC) - Use
React.lazy()for route-level components - PascalCase for components/types, camelCase for functions/variables, UPPER_SNAKE_CASE for constants
TypeScript
- Use interfaces for data structures
- Avoid comments; use TSDoc only for public APIs
- Strict mode enabled - no
anytypes
State & Imports
- Use
create-pubsubfor global state (avoid nested context providers) - Prefer absolute path aliases where configured (
@/for client root)
UI & Performance
- Use Mantine components for consistency
- Ensure keyboard navigation, ARIA labels, semantic HTML
- Use
React.memo()anduseCallback()for optimization
File Organization
- Components organized by feature domain
- Each component folder is self-contained
- Hooks in dedicated
hooks/directories - Shared utilities in
shared/or component-levelutils/
Error Handling
- Use error boundaries for React components
- Proper TypeScript error types
- Graceful degradation for AI features
Related Topics
- Project Structure:
docs/project-structure.md- Directory organization - Design:
docs/design.md- UI/UX principles - UI Components:
docs/ui-components.md- Component architecture - Pull Requests:
docs/pull-requests.md- Contribution workflow