- Language: C++23 / CMake (minimum 3.16), Qt 6
- Build directory:
out/build_develop/ - Configure:
bash scripts/build_helpers/linux_configure.sh - Build (no re-configure):
bash scripts/build_helpers/linux_fast_develop_build.sh - Build (full clean + build + tests):
bash scripts/build_helpers/linux_develop_build.sh
Read document/DOXYGEN_REQUEST.md in full — it is the authoritative Doxygen style guide.
Read FAILED_DOXYGEN.md for the current list of violations, grouped by file.
Skim scripts/doxygen/lint.py to understand the exact checks (file header, function blocks, return tags, param directions, language rules, etc.).
For each flagged file, read the source, then:
- File header — add
/** @file ... */at top if missing (see DOXYGEN_REQUEST.md Section 2). - Type comments — add
/** @brief ... */before any undocumented public enum/struct/class. - Function comments — add a Doxygen block before each flagged function. Key rules:
- Every
@paramneeds a direction:[in],[out], or[in,out]. - Non-void functions must have
@return. Void functions must not. - Tags to always include:
@brief,@throws(orNone),@note(orNone),@warning(orNone),@since(N/A),@ingroup(none).
- Every
- Style consistency — use
/** */block style or///line style consistently within a file. - Language — third-person present tense only. No "will", "we", "I", "our", "my".
python3 scripts/doxygen/lint.pyIterate up to 3 passes if violations remain.
- Only edit Doxygen comments — never change code logic.
- All comments in English.
- Comment lines must be ≤ 100 characters.
- When uncertain about behavior, use
@note FIXME: ...rather than guessing.