Some of the design principles that I know of are: - [SOLID](https://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29) - [Tell Don't Ask](http://martinfowler.com/bliki/TellDontAsk.html) - [YAGNI](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it) - [KISS](https://en.wikipedia.org/wiki/KISS_principle) - [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) These are the foundational principles which lead to design patterns. I think we should document them.