# 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:**
```typescript
const data: any = fetchData();
function process(input: any): any { ... }
```

```dart
dynamic value = getValue();
void handleData(var data) { ... }
```

✅ **REQUIRED:**
```typescript
const data: UserData = fetchData();
function process(input: UserInput): ProcessedOutput { ... }
```

```dart
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
