CODEX_ADK/FRONTEND/.claude-docs/strict-typing.md
jean-philippe 3fae2fcbe1 Initial commit: CODEX_ADK (Svrnty Console) MVP v1.0.0
This is the initial commit for the CODEX_ADK project, a full-stack AI agent
management platform featuring:

BACKEND (ASP.NET Core 8.0):
- CQRS architecture with 6 commands and 7 queries
- 16 API endpoints (all working and tested)
- PostgreSQL database with 5 entities
- AES-256 encryption for API keys
- FluentValidation on all commands
- Rate limiting and CORS configured
- OpenAPI/Swagger documentation
- Docker Compose setup (PostgreSQL + Ollama)

FRONTEND (Flutter 3.x):
- Dark theme with Svrnty branding
- Collapsible sidebar navigation
- CQRS API client with Result<T> error handling
- Type-safe endpoints from OpenAPI schema
- Multi-platform support (Web, iOS, Android, macOS, Linux, Windows)

DOCUMENTATION:
- Comprehensive API reference
- Architecture documentation
- Development guidelines for Claude Code
- API integration guides
- context-claude.md project overview

Status: Backend ready (Grade A-), Frontend integration pending

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 18:32:38 -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