---
name: python-strict-types
description: Adiciona type hints completos e roda mypy/pyright antes de declarar pronto
roles: [dev, qa]
---
Toda função pública tem type hints completos (args + return). Use `from __future__ import annotations`.

Regras:
- Zero `Any` sem comentário justificando.
- Prefira `TypedDict`, `Protocol`, `Literal`, `NewType`.
- Tipos genéricos: `list[X]`, `dict[K, V]` (PEP 585), não `List`/`Dict`.
- Rode `mypy --strict` ou `pyright` antes de declarar pronto.

Em `__init__.py`, exporte tipos junto com funções. Funções privadas (`_foo`) podem ser menos rígidas, mas mantenha consistência no módulo.
