Follow these code style and documentation rules exactly.
- File-Level Documentation
- Each header/source should have a top Doxygen file block:
- \file
- \brief
- \author (if project uses it)
- Include Guards and Includes
- Match existing project include-guard naming convention.
- Keep include ordering consistent with project style.
- Do not introduce new include style unless project already uses it.
- Function Declaration Documentation
- Every function declaration must have a brief
///summary. - Add a short
/** ... */details block only when needed. - Document every parameter inline at declaration site using:
type name /**< [in] description */
- Apply to normal methods, constructors, slots, and signals.
- Keep return-value docs where project uses them.
- Member Variable Documentation
- Document non-trivial class members with
///. - Describe role/ownership/state, not just type.
- Naming and Structure
- Use project member naming convention (e.g.
m_prefix). - Keep declaration ordering/grouping stable:
- public/protected/private
- slots/signals grouped consistently.
- Leave a blank line between declarations for readability.
- Header vs Source Placement
- Keep non-trivial definitions out of headers.
- Move implementations to
.cppunless intentionally inline.
- Editing Discipline
- Preserve existing behavior unless explicitly requested.
- When renaming members/APIs, update all dependent call sites.
- Keep changes minimal and scoped.
- Formatting and Verification
- Run
clang-formaton touched files. - Ensure docs and naming are consistent after formatting.
- Report any places where project style is ambiguous before making assumptions.
- Doxygen Named Section Ordering
- For classes that expose configuration via member data + accessors, keep named sections split into:
... - Datafor protected/private member state...(without- Data) for public access functions
- Place the
... - Datasection before the corresponding public accessor section.
- Header Declaration Parameter Docs
- In headers, prefer inline parameter documentation on declarations (
type name /**< ... */) rather than separate\paramlists, unless there is a specific reason to deviate.
- PR Prompt Attribution
- At the top of PR descriptions, include an explicit attribution line when work was performed with Codex.
- Preferred format:
This work was performed by GPT-5.3-Codex in response to the prompt: "...".
- Include the primary user prompt verbatim (or a faithful condensed version if it is extremely long).
When you finish:
- Summarize what changed.
- List affected files.
- Note any follow-up items or potential edge cases.