Multi-agent AI laboratory with ASP.NET Core 8.0 backend and Flutter frontend. Implements CQRS architecture, OpenAPI contract-first API design. BACKEND: Agent management, conversations, executions with PostgreSQL + Ollama FRONTEND: Cross-platform UI with strict typing and Result-based error handling Co-Authored-By: Jean-Philippe Brule <jp@svrnty.io>
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