This is an example CLAUDE.md file showing how to configure Claude Code for your project.
- Stack: React, TypeScript, Node.js
- Test Command:
npm test - Lint Command:
npm run lint - Build Command:
npm run build
src/components/- React componentssrc/hooks/- Custom React hookssrc/utils/- Utility functionssrc/api/- API client codetests/- Test files
- TypeScript strict mode enabled
- Prefer
interfaceovertype(except unions/intersections) - No
any- useunknowninstead - Use early returns, avoid nested conditionals
- Prefer composition over inheritance
- Branch naming:
{initials}/{description}(e.g.,jd/fix-login) - Commit format: Conventional Commits (
feat:,fix:,docs:, etc.) - PR titles: Same as commit format
- NEVER swallow errors silently
- Always show user feedback for errors
- Log errors for debugging
- Always handle: loading, error, empty, success states
- Show loading ONLY when no data exists
- Every list needs an empty state
- Disable buttons during async operations
- Show loading indicator on buttons
- Always have onError handler with user feedback
- Write failing test first (TDD)
- Use factory pattern:
getMockX(overrides) - Test behavior, not implementation
- Run tests before committing
Before implementing ANY task, check if relevant skills apply:
- Creating tests →
testing-patternsskill - Building forms →
formik-patternsskill - GraphQL operations →
graphql-schemaskill - Debugging issues →
systematic-debuggingskill - UI components →
react-ui-patternsskill
# Development
npm run dev # Start dev server
npm test # Run tests
npm run lint # Run linter
npm run typecheck # Check types
# Git
npm run commit # Interactive commit
gh pr create # Create PR