PR Checklist
Checklist for releasing a new PR against this repo. Merges tomain auto-deploy to
production via the Mintlify GitHub App — there is no separate build/release step, so
everything here should happen before merging, not after.
1. Local setup
-
npm ci(installs the pinnedmintlifyCLI version frompackage-lock.json). Using a stray global/cachednpx mintinstead of the pinned version can silently run an older CLI missing commands (e.g.mint validate) — alwaysnpm cifirst in a fresh clone or after pullingpackage.jsonchanges.
2. Content correctness
- Verify any new/changed API behavior, limit, or guarantee is actually true in the running system before documenting it (check the source repo / infra, don’t guess).
- No personal names in customer-facing content — use neutral phrasing.
- Reuse an existing snippet from
snippets/instead of duplicating prose, if one exists. - New
.mdxpage? Confirm it’s registered indocs.jsonnav (or intentionally left as an orphan page linked from elsewhere, matching this repo’s existing pattern for per-metric/event sub-pages). - Renamed/moved a page? Update its
docs.jsonentry and any redirects in the same change.
3. Automated checks (mirrors .github/workflows/pr-checks.yml)
Run these locally before pushing — CI runs them again on the PR, but catching failures
locally is faster than round-tripping through Actions:
-
npx mint validate— strict build validation (bad frontmatter, pages missing from nav, MDX parse errors). -
npx mint broken-links— fails on any broken internal link. -
npx mint openapi-check api-reference/openapi.json— only meaningfully changes if the spec was touched, but cheap to run every time. -
npx -y cspell@8 "**/*.{mdx,md,py}" --no-progress --gitignore— spellcheck. Add real domain terms tocspell.json’swordslist rather than ignoring the file; don’t add actual typos there.
4. Repo-specific tasks
- If
api-reference/openapi.jsonchanged: restartnpx mint devlocally (hot reload doesn’t pick up spec changes) and re-check the API reference pages render correctly. - If any biomechanics movement page listed in
scripts/MOVEMENT_PAGESchanged (or a page/metric/event it links to changed): rerunpython3 scripts/export_movements.pyto refreshdocs-exports/(git-ignored, so this won’t show ingit status— it’s a local artifact, but staleness here is exactly what caused broken links previously). - Preview locally with
npx mint devand click through the actual changed pages — type checking/link checking verifies structure, not whether the page reads well or renders as intended.
5. Review before pushing
-
git status/git diffreview of everything staged — no secrets, no unrelated files, no accidentaldocs-exports/ornode_modules/additions. - Generate a PR summary describing every changed/added/removed file and why (see below) — use it as the PR description.
6. PR summary generation
Before opening the PR, produce a summary covering:- Every added, modified, and deleted file (
git status --porcelaincovers untracked + tracked;git diff --statcovers tracked-file line counts). - A one-line description of why each file/group of files changed, not just what.
- Group related files (e.g. “23 new softball pitching metric pages”) rather than listing every file individually when there are many similar additions.
7. After merge
- Confirm the Mintlify deploy succeeded (no build step to watch locally — check the live site or the Mintlify dashboard).
- If
docs-exports/was regenerated locally, no action needed — it’s git-ignored and not part of the deploy.