Unless explicitly requested:
- Do NOT commit
- Do NOT write tests
- Do NOT run code or applications
NEVER push code
Never install anything
ASK questions if something is unclear or ambiguous
Always aim for simplicity, clarity, be challenging to achieve this
- Use
collections.abcfor instead oftypingwhere possible - Dataclasses:
@dataclass(frozen=True, kw_only=True, slots=True) - No comments unless explicitly requested
- Type hints required,
mypyin strict mode, avoid usingAny - Use
TypeAliasfor type aliases, andAnnotatedfor FastAPI dependencies
- Study related code before making changes to fully understand the context
- Try to remove all unavoidable complexity from the task before you start coding, ask challenging questions if needed
- Do everything to simplify solutions and remove all unnecessary complexity from the produced code
- Write clean, modular, readable code
- Prefer composition, dependency injection
- Look for general, powerful, clear abstractions
- Remember the Zen of Python