Skip to content
Open
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
9 changes: 5 additions & 4 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

## PR Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
- [ ] All new features have been tested
- [ ] All new features have been documented
- [ ] I have read the **CONTRIBUTING.md** file
- [ ] I will abide by the code of conduct
- [ ] I will abide by the BeeWare Code of Conduct
- [ ] I have read and have followed the **CONTRIBUTING.md** file
- [ ] This PR was generated or assisted using an AI tool
<!-- update or delete the next line to reflect your usage -->
Assisted-by: <!--name of tool; e.g., Claude Opus 4.5-->
99 changes: 99 additions & 0 deletions AI_POLICY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# AI Policy

The BeeWare project neither encourages nor prohibits the use of AI tools when making contributions. However, if you do use an AI tool to support your work processes, this policy describes the conditions governing that tool use.

The one paragraph summary of this policy: **The human contributor is the sole party responsible for any contribution.** That human is responsible for understanding all contributions they make, declaring the usage any tools used, and ensuring compliance with any project guidelines and processes.

## Introduction

BeeWare is a complex project. It involves code that needs to run on a range of operating systems and hardware configurations. It has interfaces that must maintain a robust user experience for developers with a wide range of levels of experience. It is important that BeeWare software has a high standard of quality and maintainability. There are a small number of people on the BeeWare core team, and we seek to use our time and resources effectively.

Generative AI and Large Language Models (such as Claude, ChatGPT, Copilot and Gemini) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these models to be used in autonomous frameworks, without any human involvement or oversight.

The overhead associated with managing contributions that have been generated by autonomous or semi-autonomous AI tools, with little or no effort on the part of the human contributor, is not an effective use of the core team's limited time and resources.

When this document refers to "AI tools", it encompasses *any* tool that is able to generate significant content, or can operate autonomously or semi-autonomously, based on limited input from a human. It does not matter what term or terms the tool uses to describe itself. It is the existence of autonomous or semi-autonomous behavior in the tool that triggers the requirements of this policy, not the specific name of the tool.

## Accountability

If you submit a pull request that includes code, documentation, or comments that has been generated by an AI tool:

* You must fully understand every line of code in the submission.
* You must be able to fully explain your implementation during the review process.

"The AI generated it" is *never* an acceptable answer to a reviewer's question. If a maintainer suspects you do not understand your PR, it will be closed immediately.

If you use an AI tool to assist with the review of a pull request:

* You must fully understand the content that has been reviewed.
* You must be able to justify your review comments if they are questioned.

"The AI said this was a problem" is *never* an acceptable review response.

If you allow an autonomous agent to post an issue, pull request, or code review on your behalf, or you use an autonomous tool to generate a response, **you** are responsible for the content that is posted. If the content generated by the autonomous agent fails to follow BeeWare's documented contribution processes and standards for communication, **you** are responsible for that failure.

Autonomous agents may be used to initiate an action (e.g., submit a pull request, or provide a code review), but should not be empowered to engage in ongoing "conversations" with other participants. Humans will take time to review code, and we expect a human contributor to make the same commitment in handling their submissions. Discussions on the BeeWare repositories should be between humans.

## Disclosure

If AI tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description.

Transparency helps maintainers calibrate the areas of focus for a review, and the style of feedback that will be helpful in a review.

Please add a trailer to your pull request message in the following format:

```text
Assisted-by: Name of AI
```

Examples:

```text
Assisted-by: ChatGPT 5.2
Assisted-by: Claude Opus 4.5
Assisted-by: Google Gemini 3
```

A template for this is included in the default BeeWare pull request template. The template also includes a checkbox that requires you to confirm that you have disclosed the use of any autonomous coding tools. This checkbox *must* be checked if you used an AI tool to produce your contribution.

## Intentionality

BeeWare is a project written by humans with interfaces designed by humans - for everyone. It is not a testing ground for tool experimentation.

We do not accept unsolicited pull requests or issues that result from running an autonomous tool over the BeeWare code base. If you believe a specific tool will be beneficial to BeeWare's code, ask the core team for permission before submitting any issues or pull requests with that tool.

The expectations of contributions generated by AI tools are no different to those generated by humans. Work generated using autonomous coding tools must follow the same contribution guidelines and procedures that a human contributor is expected to follow. Pull request and issue templates must be filled out as provided, not replaced with generated content.

## Copyright & Legal

By submitting a contribution to BeeWare, you represent and warrant that:

1. You have the legal right to submit the contribution under the project's licence.
2. The contribution does not violate the intellectual property rights of any third party.
3. If autonomous coding tools were used, the resulting code does not violate the terms of service of the tool provider.

If you cannot guarantee the provenance and legal safety of code you contribute - regardless of whether it is autonomously generated - **do not submit it**.

## Prohibited Uses

The following are strictly prohibited:

* **Ignoring code contribution procedures:** Using AI tools to write issues or pull request descriptions that ignore or overwrite default project templates.
* **Unvetted boilerplate:** Submitting verbose autonomously-generated summaries in place of a succinct explanation of the contribution. If you don't understand what the code does well enough to explain it in your own words, don't submit the PR.
* **Conflicts with reality:** For example, submitting pull requests that resolve issues that don't exist, or code that uses APIs that don't exist. Contributions must be grounded in reality.

## Enforcement

BeeWare project maintainers reserve the right to close any issue or pull request that violates this policy, without providing a detailed technical critique.

Any such action will be reported to the BeeWare Code of Conduct Response Team. Repeated violations may result in a ban from BeeWare Project spaces.

## Acknowledgements

This policy is based on the [Mastodon AI Contribution Policy](https://github.com/mastodon/.github/blob/main/AI_POLICY.md). That policy was based on the the [CloudNativePG AI Contribution Policy](https://github.com/cloudnative-pg/governance/blob/main/AI_POLICY.md), which was inspired by the [Ghostty AI Usage Policy](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md) and the Linux Foundation's [Generative AI Policy](https://www.linuxfoundation.org/legal/generative-ai).

## Changes <a name="changes"></a>

Major substantive changes are listed here; for a complete list of changes see the GitHub commit history.

* **April 24, 2026:** Initial AI policy adopted.
43 changes: 18 additions & 25 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,37 @@
# All Contributions Welcome

It's not just about code. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare community acknowledges that all contributions are important - not just the ones that come as a pull request on GitHub.
It's not just about code. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare project recognizes that all contributions are important - not just the ones that come as a pull request on GitHub.

## First-time Contributors
## How to contribute

If you're new to the project (or even entirely new to open source in general), the best place to start is with our [first-time contributors guide](https://beeware.org/contributing/how/first-time/). Everyone can contribute to open source, and we're here to show you how.
If you'd like to contribute to a BeeWare project, our [contribution guide](https://beeware.org/contributing/guide) has details on how to pick a way to contribute, how to set up a development environment, and other requirements we have as part of our contribution process.

## Code Contributions
### Code of Conduct

Your code contributions are welcome! Please familiarize yourself with our [Development Process](https://beeware.org/contributing/how/process/).
BeeWare operates under a [Code of Conduct](https://beeware.org/community/behavior/code-of-conduct/). All participation the BeeWare community is governed by this code.

If you're looking for something to work on, and don't know where your effort would be welcome, try looking at the ticket tracker for a project of interest. There will usually be a couple of tickets with known problems; any ticket is a candidate for being fixed. Some tickets in particular will be tagged [up-for-grabs](https://github.com/search?q=user%3Abeeware+label%3Aup-for-grabs+is%3Aissue+is%3Aopen&type=)
### AI contributions

- this indicates that they are areas of particular interest where the project
would like contributions.
We neither encourage nor prohibit the use of autonomous coding tools when contributing to BeeWare projects. However, if you have used an autonomous coding tool to support your work processes, all contributions are you make are ultimately **your** responsibility.

If you're a first time contributor, some tickets are also tagged as [first-timers-only](https://github.com/search?q=user%3Abeeware+label%3Afirst-timers-only+is%3Aissue+is%3Aopen&type=). These are special issues that have been selected because they're relatively simple introductions to the project, and the BeeWare team will mentor any first time contributor in committing a patch for one of these issues.
Our [AI Policy](./AI_POLICY.md) has the full details of your obligations if you choose to use an AI tool when contributing to BeeWare.

## Platform Usage
### Issues

Do you use Windows or various flavours of Linux? Are you able to install a project or application on your system? Did you run into any problems?
We have a [process and requirements for creating new issues](https://beeware.org/contributing/guide/how/new-issue/).

If so, please update the documentation to show how you were able to get it to work, or log an issue if you've found a bug that you can't fix.
### Code style guide

## Documentation
We have a [code style guide](https://beeware.org/contributing/guide/style/code-style-guide/) all code must follow. This is partially enforced by automated pre-commit checks; our guide on [setting up a development environment](https://beeware.org/contributing/guide/how/dev-environment/) decribes how to configure these automated checks.

Is the documentation up to date? Do you think things could be worded differently? Are there missing sections? Do you have an idea for a tutorial that could be written? Please submit a Pull Request!
### Testing

## Help translate and update our Website
We require that all new code is exercised by automated tests. Our contribution guide describes [how to run the project test suite](https://beeware.org/contributing/guide/how/write-code/).

Is there anything wrong or missing from our website? Please feel free to make edits and submit a pull request!
### Documentation

Want to help translate or update the content of this website? Visit the translations section.
We require that all new features have full user documentation. We have a [documentation style guide](https://beeware.org/contributing/guide/style/docs-style-guide/) that all documentation should follow. Our contribution guide has details on [how to build and preview project documentation](https://beeware.org/contributing/guide/how/build-docs/).

## Build a real application!
### Pull Requests

Ultimately BeeWare is a set of tools for building applications. One of the best ways to evaluate our progress is to see people build real-world applications with the BeeWare tools. So if you've got an idea for an application you've always wanted or needed - try to build it!

In the process of building that application, you'll likely find bugs, missing features, or friction in the development process. Those problems can then be turned into bug reports or patches.

## Something else

If you've got your own idea for something, or if you don't see any tickets, or you want to be mentored on a ticket, or you aren't sure how to proceed, contact the project maintainers on Twitter or Discord. The project maintainers love collaborating, especially with new contributors, and will gladly answer any questions or walk you through any problems you may encounter.
We have a [process for submitting a PR](https://beeware.org/contributing/guide/how/submit-pr/) that all contributions must follow.
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ exclude = [".github/*.md"]
respect-gitignore = true

# MD007: List leading spaces - CoC nested lists only render on both GitHub and website with 5 spaces.
# MD033: No inline HTML - Used in CoC for header anchors.
# MD033: No inline HTML - Used for header anchors.
[tool.rumdl.per-file-ignores]
"CODE_OF_CONDUCT.md" = ["MD007", "MD033"]
"AI_POLICY.md" = ["MD033"]

[tool.rumdl.MD013] # Line length
line_length = 999999
Expand Down