UDE Portal — Documentation Blueprint & Case Study
This document establishes the architecture, content map, and implementation plan for UDE Portal, the official online documentation suite for the Universal Documentation Engine (UDE).
To demonstrate the full power and reliability of UDE, the documentation suite operates on a self-documenting "dogfooding" principle: the UDE codebase compiles its own API reference dynamically, nesting it directly into the public VitePress guides.
📐 Hybrid Portal Architecture
UDE Portal uses a hybrid, multi-layered architecture powered by UDE Publisher (the GitHub Actions CI/CD orchestration layer):
1. VitePress (Conceptual Layer)
- Host Location: Root paths (
/,/guides/,/config/). - Purpose: Delivers premium-quality, high-speed Single Page Application (SPA) user guides, configuration specs, and architectural overviews.
- Aesthetics: Custom-tailored dark mode, smooth client-side transitions, and clean layout cards.
2. Hugo (Technical Reference Layer)
- Host Location: Nested sub-path (
/api/). - Purpose: Renders the complete, cross-linked API Reference of the UDE engine's Python modules.
- Compilation: Compiled dynamically by the UDE compiler's
HugoMarkdownRendererfrom raw Python docstrings and injected straight into.vitepress/dist/api/post-VitePress build.
🗺️ Portal Content Map & Site Map
1. Landing Page (/) — The Gateway
A highly polished, conversion-oriented developer portal landing page:
- Hero Section:
- Title:
Universal Documentation Engine - Tagline: Beautiful, fast, and structured developer portals generated directly from your codebase.
- Call-to-Action Buttons:
Get Started➔ Redirects to/guides/getting-startedExplore API Reference (Live Demo)➔ Redirects to/api/Read the Case Study➔ Redirects to/guides/case-study
- Title:
- Features Grid:
- Multi-Platform Target: Extracts clean documentation from C++, C#, Java, and Python environments.
- Two-Level Build Cache: Minimizes disk I/O and build times by tracking entity signatures.
- Agnostic Intermediate Representation (IR): Decouples AST parsing from target formatting (Markdown, HTML, or RAG-ready JSON).
- AI & RAG Ready: Seamlessly exports structured JSON metadata to bootstrap LLMs over codebases.
2. VitePress Guides (/guides/)
📂 Chapter 1: Quick Start
getting-started.md: Environment prerequisites (Python 3.11, Doxygen in PATH), quick installation viapip, and running a test compilation in under 10 seconds.first-config.md: Writing your first targetude_doc_config.jsonto link source collectors to output directories.
📂 Chapter 2: Coding & Commenting Standards
commenting-rules.md: How to document source code. Explains support for Javadoc (@param), Doxygen (\return), and Google-style docstrings, and how UDE normalizes them to CommonMark.exclusion-gates.md: Using exclusion filters to keep internal API clutter clean. Demonstrates@internal,@cond / @endcond, andDOM-IGNORE-BEGIN / DOM-IGNORE-ENDblocks.
📂 Chapter 3: Configurations Reference
global-settings.md: Exhaustive schema reference forude_global_config.json(logging thresholds, caching strategies, and safe folder-cleanup patterns).target-settings.md: Detailed options for custom collectors, parsers, and renderer engines.
📂 Chapter 4: Live Case Study — How This Portal is Built
case-study.md: The crowning tutorial of UDE Portal. It provides a transparent, step-by-step breakdown of how this very portal compiles itself.- Contents:
- Windows Directory Junctions: Explains the local directory link
user-docs/enginepointing to../engineto emulate CI environments locally. - Self-Config file: Analyzes
user-docs/ude_config_self.jsonwhich maps Python parser inputs to Hugo-markdown templates. - UDE Publisher CI/CD pipeline: Explains
.github/workflows/deploy.ymlbuild-order tricks:- Setup environment and install Doxygen.
- Generate API markdown via Python cli.
- Compile VitePress guides (
npm run docs:build) into.vitepress/dist. - Run Hugo to compile API references and output directly to
.vitepress/dist/api. - Upload and deploy
.vitepress/distto GitHub Pages.
- Windows Directory Junctions: Explains the local directory link
3. Hugo API Reference (/api/)
The API documentation section is compiled directly from the engine/ude/ modules, showcasing UDE’s ability to parse object-oriented structures and generate cross-linked, readable directories:
| Package/Module | Component Description | Showcase Highlight |
|---|---|---|
ude.cli | Main CLI parser and argument handler | Non-interactive shell execution, custom exit codes. |
ude.orchestrator | UdeOrchestrator execution controller | Path portability resolving, sequential stages handling. |
ude.collectors | BaseCollector & DoxygenXmlCollector | Safe subprocess execution, rigid directory cleanup routines. |
ude.parsers | BaseParser & DoxygenXmlParser | Templates extraction (<T>), SWIG structures filtering. |
ude.renderers | HugoMarkdownRenderer & HtmlRenderer | Escaping template brackets, offline collapse-sidebar sidebar portal. |
ude.models | Pydantic IR schema specifications | compressed Gzip serialization (.json.gz). |
ude.cache | BuildCacheManager L1 & L2 engines | Signatures hashing and file skip logic. |
📋 Portal-Specific Quality Requirements
REQ-PORTAL-01 (Manual Sidebar Quality Gate)
All manually configured sidebars (such as in Docusaurus sidebars.ts or VitePress .vitepress/config.js) must be clean and fully populated.
- Rule: Collapsible sidebar categories/folders must not contain empty sub-lists or placeholders.
- Purpose: Ensures that the user never encounters a "broken" or empty navigation node in the hand-written parts of the documentation portal.
📈 Road to Release
To bring UDE Portal to its final, public-ready form, we follow this roadmap:
- [DONE] Build Order Patch: Fix VitePress output cleaning by compiling Hugo directly into
.vitepress/dist/api. - [PENDING] Populate Guides: Write the Markdown source files under
user-docs/content/for Chapters 1-4. - [PENDING] Codebase Docstring Review: Add high-quality docstrings in Javadoc/Google format to all classes inside
engine/ude/to ensure the generated/apimatches the premium quality of the guides. - [PENDING] Live Tag Release: Tag a release
v1.0.0to trigger a clean compilation and lock the documentation state.
[!NOTE] Since UDE is fully cross-platform and offline-capable, users can download a complete offline-ready
.zipcontaining the Standalone HTML compiler's output directly from the GitHub Release Assets panel.