AI Usage Policy
We love getting contributions, and we are happy for you to use AI tools like GitHub Copilot, Cursor, Claude, ChatGPT, or anything else that helps you do your best work. These tools can be fantastic for writing code, exploring the codebase, drafting tests, and fixing bugs.
Here is how we like to work with AI-assisted contributions so that things go smoothly for everyone.
Great code is great code
We do not care whether you typed every character yourself or had an AI help you get there. What matters is the result:
- Type checking and linting pass cleanly.
- Tests cover the change and pass.
- The code follows the patterns and conventions already in the project.
AI is great at getting you a first draft. Just make sure you take the time to polish it before submitting.
Keep the human in the conversation
One of the best parts of open source is the back-and-forth during code review. That only works when real people are on both sides of the conversation.
So when you are writing PR descriptions, replying to review comments, or discussing an issue, please write in your own words. Specifically, please avoid:
- Copying a reviewer's feedback into an AI and posting its response as your own.
- Submitting AI-generated PR or issue descriptions without rewriting them yourself.
- Using AI to push back on review feedback on your behalf.
We genuinely enjoy working with contributors. We just want to make sure we are talking to you.
One thoughtful PR at a time
AI makes it easy to produce a lot of changes quickly, but please resist the urge to open a bunch of PRs all at once. A stack of similar pull requests is hard to review and usually means nobody has carefully tested the work.
Instead, open one pull request and work with us to get it reviewed and merged. Then move on to the next one. We would much rather see one well-tested contribution than several rushed ones.
You are the author
When your name is on a commit, you are telling us that you understand and stand behind the change. Before you hit submit:
- Read the code. Make sure you can explain what every part does and why it is needed.
- Test it. Run things locally and confirm the behavior you are describing.
- Clean up the writing. AI-generated text tends to be wordy and vague. Make your descriptions clear, specific, and honest.
At the end of the day, this is your contribution. The AI just helped you get there.