When diagrams and documentation are written as code they are more likely to stay in step with the development of the code base. Instead of creating a static box-and-line diagram to document your classes or database schema, use tools (listed below) to document these as code. Instead of writing help files for each method, use tools to automatically convert well-structured code to help files. **Databases** - [[dbdocs]]: create a hook to push DBML code to cloud hosting service, add link to documentation - [[dbdiagram]]: write code in the online editor, embed in documentation, store copy in project repo - [erd](https://github.com/BurntSushi/erd) **Software architecture** - [[c4builder]] - Structurizr - [[UML]] **Software documentation** **Static site generators** - [[mkdocs]] - docsify - [[Hugo]] **Static site servers** - [[GitHub Pages]]