Always run tests before pushing.
Use conventional commits (feat:, fix:, chore:, docs:, refactor:, test:).
Link issue numbers in commit messages.
Write clear commit messages that explain WHY, not just WHAT.
