Extracted strict typing standards and response protocol into separate files in .claude-docs/ directory for better maintainability and reduced duplication. CLAUDE.md now serves as a lightweight index with references to detailed documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1.0 KiB
1.0 KiB
Strict Typing - NO EXCEPTIONS
Claude must ALWAYS use explicit types in ALL code. The use of any type is FORBIDDEN.
Rules:
- Every variable must have an explicit type annotation
- Every function parameter must be typed
- Every function return value must be typed
- Never use
any,dynamic(in Dart), or equivalent loose types - Use proper generics, interfaces, and type unions instead
Examples:
❌ FORBIDDEN:
const data: any = fetchData();
function process(input: any): any { ... }
dynamic value = getValue();
void handleData(var data) { ... }
✅ REQUIRED:
const data: UserData = fetchData();
function process(input: UserInput): ProcessedOutput { ... }
UserData value = getValue();
void handleData(RequestData data) { ... }
This rule applies to:
- TypeScript/JavaScript
- Dart/Flutter
- Python (use type hints)
- All statically-typed languages
- Even when interfacing with external APIs - create proper type definitions