UDE: From Source Code to Quality Documentation
1. The Starting Point: Source Code and Comments
The foundation of any quality API documentation is the comments in the source code. In large projects (C++, for example), they are the single source of truth. Without them, automatic documentation generation simply isn’t possible.
The only question is how to turn those comments into a modern, convenient, fast site for developers.
2. How This Is Solved Today — and Where the System Breaks
The most popular tool for C++ is Doxygen. However, its native output format (HTML or XML) doesn’t fit modern static site generators (SSGs) like Hugo, Docusaurus, or VitePress, which expect Markdown as input.
The Doxygen + DoxyBook2 + Hugo Stack
To work around this limitation, intermediate converters are often used: Doxygen generates XML → DoxyBook2 converts the XML to Markdown → Hugo builds the site.
This works, but it has serious limitations:
- No scalability. The converter reads the entire XML graph into memory at once. At the scale of an SDK with tens of thousands of classes and methods, this process runs into memory limits and unreasonably long processing times.
- Hard to customize. Configuring the output for several styling formats at once is a difficult task, since these tools weren’t designed for high flexibility.
3. UDE’s Solution: A Unified Pipeline
UDE fully rebuilds the process, removing unnecessary conversion stages and optimizing how data is handled.

UDE’s architecture is built on a clear separation of stages:
- Collector extracts data directly from the source code.
- Parser translates it into a normalized, language-neutral model — an IR (Intermediate Representation).
- Renderer instantly assembles Markdown/HTML in whatever format the target SSG understands, with no intermediate XML crutches.
The advantages of this approach are clear: there’s no extra conversion step, and from a single source (the IR) you can render documentation in any format or style you need.
4. Speed and Predictability
For large projects, build time is critical. UDE solves this with incremental caching.

Instead of loading the entire entity graph every time, UDE recomputes only what has actually changed.
- Cross-platform. The pipeline works identically, locally on Windows and in CI on Linux.
- Docs-as-code. The configuration of what to document is versioned alongside the code and built in the same CI.
5. UDE and Hand-Written Guides (DevGuide)
API reference generated from code answers the question “how are the functions and classes structured.” But it can’t tell you “in what order to call them to solve a specific business problem.” That’s what DevGuides are for — manually written articles and tutorials.
UDE doesn’t try to replace that manual work. Instead, it provides seamless integration: the generated API reference stays complete and always up to date, living naturally alongside hand-written guides on the pages of modern SSGs.