Contributing¶
Development setup¶
Install the project in editable mode:
python -m pip install -e .
Install Node dependencies only when working on the browser-facing tests:
npm install --prefix node
Running tests¶
Run the Python regression tests:
python -m unittest discover tests
Run the browser UI tests when Node dependencies are available:
npm test --prefix node
Changelog workflow¶
Add unreleased changes to the Active section of CHANGELOG.rst. Before
creating a release tag, move the relevant entries into the appropriate published
version section.
Implementation notes¶
Keep build behavior deterministic. Output should not depend on filesystem ordering, timestamps, or stale files from previous builds.
Preserve idempotency in HTML post-processing. Running an injection step twice should not duplicate shared assets or runtime scripts.
Add focused regression tests for repository discovery, generated output shape, version handling, and HTML injection behavior.