Contributing
How to report an error in the reference, file a site bug, or open a pull request.
On this page
ScarDoc is a community project, and most of what you see here is generated from the game’s own SCAR sources rather than written by hand. That means where you report something depends on what is wrong with it.
Where to report what#
| Problem | Where |
|---|---|
| A function, enum or global is wrong, missing or incomplete | scardoc-generator issues — the reference data is produced there |
| The site itself is broken — search, layout, a broken link, an unexpected 404 | scardoc-website issues |
| A written page needs an edit — introduction, glossary, changelog, this page | A pull request on scardoc-website |
| Not sure, or a quick question | Our Discord server |
If you file it in the wrong place, we will move it. Reporting something imperfectly is far better than not reporting it.
Filing a good issue#
The reference covers thousands of functions, so specifics save a lot of guesswork:
- The function name, and a link to its page on this site.
- The game build or patch you saw the behaviour on.
- What the game actually does, against what the page says it does.
- The source file shown on the function page, if you know where the function comes from.
- For a missing function, anything you know about it — a signature, a call site, a mod that uses it.
Working on the site#
The site is a static Astro build. You will need Node 22.12 or newer.
git clone https://github.com/BattlegroundsCoH/scardoc-website.git
cd scardoc-website
npm install
npm run dev # http://localhost:4321
Two things worth knowing before you file a bug against your own setup:
- Search does not work in
npm run dev. The Pagefind index is built from the output HTML, so it only exists afternpm run build. To exercise search, runnpm run buildand thennpm run preview. - There is no test suite. The checks are
npm run typecheck(astro check) andnpm run format(Prettier, 100 columns).
Opening a pull request#
Branch off dev and target dev — not master. Keep one topic per pull request, and run npm run format and npm run typecheck before you open it.
What not to edit#
Two rules that will otherwise cost you a rewrite:
- Do not hand-edit
data/coh3/*.json. Those datasets are regenerated wholesale from scardoc-generator, so a fix made here is lost on the next game build. Fix it at the source instead. - Do not add a navigation config. The sidebar, the category pages and the breadcrumbs are all derived from the data at build time. The previous version of this site hand-maintained a 5,467-line navigation file that had already drifted out of sync with reality, and re-introducing one would bring that back.