docs: add CONTRIBUTING.md with dev setup, testing, and PR workflow#488
Open
dashitongzhi wants to merge 1 commit into
Open
Conversation
- Provide an in-repo contributing guide since README only links externally - Document Python 3.9+ dev setup with virtualenv and dev-requirements.txt - Cover project layout, running tests via `make test` / pytest - Document code style (black, isort, flake8, ruff) and lint workflow - Spell out PR branch naming convention (feat/, fix/, docs/, ci/, ...) - Add bug-report and feature-request guidance, plus release/license notes
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a comprehensive contributor guide to help new and existing contributors set up dev environments, run tests/linting, and submit PRs consistently.
Changes:
- Introduces a new
CONTRIBUTING.mdwith setup, testing, style, and PR workflow guidance - Documents repo layout and where common changes typically occur
- Clarifies bug/enhancement reporting and a high-level release process
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## Submitting a pull request | ||
|
|
||
| 1. **Create a topic branch** off `master` with a descriptive name: |
Comment on lines
+96
to
+101
| We follow the configuration baked into `pyproject.toml`. The project is configured for: | ||
|
|
||
| - **[Black](https://black.readthedocs.io/)** — opinionated code formatter, line length 99. | ||
| - **[isort](https://pycqa.github.io/isort/)** — import sorter, profile set to `black`. | ||
| - **[flake8](https://flake8.pycqa.org/)** — linting (configured in `setup.cfg`). | ||
| - **[ruff](https://docs.astral.sh/ruff/)** — fast additional linter (where applicable). |
| pip install -r dev-requirements.txt | ||
| ``` | ||
|
|
||
| `dev-requirements.txt` installs CCDS in editable mode (`-e .`) along with the testing and documentation tooling used by the CI pipeline. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an in-repo
CONTRIBUTING.mdto drivendataorg/cookiecutter-data-science. The README currently points contributors to an external docs site (cookiecutter-data-science.drivendata.org/contributing/) and there is no contribution guide in the repository itself, so first-time contributors cannot find the dev workflow offline or via GitHub's standard "Contributing" link.The new file covers:
good first issuetickets and why to file an issue first.dev-requirements.txt, fork/clone/upstream-remote flow.ccds/, the cookiecutter template, tests, docs, hooks, workflows.make testand direct pytest usage.make lint.feat/,fix/,docs/,ci/, ...), commit conventions, PR template usage, review etiquette.RELEASING.mdand confirmation of MIT licensing.This is a pure docs change; no source code or template is modified, and CI is unaffected.
Motivation
Every OSS project benefits from a discoverable
CONTRIBUTING.md: GitHub surfaces it on the repo home page and in the PR-creation flow, lowering the barrier for first-time contributors. The existing link to the external docs site is good for long-form content, but having the canonical contributor guide in-tree keeps it discoverable, reviewable in PRs, and robust to site outages.Test Plan
make lintandmake testare unaffected (no source changes).LICENSE,RELEASING.md, paths underccds/,{{ cookiecutter.repo_name }}/) resolve.tests.ymlworkflow.