Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.46 KB

File metadata and controls

41 lines (30 loc) · 1.46 KB

Contributing

Prerequisites

Install these tools before working on the project:

Tool Purpose Install
Node.js (v18+) Runs HTMLHint and ESLint brew install node or nodejs.org
actionlint Lints GitHub Actions workflows brew install actionlint
pre-commit Runs linters on every commit brew install pre-commit or pip install pre-commit

First-time setup

npm install                      # install HTMLHint, ESLint, Playwright, and plugins
npx playwright install chromium  # install the browser used by the smoke tests
pre-commit install               # activate the pre-commit hook

Linting & tests

npm run lint           # all linters (HTML + JS + Actions)
npm run lint:html      # HTMLHint only
npm run lint:js        # ESLint only
npm run lint:actions   # actionlint only
npm test               # Playwright smoke tests

The pre-commit hook runs the linters automatically on every commit. Lint and tests also run in CI on every push and pull request (.github/workflows/ci.yml).

Cutting a release

./release.sh          # major release (e.g. v1.2.3 → v2.0.0)
./release.sh minor    # minor release (e.g. v1.2.3 → v1.3.0)
./release.sh patch    # patch release (e.g. v1.2.3 → v1.2.4)

The script verifies a clean state, runs all linters, creates a git tag, and pushes it. GitHub Actions then builds the release and publishes the versioned HTML file.