Create or update CLAUDE.md documentation using unified module/file template. ## ⚠️ FILE NAMING RULE (CRITICAL) - Target file: MUST be named exactly `CLAUDE.md` in the current directory - NEVER create files like `ToolSidebar.CLAUDE.md` or `[filename].CLAUDE.md` - ALWAYS use the fixed name: `CLAUDE.md` ## CORE CHECKLIST ⚡ □ MUST create/update file named exactly 'CLAUDE.md' (not variants) □ MUST include all 6 sections: Purpose, Structure, Components, Dependencies, Integration, Implementation □ For code files: Document all public/exported APIs with complete parameter details □ For folders: Reference subdirectory CLAUDE.md files instead of duplicating □ Provide method signatures with parameter types, descriptions, defaults, and return values □ Distinguish internal dependencies from external libraries □ Apply RULES template requirements exactly as specified ## DOCUMENTATION REQUIREMENTS ### Analysis Strategy - **Folders/Modules**: Analyze directory structure, sub-modules, and architectural patterns - **Code Files**: Analyze classes, functions, interfaces, and implementation details ### Required Sections (ALL 6 MUST BE INCLUDED) #### 1. Purpose and Scope - Clear description of what this module/file does - Main responsibilities and boundaries - Role within the larger system #### 2. Structure Overview **For Folders**: Directory organization, sub-module categorization, architectural layout **For Code Files**: File organization (imports, exports), class hierarchy, function grouping #### 3. Key Components **For Folders**: Sub-modules, major components, entry points, public interfaces **For Code Files**: - Core classes with descriptions and responsibilities - Key methods with complete signatures: ``` methodName(param1: Type1, param2: Type2): ReturnType - Purpose: [what it does] - Parameters: • param1 (Type1): [description] [default: value] • param2 (Type2): [description] [optional] - Returns: (ReturnType) [description] - Throws: [exception types and conditions] - Example: [usage example for complex methods] ``` - Important interfaces/types - Exported APIs #### 4. Dependencies **Internal Dependencies**: Other modules/files within project (with purpose) **External Dependencies**: Third-party libraries and frameworks (with purpose, version constraints if critical) #### 5. Integration Points - How this connects to other parts - Public APIs or interfaces exposed - Data flow patterns (input → processing → output) - Event handling or callbacks - Extension points for customization #### 6. Implementation Notes - Key design patterns used (e.g., Singleton, Factory, Observer) - Important technical decisions and rationale - Configuration requirements or environment variables - Performance considerations - Security considerations if applicable - Known limitations or caveats ## OUTPUT REQUIREMENTS ### File Naming (CRITICAL) - **Output file**: MUST be named exactly `CLAUDE.md` in the current directory - **Examples of WRONG naming**: `ToolSidebar.CLAUDE.md`, `index.CLAUDE.md`, `utils.CLAUDE.md` - **Correct naming**: `CLAUDE.md` (always, for all directories) ### Template Structure ```markdown # [Module/File Name] ## Purpose and Scope [Clear description of responsibilities and role] ## Structure Overview [Directory structure for modules OR File organization for code files] ## Key Components ### [Component/Class Name] - Description: [Brief description] - Responsibilities: [What it does] - Key Methods: #### `methodName(param1: Type1, param2?: Type2): ReturnType` - Purpose: [what this method does] - Parameters: • param1 (Type1): [description] • param2 (Type2): [description] [optional] [default: value] - Returns: (ReturnType) [description] - Throws: [exceptions if applicable] ## Dependencies ### Internal Dependencies - `[module/file path]` - [purpose] ### External Dependencies - `[library name]` - [purpose and usage] ## Integration Points ### Public APIs - `[API/function signature]` - [description] ### Data Flow [How data flows through this module/file] ## Implementation Notes ### Design Patterns - [Pattern name]: [Usage and rationale] ### Technical Decisions - [Decision]: [Rationale] ### Considerations - Performance: [notes] - Security: [notes] - Limitations: [notes] ``` ### Documentation Style - **Concise but complete** - Focus on "what" and "why", not detailed "how" - **Code signatures** for key APIs - Include all parameter details - **Parameters**: Name, type, description, optional/default indicators, constraints - **Return values**: Type, description, special conditions (null, undefined, empty) - **Evidence-based** - Reference related documentation when appropriate - **Examples** for complex methods - Show usage patterns ### Content Restrictions (STRICTLY AVOID) - ❌ Duplicating content from other CLAUDE.md files (reference instead) - ❌ Overly detailed code explanations (code should be self-documenting) - ❌ Complete code listings (use signatures and descriptions) - ❌ Version-specific details unless critical - ❌ Documenting every single function (focus on public/exported APIs) ### Method Documentation Rules - **Public/Exported methods**: MUST document with full parameter details - **Private/Internal methods**: Only document if complex or critical - **Parameters**: MUST include type, description, constraints, defaults - **Return values**: MUST document type and description - **Exceptions**: Document all thrown errors ### Special Instructions - If analyzing folder with existing subdirectory CLAUDE.md files → reference them - For code files → prioritize exported/public APIs - Keep dependency lists focused on direct dependencies (not transitive) - Update existing CLAUDE.md files rather than creating duplicate sections ## VERIFICATION CHECKLIST ✓ □ Output file is named exactly 'CLAUDE.md' (not [filename].CLAUDE.md) □ All 6 required sections included (Purpose, Structure, Components, Dependencies, Integration, Implementation) □ All public/exported APIs documented with complete signatures □ Parameters documented with types, descriptions, and defaults □ References used instead of duplicating subdirectory documentation □ Internal vs external dependencies clearly distinguished □ Examples provided for non-trivial methods Focus: Comprehensive yet concise documentation covering all essential aspects without redundancy.