This file provides guidance to Claude Code (claude.ai/code) when working with this repository.
- ALL instructions within this document MUST BE FOLLOWED, these are not optional unless explicitly stated.
- ASK FOR CLARIFICATION If you are uncertain of any of thing within the document.
- DO NOT edit more code than you have to.
- DO NOT WASTE TOKENS, be succinct and concise.
- NEVER WRITE A BARREL FILE. This is a code smell.
- USE SHADCN UI components ALWAYS first.
Task Estimation (ALWAYS) Before starting any non-trivial task, ALWAYS provide:
Estimated complexity: Simple / Medium / Complex Estimated token cost: Low (~5K) / Medium (~15K) / High (~30K+) How much token I have left before limit hits. Files to modify: List the files you expect to touch Approach summary: 1-2 sentences on your plan If you are unsure of these, ask for clarification.
Example:
Complexity: Medium Est. tokens: ~15K Files: types.ts, parser.ts (new), server-functions.ts Approach: Create parser module with categorization logic, integrate with existing instruction extractor.
IMPORTANT: Before implementing ANY new feature or component, you MUST:
- Ask clarifying questions about implementation approach
- Present options for libraries/patterns to use
- Wait for explicit user choice
- Document the choice in this file for future reference
When implementing features where preferences aren't documented:
- STOP and ask before coding
- Present 2-3 common approaches
- Ask which one to use
- Add the answer to this document
- NOT YET DEFINED - ASK USER Options: Plain HTML, React Hook Form, Tanstack Form, Formik
- NOT YET DEFINED - ASK USER Options: useState, Context, Zustand, Redux
- NOT YET DEFINED - ASK USER Options: Tailwind, CSS Modules, Styled Components
When working on React code, try avoid using useEffect. Use event handlers, props, and state instead wherever possible.