# Contribution Policy

Contributions to the Gila project are subject to the following terms:

## Issue Policy

Do not file issues for:

- Features marked as "Not Planned".
- Anything with a filed issue already open.
- AI generated/discovered issues, improvements, bugs, or security problems.
- Any kind of non-critical device driver or protocol stack.
- Support for specific devices/boards/SoCs, unless it is a feature-flagged fix
  for a CPU hardware bug for an architecture that is already supported.
- Changing documentation or graphics.

Do please file issues for:

- Feature regressions.
- Legitimate security issues or concerns.
- Improvements or optimizations to isolation or speed.
- Questions about intended behavior.
- Features or tweaks that align with Gila's [design](DESIGN.md) and
  [security](SECURITY.md) philosophies.

Security issues can be filed as regular issues for the time being.

## Behavior Policy

Pull requests, merge requests, and issues should not contain any content that
is crass, rude, disrespectful, irrelevant to the project, or otherwise could be
reasonably seen as offensive by other developers.

## Code Quality Policy

Pull requests should:

- Build properly without modifications once rebased.
- Provide a completed feature, or a completed bug fix.
- Only provide features listed as in-progress or planned on the issue tracker.
- Contain clear and concise commit messages.
- Describe clearly what they add or fix.
- Conform to Gila's [design](DESIGN.md) and [security](SECURITY.md)
  philosophies and guidelines.
- Contain **no AI generated code**. The only exception here is if the
  contributor clearly fully understands the nature of the changes they are
  requesting to be pulled.
- Not remove, disable, break, or otherwise interfere with any existing code not
  related to the feature/fix provided, without a very good reason.
- Not be purely cosmetic (updating README files or Cargo formatting).

## Development Resources

Developer resources can be found in [DEVELOPMENT.md](DEVELOPMENT.md).
