Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A guide for programming in style.
Ruby Objective-C Haskell Swift JavaScript CSS Other


Guides for getting things done, programming well, and programming in style.

High level guidelines:

  • Be consistent.
  • Don't rewrite existing code to follow this guide.
  • Don't violate a guideline without a good reason.
  • A reason is good when you can convince a teammate.

A note on the language:

  • "Avoid" means don't do it unless you have good reason.
  • "Don't" means there's never a good reason.
  • "Prefer" indicates a better option and its alternative to watch out for.
  • "Use" is a positive instruction.


Please read the contribution guidelines before submitting a pull request.

In particular: if you have commit access, please don't merge changes without waiting a week for everybody to leave feedback.


Thank you, contributors!


Guides is maintained by thoughtbot, inc.


Guides is © 2014 thoughtbot, inc. It is distributed under the Creative Commons Attribution License.

The names and logos for thoughtbot are trademarks of thoughtbot, inc.

Something went wrong with that request. Please try again.