Console/.claude-docs/strict-typing.md
jean-philippe b476c2aa1f Refactor documentation structure into modular files
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>
2025-10-26 09:22:22 -04:00

1.0 KiB

Strict Typing - NO EXCEPTIONS

Claude must ALWAYS use explicit types in ALL code. The use of any type is FORBIDDEN.

Rules:

  1. Every variable must have an explicit type annotation
  2. Every function parameter must be typed
  3. Every function return value must be typed
  4. Never use any, dynamic (in Dart), or equivalent loose types
  5. 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