Rules that apply to all work in this repository, for both human contributors and AI assistants. Referenced from CLAUDE.md.
- Chat and conversation may be in Dutch. Talking through a problem, status updates and questions can be in whichever language fits the conversation.
- All documents are written in English. This covers
README.md,SPEC.md,TODO.md,CHANGELOG.md, everything underdocs/, and design documents. No exceptions — a document that starts its life in Dutch still gets written in English. - All code is English. Identifiers, type and file names, function and variable names, comments, commit messages, log lines, and configuration keys.
- All user interface text is English. Window titles, buttons, labels, error messages and tooltips in the settings window and the player.
Be to the point. Say a thing once, in the place where it belongs, and link to it from elsewhere rather than repeating it. This applies to documents, code comments, commit messages and chat alike.
Do not repeat yourself across a conversation either. A caveat, a trade-off or a known limitation is raised once; after that it is assumed known and only comes up again if it actually changes something. The same goes for restating what was just agreed or done.
When reporting back on finished work: lead with the result, keep it to a few sentences, and stop there. Do not walk through the reasoning, the approach or the verification steps unless something went wrong, a decision needs the reader's input, or they ask. Assume the reader already has the context they gave you.
After every significant change, update CHANGELOG.md and commit it as part of that change — not as a separate cleanup pass afterwards.
Significant means: a new feature, a behavioural change a user would notice, a bug fix, a security fix, a dependency change, or a rename. Refactors that leave behaviour untouched, typo fixes and work-in-progress commits do not need an entry.
The format follows Keep a Changelog: newest first, grouped
under Added, Changed, Fixed, Removed or Security.