Skip to content

Environment Requirements

Audience: anyone setting up a local environment to run Flude from this repository — a consolidated checklist referenced from both Getting Started (Phase A: parsing and rendering a single document) and Production Workflow (Phase B: building the browsable Hugo portal).


Required for Phase A (parse, render, audit any single document)

  • Python 3.11+ — pinned in engine/pyproject.toml (python = ">=3.11,<4.0"). Verify with python --version.
  • Doxygen — Flude never reimplements Doxygen's own C++/C#/Java/Python comment parsing; every collector shells out to the real doxygen binary as a subprocess. Verify with doxygen --version.

Doxygen must be discoverable one of two ways:

  1. On the process PATH, or
  2. Via doxygen_path in ude_global_config.json — a directory (not the executable's own path) that the engine prepends to PATH at startup. This is the only place in the engine that reads or writes an environment variable; see Global Settings for the full field reference.

A package manager capable of resolving engine/pyproject.tomlPoetry, or plain pip against the same file — completes the Phase A requirements. See Getting Started for both install paths (Poetry, and a no-install PYTHONPATH invocation) walked through against the repository's own mock example project.

Additionally required for Phase B (building the Hugo portal)

  • Hugo, Extended edition. The shared theme under ude_hugo_site/_shared_theme/ and the per-project hugo.toml files require the Extended build (it provides the asset-processing pipeline the theme depends on) — the plain, non-Extended Hugo binary is not sufficient. Verify with hugo version and confirm the output mentions extended.

Phase B does not need Doxygen or Python at all once Phase A's Markdown output already exists on disk — see Architecture for why the two phases are independent. If you only ever need static HTML output (renderer.type: html / oda_html) for a single document, you can skip Hugo entirely: that output is already a complete, browsable site with no further build step.

Not required, despite appearing in some example configs

  • winget — used only by packaged binary distributions' own installer scripts. Nothing in this repository's own scripts depends on it.
  • Any UDE_* environment variable — none exist. doxygen_path above is the only environment-variable interaction anywhere in the engine.

(Paths below are repository-root-relative.)

  • user-docs/docs/getting-started.md — first Phase A run against the repository's mock project
  • user-docs/docs/production-workflow.md — Phase B, building the combined Hugo portal for real SDKs
  • user-docs/docs/global-settings.md — the full doxygen_path field reference