I used to enforce heavy pre-commit hooks to optimise for fast feedback. These days, I push most of those checks to CI.
This post isn’t about tooling so much as it is about flow state, cognitive load, and learning the cost of enforcing the right checks at the wrong time.