## How to contribute

### Reporting bugs

If you find a bug in DOLFINx, please report it on the [GitHub issue
tracker](https://github.com/fenics/dolfinx/issues/new?labels=bug).


### Suggesting enhancements

If you want to suggest a new feature or an improvement of a current
feature, you can submit this on the [issue
tracker](https://github.com/fenics/dolfinx/issues).


### Submitting a pull request

To contribute code DOLFINx, create a pull request. If you want to
contribute, but are unsure where to start, have a look at the [issues
labelled "good first
issue"](https://github.com/FEniCS/dolfinx/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
For substantial changes/contributions, please start with an issue or
start a discussion on Slack.

On opening a pull request, unit tests will run on GitHub CI. You can
click on these in the pull request to see where (if anywhere) the tests
are failing.


### Code of conduct

We expect all our contributors to follow the [code of
conduct](CODE_OF_CONDUCT.md).

## Use of AI tools in contributions

DOLFINx follows the same basic principle as the
[Linux kernel guidance on AI-assisted contributions](https://docs.kernel.org/process/coding-assistants.html):
AI tools may assist, but the human contributor is fully responsible for the
submitted work.

If an AI or code-generation tool materially contributed to a pull request,
please disclose this in the PR description. Trivial autocomplete, formatting,
spelling fixes, or mechanical editor assistance do not need disclosure.

The contributor must:

- understand every change submitted,
- verify that the change is correct,
- ensure that licensing requirements are satisfied,
- test the change appropriately,
- respond to review comments without treating the AI tool as an authority.

Do not submit code, tests, documentation, explanations, references, or benchmarks
that you cannot personally explain and defend. Generated content may be wrong,
irrelevant, insecure, inefficient, or license-incompatible.

Include a short note such as:

```text
AI assistance: I used <tool/model> to draft parts of this PR. I reviewed,
edited, tested, and take responsibility for the final contribution.
```
