# Contributing to Homebrew

First time contributing to Homebrew? Read our [Code of Conduct](https://github.com/Homebrew/.github/blob/HEAD/CODE_OF_CONDUCT.md#code-of-conduct) and review [How to Open a Homebrew Pull Request](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request).

### Discuss, ask questions about or disagree with changes in Homebrew

* [Homebrew/discussions](https://github.com/orgs/Homebrew/discussions) is the place for community discussions around Homebrew.
* Our issues and pull requests are for maintainers and contributors to discuss work to be done, not users or contributors asking questions about Homebrew usage or disagreeing with changes already made.

### Report a bug

* Run `brew update` twice.
* Run and read `brew doctor`.
* Read the [Troubleshooting checklist](https://docs.brew.sh/Troubleshooting).
* Ideally, open a pull request to fix it, describing both your problem and your proposed solution.
* If not, open an issue on the formula's repository or on Homebrew/brew if it's not a formula-specific issue, but do not open both an issue and a pull request.

### Propose a feature

* Ideally, open a pull request to implement it, describing both the problem it solves for you and your proposed solution.
* If not, open an issue with a detailed description of your proposed feature, the motivation for it and alternatives considered.
* Please note we may close this issue or ask you to create a pull request if this is not something we see as sufficiently high priority.
* Any pull request claiming performance improvements (e.g. "this is faster") must include [Hyperfine](https://github.com/sharkdp/hyperfine) benchmark results demonstrating the improvement.

### "Artificial Intelligence"/Large Language Model (AI/LLM) usage

We allow you to create issues and pull requests with AI/LLM with the following requirements (see [Responsible AI Usage](https://docs.brew.sh/Responsible-AI-Usage) for the principles behind them):

* You must disclose in the initial issue or pull request that you used AI/LLM and what tool/model/etc. you used.
* You must review all AI/LLM generated code, prose, etc. content before you ask anyone in Homebrew to review it for you.
* You must not attribute a commit to AI/LLM as an author, co-author, committer or signatory, including through an `Assisted-by`, `Co-developed-by` or similar commit trailer.
* You must answer all maintainer questions and pull request review comments yourself, without using AI/LLM.
* Unless you are a maintainer, you may only have one AI-assisted/generated pull request open at a time.
* If you reach the point where you feel unwilling or unable to do the above, please close your issue or pull request.

Thanks!
