diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 77e38e1c51..0710e0a4ba 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -25,8 +25,27 @@ - Related issue #\ - Closes #\ +## AI assistance + + + +- [ ] No AI tools were used for this PR. +- [ ] AI tools were used. + ## Checklist - [ ] Code follows style guide (ruff) - [ ] Tests added - [ ] Documented the changes +- [ ] If this is your first PR to narwhals, attach a screenshot of `pytest` passing locally (not CI): + + ```bash + PYTEST_ADDOPTS="--numprocesses=logical" \ + make run-ci DEPS="--extra pandas --extra dask --group core-tests --group sklearn --group plugins" \ + CMD="pytest tests --cov=src --cov=tests --runslow --constructors=pandas,pandas[nullable],pandas[pyarrow],pyarrow,polars[eager],polars[lazy],dask,duckdb,sqlframe" + ``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8cc0ff3324..a3557dd894 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -397,6 +397,36 @@ heavy third-party libraries (pandas, NumPy, Polars, etc...) please follow these We're trying to be really lightweight and minimal-overhead, and unnecessary imports can slow things down. +## AI-assisted contributions + +We do not categorically reject AI-assisted contributions, but we ask for transparency and accountability. + +The aim is to keep maintainer time focused on review quality, not on triaging machine-generated noise. + +1. **Disclose AI usage in the PR description**: when opening a pull request, the template + has a dedicated field that must be flagged to disclose whether or not the changes are + AI assisted and which tools and models were used to achieve that. + Disclosure is for transparency; it does not affect whether your PR is accepted. + +2. **You are responsible for every line you submit, regardless of how it was produced**: + the disclosure does not transfer responsibility to the tool. + Before opening a PR, read through your diff and make sure you can explain and defend each change in review. + +3. **Engage with review feedback**: we reserve the right to close, without extended discussion, + pull requests where the author does not engage with reviewer comments. + + **This applies whether or not AI was used.** + +4. **First-time contributors** are asked to: + + - Post a screenshot of the test suite passing locally (not on CI) in the PR description. + This is a quick check that your dev environment works and that you have run the code you are proposing. + - Keep at most one open pull request at a time, so reviewers can give it proper attention before + you open the next one. + +5. When interacting in issues, pull requests, discussion, discord, etc., **do not use LLMs to speak for you**, + except for translation or grammar edits. Human-to-human communication is foundational to open source communities. + ## Claiming issues If you start working on an issue, it's usually a good idea to let others know about this