2.6 KiB
AI assisted contributions
Generally, it's fine to use AI tools to help you create Pull Requests for sbt as long as you adhere to the following guidelines:
- Pull requests created by AI must have been fully verified with human-in-the-loop. Actually run sbt to test your changes.
- All AI usage in any form must be disclosed. State in your PR description that you have used AI tools to assist in creating the PR.
- We will likely enforce the contribution guidelines more strictly for AI-assisted contributions.
- Make sure your PR is small (both scope and lines of change) and focused on one change only. Avoid adding unrelated changes, mixing adding features and refactoring.
- No third party materials are included in the output; or materials that are included in the output are in compliance with an open source license compatible with Apache License.
- Ensure that you review and understand all code generated by AI tools before including it in your PR - do not blindly trust the generated code. The final responsibility for the code in your PR lies with you.
- Blindly copy-pasting code from AI tools is detrimental as it might introduce security and stability risks to the project.
⚠️ Maintainers that spot untested, unexplainable, AI copy-pasted PRs will close the related PRs and block the user from making further contributions. ⚠️
In a perfect world, AI would produce high-quality, accurate work every time. But today, that reality depends on the driver of the AI. And today, most drivers of AI are just not good enough. So, until either the people get better, the AI gets better, or both, we have to have strict rules to protect Maintainers.
Important: ⚠️ Pull request must be tested with GitHub Actions or human-in-the-loop
Given the wide user base and the long history, not all issues are valid or relevant.
- Before working on a pull request, please confirm with a Maintainer that a contribution is wanted for the issue.
- Before working on a pull request, please confirm that you can reproduce the reported problem using GitHub Actions or your computer.
- After making the code change, please confirm that your change compiles, and has fixed the problem.
We do not have the bandwidth to play the QA role, and must minimize the review burden. Maintainers might close for various reasons.
If you can express the reproduction as a test that would be great, but often the problems require locally building sbt and running test builds yourself. For local testing, post screenshots or screencast to demonstrate that the fix works at least on your machine.