Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,27 @@
- Related issue #\<issue number\>
- Closes #\<issue number\>

## AI assistance

<!--
For transparency only.
By submitting this PR you accept full responsibility for every line of code,
regardless of how it was produced.
See [AI-assisted contributions](https://github.com/narwhals-dev/narwhals/blob/main/CONTRIBUTING.md#ai-assisted-contributions).
-->

- [ ] 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"
```
30 changes: 30 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Comment on lines +400 to +401

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are 2 other points I agree with from pip-tools

1

https://github.com/jazzband/pip-tools/blob/24f4230b0fc9c964100b73f81599b0cc4eaff79a/CONTRIBUTING.md?plain=1#L67-L70

Pull Request Templates

Please do not replace the pull request template, which is part of the
maintainers' process.

2

https://github.com/jazzband/pip-tools/blob/24f4230b0fc9c964100b73f81599b0cc4eaff79a/CONTRIBUTING.md?plain=1#L42-L45

I guess we could soften this a bit (if needed), but the main points I've emphasised

When interacting in pip-tools spaces (issues, pull requests, matrix, discord, etc.),
do not use LLMs to speak for you, except for translation or grammar edits.
This includes the creation of changelogs and PR descriptions.
Human-to-human communication is foundational to open source communities.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's very valid! Thanks for pointing it out

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the second. Not sure where to place the first one

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
Expand Down
Loading