# AI Usage Policy

> [!IMPORTANT]
> This project does **not** accept pull requests that are fully or predominantly AI-generated. AI tools may be utilized solely in an assistive capacity.
>
> Detailed information regarding permissible and restricted uses of AI can be found in the [AGENTS.md](AGENTS.md) file.

Code that is initially generated by AI and subsequently edited will still be considered AI-generated. AI assistance is permissible only when the majority of the code is authored by a human contributor, with AI employed exclusively for corrections or to expand on verbose modifications that the contributor has already conceptualized (e.g., generating wrapper code callbacks or structure conversions).

If AI is used to generate any portion of the code, contributors must adhere to the following requirements:

1. Explicitly disclose the manner in which AI was employed.
2. Perform a comprehensive manual review prior to submitting the pull request.
3. Be prepared to explain every line of code they submitted when asked about it by a maintainer.
4. Using AI to respond to human reviewers is strictly prohibited.

For more info, please refer to the [AGENTS.md](AGENTS.md) file.

# Pull requests

Before submitting your PR:
- Test your changes:
    - Build locally your code, using the relevant build option (e.g., do not enable Android or Termux if doing a Linux build)
    - Execute the `ctest` suite. Only 100% success is admissible
    - If you added/modify a wrapper, don't forget to add generated files in the PR
- Create separate PRs for each feature or fix. Avoid combining unrelated changes in a single PR
- If your PR becomes stale, rebase it on top of latest `main` to get maintainers attention

# Coding guidelines

- Avoid adding third-party dependencies, extra files, extra headers, etc.