level one

  • if it has a name do not give it another name

level two

  • start with one file until you need^ another file
  • start with one folder until you need^ another folder

level three

  • rebase to reor­ga­nize before you offer a pull request
  • rebase again to squash before you merge to mas­ter

level four

  • test every­thing^
  • deploy every merge request that passes the tests
  • test every­thing^
  • release mas­ter after every merge

level five

  • adapt to the default con­fig­u­ra­tion
  • after a sin­cere effort fails, change the default con­fig­u­ra­tion


  • add why
  • pro­vide exam­ples
  • ^define need
  • ^define every­thing