level one

  • if it has a name do not give it another name
  • if you have given it a name do not give it another name
  • start with one file until you need^ another file
  • start with one folder until you need^ another folder
  • adapt to the default configuration
  • after a sincere effort to adapt fails, change the default configuration
  • don’t think about lint and style, use tools for that

level two

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

level three

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


  • add why
  • provide exam­ples
  • ^define need
  • ^define every­thing