Usually are long and project-dependent, so I won't share here.
But just a copy-paste of a piece of a project of mine
## Core Principles (IMPORTANT)
- **NO FALLBACKS EVER** - Fail fast, fail hard. If something is missing, crash immediately
- **NO SILENT DEFAULTS** - Never use default values when files/data is missing
- **NO TRY/EXCEPT WRAPPING** - Let exceptions propagate for easier debugging
- **PROPER TYPES ONLY** - Use Literal types for enums, Pydantic models for structures. No tuples for structured data
- **NO JAVA-STYLE ABSTRACTIONS** - Don't create pointless constants like STATUS_OK = "OK". Just use literals or proper types
- **PROPER PARSING** - No regex for structured formats, use real parsers
- **CRASH EARLY** - Things should crash as soon and as hard as possible for easy debugging
- **NO DEFENSIVE PROGRAMMING** - Don't worry about "backwards compatibility" during refactoring - just redesign things to be better.
## Development
**IMPORTANT: Always use `uv run` for all Python commands. Never use plain `python` or `python3`.**
```bash
# Format code
uv run ruff format .
# Check linting
uv run ruff check .
# Type checking
uv run ty check
# Run tests
uv run pytest tests/
```