Project Housekeeping Checklist
A quick checklist for maintaining the project environment, development tools, and CI/CD workflows.
Adding a New Package
✅ Add to
requirements.txt
if it’s needed at runtime.✅ Add to
requirements-dev.txt
if it’s only for development, testing, or documentation.✅ If CI depends on it, confirm it’s included in GitHub Actions workflows.
Updating Dependencies
✅ Specify minimum versions to maintain compatibility across environments.
✅ Test the update locally and in GitHub Actions.
✅ Optionally recreate your virtual environment for a clean state.
Cleaning or Recreating the Environment
✅ Delete and recreate your virtual environment after major updates.
✅ Reinstall with
pip install -r requirements-dev.txt
.✅ Run
pre-commit run --all-files
to ensure formatting and linting.✅ Test with
pytest
.
Pre-commit and Tests
✅ Add new hooks to
.pre-commit-config.yaml
if needed.✅ Test new hooks locally with
pre-commit run --all-files
.✅ Confirm CI passes.
Documentation
✅ Ensure any new doc dependencies are in
requirements-dev.txt
.✅ Test docs build locally using
make clean html
in thedocs/
directory.✅ Confirm the GitHub Actions documentation build workflow passes.
Before Merging a Branch
✅ Run
pytest
locally.✅ Run
pre-commit run --all-files
.✅ Confirm GitHub Actions CI passes.
✅ Optional: squash commits for a clean history.
When merging a pull request, select “Squash and merge” in the GitHub interface. This will combine all commits from the branch into a single, clean commit on main. You can (and should) edit the final commit message to describe the overall change clearly. Use squash for branches with multiple small commits or work-in-progress history. Skip squashing if you have meaningful, separated commits that you want to preserve in history.
This checklist was drafted with the help of ChatGPT, in collaboration with the project developer.