Use when committing code - ensures atomic, descriptive commits that leave the codebase in a merge-ready state at every point