Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
6 changes: 6 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<!--
Thanks for your contribution!

TBD

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm not quite sure what to write here, any suggestions? @fanninpm @youknowone

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You could start with these sections:

  • What changed: Requesting a description of what the pull request changes in the human's own words. Here the contributor can disclose the use of AI assistance, if applicable. (Coderabbit will make its own summary)
  • Motivation: Requesting an explanation of why the pull request was made in the human's own words. (Language such as Closes #WXYZ should suffice, given some criteria [TODO: should be defined] that the linked issue has to meet.)
  • Verification: Requesting a summary of what steps were taken to verify the effectiveness of the PR's changes.
  • Checklist: Something like (with language to be refined):
    • If I changed something that impacts Rust code, I can confirm that I ran cargo whatever with no errors. (If not, please explain why.)
    • I can confirm that I ran (whatever other tool or tools (for the next few bullet points)) (If not, please explain why.)
    • If I have used AI assistance, I have disclosed it as such.
    • I understand that others, including the RustPython maintainers, will ask me questions about this pull request
    • I will respond to these questions in my own words to the best of my ability.
    • I understand that the RustPython maintainers will close my pull request if I do not check any of these boxes.

If you have anything to add to the checklist, it is a good idea to use the active voice in a manner similar to how I wrote the previous bullet points.


Separately from this PR, I think it would be a good idea to convert our Issue templates from Markdown into YAML format.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I liked that idea a lot. I've looked around in couple of FOSS projects and took what I liked. If you have a checkbox you would like to add/remove, please feel free to say (or even push it straight to my branch)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Separately from this PR, I think it would be a good idea to convert our Issue templates from Markdown into YAML format

I'll look into that:)


-->
27 changes: 27 additions & 0 deletions CONTRIBUTING.md

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added CONTRIBUTING.md as it's standardized https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors#adding-a-contributingmd-file

Should we merge DEVELOPMENT. md into it?

feels redundant two have two separate files for the same thing, no?

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.

having both CONTRIBUTING and DEVELOPMENT doesn't make sense. yeah, mv DEVELOPMENT and patch it please.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The DEVELOPMENT. md is pretty outdated, I'll refresh it in a follow PR. I'd rather keep this PR small

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Contributing to RustPython

Contributions are more than welcome, and in many cases we are happy to guide
contributors through PRs or on Discord. Please refer to the
[development guide](DEVELOPMENT.md) as well for tips on developments.

With that in mind, please note this project is maintained by volunteers, some of
the best ways to get started are below:

Most tasks are listed in the
[issue tracker](https://github.com/RustPython/RustPython/issues). Check issues
labeled with [good first issue](https://github.com/RustPython/RustPython/issues?q=label%3A%22good+first+issue%22+is%3Aissue+is%3Aopen+) if you wish to start coding.

To enhance CPython compatibility, try to increase unittest coverage by checking this article: [How to contribute to RustPython by CPython unittest](https://rustpython.github.io/guideline/2020/04/04/how-to-contribute-by-cpython-unittest.html)

Another approach is to checkout the source code: builtin functions and object
methods are often the simplest and easiest way to contribute.

You can also simply run `python -I scripts/whats_left.py` to assist in finding any unimplemented
method.

## Use of AI

We **require all use of AI in contributions to follow our
[AI Policy](https://github.com/RustPython/.github/blob/main/AI_POLICY.md)**.
Comment on lines +20 to +21

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the AI policy document exists and is accessible

# Check if the AI policy file exists in the .github repository
gh api repos/RustPython/.github/contents/AI_POLICY.md --jq '.name' 2>/dev/null || echo "AI_POLICY.md not found in RustPython/.github repository"

# Also check the raw content availability
curl -s -o /dev/null -w "%{http_code}" https://raw.githubusercontent.com/RustPython/.github/main/AI_POLICY.md

Repository: RustPython/RustPython

Length of output: 251


The referenced AI policy document does not exist and must be created before merging.

The contribution guidelines require contributors to follow an AI policy at https://github.com/RustPython/.github/blob/main/AI_POLICY.md, but this document is not currently available in the RustPython/.github repository. The policy cannot be enforced or followed by contributors without this document. Either create the AI_POLICY.md file in the RustPython/.github repository or update the reference to point to an existing document.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` around lines 20 - 21, CONTRIBUTING.md references a
non-existent AI policy at
https://github.com/RustPython/.github/blob/main/AI_POLICY.md; add the missing
AI_POLICY.md to the RustPython/.github repository (or update the link in
CONTRIBUTING.md) so the referenced policy exists. Create a clear AI_POLICY.md
file containing the project's AI usage rules and place it in the .github
repository root, then verify CONTRIBUTING.md's link points to that new file (or
change the link to an existing policy file) to ensure the guideline resolves
correctly.


If your contribution does not follow the policy, it will be closed.
20 changes: 3 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,24 +229,10 @@ For a high level overview of the components, see the [architecture](architecture

## Contributing

Contributions are more than welcome, and in many cases we are happy to guide
contributors through PRs or on Discord. Please refer to the
[development guide](DEVELOPMENT.md) as well for tips on developments.
Contributions are welcome and highly appreciated. To get started, check out the
[**contributing guidelines**](CONTRIBUTING.md).

With that in mind, please note this project is maintained by volunteers, some of
the best ways to get started are below:

Most tasks are listed in the
[issue tracker](https://github.com/RustPython/RustPython/issues). Check issues
labeled with [good first issue](https://github.com/RustPython/RustPython/issues?q=label%3A%22good+first+issue%22+is%3Aissue+is%3Aopen+) if you wish to start coding.

To enhance CPython compatibility, try to increase unittest coverage by checking this article: [How to contribute to RustPython by CPython unittest](https://rustpython.github.io/guideline/2020/04/04/how-to-contribute-by-cpython-unittest.html)

Another approach is to checkout the source code: builtin functions and object
methods are often the simplest and easiest way to contribute.

You can also simply run `python -I scripts/whats_left.py` to assist in finding any unimplemented
method.
You can also join us on [**Discord**](https://discord.gg/vru8NypEhv).

## Compiling to WebAssembly

Expand Down