My recent preferred workflow is to automate commits for docs + commits inside feature branches with a tool I wrote (https://github.com/nikitavoloboev/gitupdate). It creates commits with the files changed as commit messages.
The branches ideally gets squashed with proper commit message when merging so git history is clean. And no time is wasted writing commit messages that often say whatever the code should already say.