This repository serves as a template for others and establishes very basic structure and tooling setup for later customization.
Hooks are centrally configured for the repo in the .gitconfig file. The pre-commit hook
(.githooks/pre-commit) runs Prettier (--check) on
staged Markdown, JSON, JSON5, and YAML, and CSpell against staged Markdown to
catch common typos; the spell-checker's settings live in .cspell.json. The same checks run in CI on
every pull request via the Lint workflow, and the pinned tool versions —
in both the hook and the workflow — are kept current by Renovate.
Hooks are opt-in per clone. Enable them once, from the repo root:
git config set --local include.path "../.gitconfig"Running the hook requires Node.js (>=18); the tools are fetched on demand via
npx.
Because this is a template, treat the linter as a starting point and adjust it for your repo. The file
extensions are the most likely thing to change: Prettier checks Markdown, JSON, JSON5, and YAML, and
CSpell checks Markdown. If you change those globs, update both
.githooks/pre-commit and the Lint workflow so
local commits and CI stay in sync. Swapping tools or changing the pinned versions works the same way.