Context
js/glossary.js reads term, short, full and seeAlso. A contributor adding an entry can misspell a key, omit short, or make seeAlso a string instead of an array, and CI will happily pass — the page just renders a half-empty card.
What to change
Files: A new script, plus .github/workflows/lint.yml
Requirements:
- Add a checker that validates every entry has
term and short as non-empty strings
full is optional; seeAlso, when present, must be an array of strings
- Fail on duplicate terms, case-insensitively
- Report the offending entry by term and index, not just "invalid"
- Wire it into the existing lint workflow as a blocking check
- Follow
scripts/build_contributors.py for style — Python 3 standard library only
Acceptance criteria
How to verify locally
python3 scripts/check_glossary.py
Difficulty
Intermediate. Mirrors what build_contributors.py --check does for the wall.
New here? Comment /claim on this issue and a bot will assign it to you. Then read CONTRIBUTING.md.
Stuck at any point? Comment here saying what you have tried and where it stopped working — that is not an admission of failure, it is how we find out the instructions were unclear. You can also come to a PR Debug Clinic (Oct 12 or Oct 21).
Context
js/glossary.jsreadsterm,short,fullandseeAlso. A contributor adding an entry can misspell a key, omitshort, or makeseeAlsoa string instead of an array, and CI will happily pass — the page just renders a half-empty card.What to change
Files: A new script, plus
.github/workflows/lint.ymlRequirements:
termandshortas non-empty stringsfullis optional;seeAlso, when present, must be an array of stringsscripts/build_contributors.pyfor style — Python 3 standard library onlyAcceptance criteria
How to verify locally
Difficulty
Intermediate. Mirrors what
build_contributors.py --checkdoes for the wall.New here? Comment
/claimon this issue and a bot will assign it to you. Then read CONTRIBUTING.md.Stuck at any point? Comment here saying what you have tried and where it stopped working — that is not an admission of failure, it is how we find out the instructions were unclear. You can also come to a PR Debug Clinic (Oct 12 or Oct 21).