When thinking about developer experience, one of the main goals should be that a user is never surprised by CI.

As an example, there's a tool called DangerJS that can be hard to operate to test locally but what it checks can be extracted in such a way that you can run checks locally if you choose to (and set up the checks to run with Husky on a precommit hook)

posted on October 31st 2019