Files
ss-tools/docs/api/Doxyfile

128 lines
6.0 KiB
Plaintext

# superset-tools Doxygen configuration (source-comment XML/HTML extract).
#
# Agent navigation graph (modules → functions) is NOT this file.
# Use `make docs-nav` / `doc-gen --nav --html` — see semantics-core §IX.
#
# Run from repository root:
# make docs-nav # fractal module→function graph for agents
# make docs-doxygen # clean XML+HTML build from source comments
# make docs-doxygen-check # validate config + build presence
#
# All relative paths below are resolved against the directory from which
# doxygen is invoked (the repository root, see Makefile).
# ── Project identity ─────────────────────────────────────────────
PROJECT_NAME = "superset-tools"
PROJECT_BRIEF = "GRACE-Poly semantic contracts — backend, frontend, agent, shared, ADRs, specs"
OUTPUT_DIRECTORY = docs/api/build
# ── Input ─────────────────────────────────────────────────────────
INPUT = backend/src \
backend/tests \
frontend/src \
agent/src \
agent/tests \
shared/src \
docs/adr \
specs
RECURSIVE = YES
FILE_PATTERNS = *.py *.md *.ts *.svelte
# Svelte/TypeScript have no native Doxygen language backend; map them to
# C++ so `//` and `/* */` GRACE metadata blocks are still extracted.
EXTENSION_MAPPING = ts=C++ svelte=C++
EXCLUDE_PATTERNS = */__pycache__/* \
*/.venv/* \
*.pyc
INPUT_ENCODING = UTF-8
STRIP_FROM_PATH = .
# ── Extraction ────────────────────────────────────────────────────
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
SORT_BRIEF_DOCS = YES
SORT_MEMBERS_CTORS_1ST = YES
FULL_PATH_NAMES = NO
MARKDOWN_SUPPORT = YES
JAVADOC_AUTOBRIEF = YES
AUTOLINK_SUPPORT = YES
# ── GRACE-Poly metadata ───────────────────────────────────────────
# Keep project-specific contract metadata in Doxygen XML instead of treating
# it as unknown commands. The aliases are presentation-only: graph tooling
# still reads the original source annotations for structured values.
ALIASES += BRIEF="\\brief"
ALIASES += PURPOSE="\\par Purpose:"
ALIASES += RELATION="\\par Relation:"
ALIASES += PRE="\\par Preconditions:"
ALIASES += POST="\\par Postconditions:"
ALIASES += SIDE_EFFECT="\\par Side effects:"
ALIASES += INVARIANT="\\par Invariant:"
ALIASES += DATA_CONTRACT="\\par Data contract:"
ALIASES += RATIONALE="\\par Rationale:"
ALIASES += REJECTED="\\par Rejected:"
ALIASES += LAYER="\\par Layer:"
ALIASES += STATUS="\\par Status:"
ALIASES += CONSEQUENCES="\\par Consequences:"
ALIASES += RESTRICTION="\\par Restriction:"
ALIASES += TEST_EDGE="\\par Test edge:"
ALIASES += TEST_INVARIANT="\\par Test invariant:"
ALIASES += TEST_CONTRACT="\\par Test contract:"
ALIASES += TEST_SCENARIO="\\par Test scenario:"
ALIASES += TEST_FIXTURE="\\par Test fixture:"
ALIASES += TEST_DATA="\\par Test data:"
ALIASES += REQUIRES="\\par Requires:"
ALIASES += UX_STATE="\\par UX state:"
ALIASES += UX_FEEDBACK="\\par UX feedback:"
ALIASES += UX_RECOVERY="\\par UX recovery:"
ALIASES += UX_REACTIVITY="\\par UX reactivity:"
ALIASES += UX_TEST="\\par UX test:"
ALIASES += UX_INTERACTION="\\par UX interaction:"
ALIASES += UX_STEP="\\par UX step:"
ALIASES += UX_TRANSITION="\\par UX transition:"
ALIASES += UX_SYMMETRY="\\par UX symmetry:"
ALIASES += STATE="\\par State:"
ALIASES += ACTION="\\par Action:"
ALIASES += ATOM="\\par Atom:"
ALIASES += DERIVED="\\par Derived:"
ALIASES += NOTE="\\note"
ALIASES += WARNING="\\warning"
ALIASES += DEPRECATED="\\deprecated"
ALIASES += REPLACED_BY="\\par Replaced by:"
# ── Output: XML (machine artifact for agent graph navigation) ─────
GENERATE_XML = YES
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
# ── Output: HTML (human-facing, optional) ─────────────────────────
GENERATE_HTML = YES
HTML_OUTPUT = html
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 250
HTML_EXTRA_STYLESHEET =
# ── Output: disable the rest ──────────────────────────────────────
GENERATE_LATEX = NO
GENERATE_RTF = NO
GENERATE_MAN = NO
GENERATE_DOCBOOK = NO
# ── Graphs: no Graphviz required for the XML build ────────────────
HAVE_DOT = NO
CALL_GRAPH = NO
CALLER_GRAPH = NO
INCLUDED_BY_GRAPH = NO
COLLABORATION_GRAPH = NO
DIRECTORY_GRAPH = NO
# ── Diagnostics ───────────────────────────────────────────────────
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = docs/api/build/doxygen-warnings.log