Skip to main content
Version: 0.5 (Testing documentation)

MVP Requirements Scope

This document specifies the exact scope of requirements included in the MVP (v1.0) baseline of the Universal Documentation Engine (UDE). The focus is on establishing a robust, 100% offline, local API documentation compiler.


📐 Scope of MVP (v1.0)

1. Ingestion, Ignore Tags & Core Extraction

  • Doxygen XML Ingestion: Ingest and parse Doxygen-generated index.xml and compound files (REQ-FUN-01).
  • Supported Languages: Map structural entities (namespaces, classes, structures, methods, fields, parameters, constants, enums, type aliases) for C++, C#, Java, and Python to a unified, language-agnostic Intermediate Representation (IR) (REQ-FUN-02). Specifically for real-world C++, the parser must handle double-colon scopes (::), constructors/destructors (~), and renderers must escape angle brackets (< >) of template specializations to avoid breaking Docusaurus compilation.
  • CommonMark Normalization: Standardize comments and docstrings (Javadoc, Google, etc.) into structured CommonMark Markdown prose and fields (REQ-FUN-14).
  • Ignore Tags: Parse and strictly respect comment-level block range exclusions (DOM-IGNORE-BEGIN/DOM-IGNORE-END), directives (\cond/\endcond), and internal modifiers (\internal), ensuring matching code segments are completely omitted from the Intermediate Representation (REQ-FUN-13).
  • Pydantic Validation: Utilize Pydantic v2 to serialize and validate the generated Intermediate Representation (IR) catalog in memory (REQ-NFN-04).

2. Multi-Format Rendering

  • Jinja2 Templates: Utilize Jinja2 templates for customized documentation rendering (REQ-NFN-04).
  • Hugo Markdown: Compile the Intermediate Representation (IR) into structural Markdown files formatted specifically for the Hugo static site generator (REQ-FUN-03).
  • Metadata Injector: Support automatic YAML/TOML front-matter metadata layout injections into page headers (REQ-FUN-04).
  • Static HTML: Compile the Intermediate Representation (IR) directly into standalone static HTML documentation files (REQ-FUN-03).

3. Git Hygiene & Optimization

  • IR Database Compression: Store and read all Intermediate Representation (IR) files using transparent, on-the-fly Gzip compression (.json.gz format) (REQ-FUN-11).
  • Zero-Check-In Policy: Ensure zero compiled output files are checked into the code repository by running the compiler dynamically on server-side environments.

📊 Requirements Matrix

The MVP baseline includes the following subset of requirements from the SRS and BRD:

Requirement IDTypeDescriptionTraces to
REQ-BUS-01BusinessExtensible Input Ingestion (Baseline: Doxygen XML)-
REQ-BUS-02BusinessMulti-Format Rendering (HTML, Hugo Markdown)-
REQ-BUS-03BusinessGzip-compressed IR database storage-
REQ-BUS-09BusinessSeamless Pipeline CI/CD Automation-
REQ-FUN-01FunctionalDoxygen XML parser frontendREQ-BUS-01
REQ-FUN-02FunctionalMulti-language API extraction (C++, C#, Java, Python)REQ-BUS-01
REQ-FUN-14FunctionalComment Markup Normalization (CommonMark)REQ-BUS-01
REQ-FUN-03FunctionalHTML and Hugo Markdown renderingREQ-BUS-02
REQ-FUN-04FunctionalFront-matter metadata templatesREQ-BUS-02
REQ-FUN-07FunctionalNon-interactive CLI flags & codesREQ-BUS-09
REQ-FUN-11FunctionalGzip IR compression (.json.gz)REQ-BUS-03
REQ-FUN-13FunctionalIgnore Tags & Range BoundariesREQ-BUS-08
REQ-FUN-19FunctionalC++ compiler export macro filteringREQ-BUS-01
REQ-FUN-20FunctionalSWIG wrapper low-level internal exclusionsREQ-BUS-01, REQ-BUS-08
REQ-FUN-22FunctionalAutomated collector temporary directory cleanupREQ-BUS-03
REQ-FUN-23FunctionalEnvironment pre-flight & dependency checksREQ-BUS-09
REQ-FUN-24FunctionalMulti-project pipeline fault tolerance policiesREQ-BUS-09
REQ-FUN-25FunctionalCentralized logging & Doxygen stderr captureREQ-BUS-09
REQ-FUN-26FunctionalLevel-1 incremental parsing cacheREQ-BUS-03, REQ-BUS-09
REQ-FUN-27FunctionalLevel-2 incremental rendering cacheREQ-BUS-03, REQ-BUS-09
REQ-FUN-28FunctionalTarget folder metadata and cache isolationREQ-BUS-03
REQ-FUN-29FunctionalPortable configuration relative path resolutionREQ-BUS-09
REQ-NFN-01Non-FunctionalExecution performance (< 5s for 1000 classes)-
REQ-NFN-02Non-FunctionalModularity via abstract base classes (BaseParser, BaseRenderer)-
REQ-NFN-03Non-FunctionalMaintain at least 90% unit test coverage-
REQ-NFN-04Non-FunctionalPydantic v2 core validation & Jinja2 rendering-