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
- Bash
- CoffeeScript
- CSS
- Elixir
- ERB
- HAML
- Handlebars
- Haskell
- HTML
- Java
- JavaScript
- Objective-C
- Python
- Ruby
- Sass
- Scala
- Shell
- Swift
- TypeScript
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!
Guides is maintained by thoughtbot, inc.
License
Guides is © 2020 thoughtbot, inc. It is distributed under the Creative Commons Attribution License.
The names and logos for thoughtbot are trademarks of thoughtbot, inc.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
