Commits changes atomically: groups related files into logical commits, runs pre-commit on each group before committing (if pre-commit is available), and writes conventional commit messages. Use when the user asks to commit changes, stage and commit, or wants clean atomic commits from a working tree.