docs: generate the configuration reference from Quarkus config metadata instead of hand-maintaining it
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- github-actions, java
- Domain
- build-system, documentation
Research direction
Start with config/ThrillhouseConfig.java and application.properties to see how the @ConfigMapping options and their defaults are declared, then find the hand-written config table in the README. Check how the Quarkus config-doc extension is wired into the Maven build. Done means a generated reference is produced at build time, the README links to it, and a CI check fails when the committed reference is stale. The output format (markdown or asciidoc) is still open and should be settled first.
Written by the indexing model from the issue text.
Description
Problem Statement
The README's environment-variable/config table (~60 rows) is hand-maintained, separately from the @ConfigMapping interfaces in config/ThrillhouseConfig.java and the defaults in application.properties. Every new option is a three-place change, and the table can silently drift from reality — a growing risk as the pipeline roadmap (#669) adds feature gates (REVIEW_DIMENSION_ROUTING_ENABLED, REVIEW_INCREMENTAL_ENABLED, per-model capability flags in #670, …).
Proposed Solution
Generate the config reference from the config metadata Quarkus already produces for @ConfigMapping types (the same quarkus-config-doc machinery that powers extension docs):
- Emit a generated markdown (or asciidoc) config-reference file during the build, with property name, env-var form, type, default, and the javadoc description.
- Replace the README's hand-written table with a short curated "most important settings" section linking to the generated full reference.
- Add a CI check that fails when the generated reference is stale relative to the committed one (or generate it in the docs workflow so it can never be stale).
Descriptions live in one place — the config interface javadoc — and the docs can no longer disagree with the code.
Alternatives Considered
- Keep hand-maintaining the table — every config addition remains a multi-place change with silent-drift risk.
- Doc-only lint that greps for missing keys — catches absence but not wrong defaults/descriptions.
Priority
Nice to have (but pays for itself as the config surface grows through the #669 phases)
- Dominant language
- Java
- Stars
- 35
- Forks
- 7
- Avg merge
- 9h 23m
- Merged PRs (30d)
- 154
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from devops-thiago/ThrillhouseBot
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
devops-thiago/ThrillhouseBot#1093 ·
Maintainers usually reply within 1 day
-
documentation enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
devops-thiago/ThrillhouseBot#321 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
devops-thiago/ThrillhouseBot#46 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 58/100
devops-thiago/ThrillhouseBot#1095 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 58/100
devops-thiago/ThrillhouseBot#1094 ·
Maintainers usually reply within 1 day
All issues in devops-thiago/ThrillhouseBot
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug new windows
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
GantMan/jail-monkey#380 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
objectionary/jucs#145 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
objectionary/lints#1559 ·
Maintainers usually reply within 2 days