- Prefer simple solutions over clever ones - Do not introduce new dependencies without reason - Always write tests for new features - Adapt SPEC.md if specification changes or features are added or removed