Revamp CONTRIBUTING.md#3241
Conversation
Rewrites and restructures CONTRIBUTING.md to improve onboarding and developer workflow. Adds clear sections for ways to contribute, development setup (fork/clone, installing dev dependencies via pyproject group, editable installs, and ./reinstall.sh), working on the code (verifying local import), code style and pre-commit setup, testing (pytest), and pull request guidelines. Encourages contributions from underrepresented groups, clarifies documentation and header procedures, and documents review process, support channels, and acknowledgements to contributors.
There was a problem hiding this comment.
Pull request overview
Updates CONTRIBUTING.md to reflect the current contributor workflow (dependency-groups/dev tooling, pre-commit, and CI-backed testing expectations).
Changes:
- Replaces legacy local setup guidance with instructions based on the
devdependency group inpyproject.toml. - Adds/updates sections for
pre-commit, local testing, PR guidelines, and review process. - Streamlines/generalizes older contribution and acknowledgments text.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Replace the ad-hoc pip install line with an editable dev install (`pip install -e . --group dev`) to standardize the development environment. Clarify that only steering committee members may edit `NOTICE.yml`. Remove the standalone `black .` example and direct contributors to follow `CONTRIBUTING.md` for testing and pre-commit checks. Also add a `bash` code fence to the coverage example for consistency.
Fix CONTRIBUTING.md to state the script builds a wheel using setup.py instead of the 'build' tool. This corrects the documentation and clarifies the local install refresh workflow when packaged resources need to be updated.
There was a problem hiding this comment.
Pull request overview
Modernizes contributor-facing documentation to reflect the current development workflow (dev dependency group, pre-commit usage, and CI-backed testing expectations), without changing project policy.
Changes:
- Updates developer setup instructions to use the
devdependency group. - Adds
pre-committo thedevdependency group and documents localpre-commitusage. - Refreshes contributor guidance around tests and PR expectations.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
CONTRIBUTING.md |
Rewrites contribution and local dev setup guidance; adds pre-commit and updated testing guidance. |
pyproject.toml |
Adds pre-commit to the dev dependency group. |
tools/README.md |
Aligns developer tools guidance with CONTRIBUTING.md and the dev dependency group. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
deruyter92
left a comment
There was a problem hiding this comment.
@C-Achard, this looks great. Good that you modernized the installation instructions to the new pyproject.toml and that you added clear PR guidelines as well.
One thing that I would consider to add is that we use the 'draft' status for everything that still needs work (not only if you are unsure). After the draft stage we can review everything. This makes it clear when a review is really needed or when people are still working on it. Let me know if you think this is worth adding.
Split a malformed blockquote line into two proper blockquote lines to fix Markdown rendering and remove an inline '>' that broke the quote. This is a formatting-only change to improve readability; no content was altered.
Add a 'Draft pull requests' section to CONTRIBUTING.md explaining that draft PRs indicate work in progress, encouraging requests for early reviews/feedback, clarifying draft status isn't a judgment of quality, and noting many PRs remain drafts for most of their lifetime.
There was a problem hiding this comment.
Thanks @deruyter92; I've added a small section about how and why we use draft PRs. Maybe the wording could be edited, but hopefully it is helpful as-is
Modernize & update CONTRIBUTING.md
This PR refreshes and modernizes
CONTRIBUTING.mdto reflect the current development workflow.The update mainly:
devdependency grouppre-commitusageThis is intended as a documentation modernization only. It does not significantly change contributor expectations or project policy.