Google has a technical documentation system called “g3doc”. The “The Knowledge: Towards a Culture of Engineering Documentation” presentation at SRECon16 described it well, so this post just highlights a few details:
- Documentation is collocated with code
- Documentation is rendered from code-like Markdown
The first point enables me to include documentation changes and code changes in the same commit.
The second point is appealing because it reduces the cost of context switching between code and documentation. For example, I can edit both in the same editor.
I think part of the appeal is Google’s monorepo. Everything is path-indexed, but things under a “g3doc” dir are rendered into web pages. Searching the repo returns results for code and docs.
Outside of Google, I think Github’s rendering of Mardown content is comparable.