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 Fast Layered Universal Document Engine (Flude). 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-