thoughtbot/guides

A guide for programming in style.

Ruby

9,570

492 commits

updated Aug 21, 2026

See the code

README

Guides

Guides for working together, 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.

Guides by category

Collaboration

Protocols

Languages

Frameworks and platforms

Tools

Contributing

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.

Credits

Thank you, contributors!

License

Guides is © 2020-2025 thoughtbot, inc. It is distributed under the Creative Commons Attribution License.

About thoughtbot

thoughtbot

This repo is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects. We are available for hire.

thoughtbot/guides

A guide for programming in style.

Ruby

9,570

492 commits

updated Aug 21, 2026

See the code

README

Guides

Guides for working together, 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.

Guides by category

Collaboration

Protocols

Languages

Frameworks and platforms

Tools

Contributing

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.

Credits

Thank you, contributors!

License

Guides is © 2020-2025 thoughtbot, inc. It is distributed under the Creative Commons Attribution License.

About thoughtbot

thoughtbot

This repo is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects. We are available for hire.

Project health

Overall

3.6/10

Maintained

2/10

Code review

9/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 73)

Henrik Nyh

449 followers · starred Jul 2012

Sergey Avseyev

270 followers · starred Mar 2014

Hongchao Deng

605 followers · starred Jul 2015

Ahmad Nassri

718 followers · starred Apr 2013