# Contributing

Contribute code, documentation, tests, packaging, and accessibility improvements through GitHub.

Source: https://debark.dev/docs/project/contributing

---
Contributions are welcome. The CLI, engine, and desktop app live together in
[`inferops/debark`](https://github.com/inferops/debark). The website lives in
[`inferops/debark-site`](https://github.com/inferops/debark-site).

## Start with a bug, question, or idea

Search [existing issues](https://github.com/inferops/debark/issues), then use the
[feature request](https://github.com/inferops/debark/issues/new?template=feature_request.yml),
[bug report](https://github.com/inferops/debark/issues/new?template=bug_report.yml), or
[question](https://github.com/inferops/debark/issues/new?template=question.yml) form.
You do not need to write code to suggest a feature or help improve a guide.

Discuss large changes, new dependencies, and public contract changes before implementation.
The [governance guide](https://github.com/inferops/debark/blob/main/GOVERNANCE.md) describes
the decision process. Participation follows the [Code of Conduct](https://github.com/inferops/debark/blob/main/CODE_OF_CONDUCT.md).

## Make a focused change

Follow the repository's [CONTRIBUTING.md](https://github.com/inferops/debark/blob/main/CONTRIBUTING.md)
for fork setup, prerequisites, and current required checks. Create a branch from `main`.
Keep the change focused and explain the behavior it fixes or adds.

The CLI and desktop are separate Go modules. Root Go checks do not test the GUI module.
Run the checks for each affected module and the relevant apt or container integration
tests when those paths change. Portable unit tests alone do not validate apt-backed behavior.
For docs, check links, command examples, and consistency with the source.

For UI changes, exercise the visible behavior and keyboard navigation, and include
screenshots when helpful. Improvements to accessibility and platform validation are welcome.

## Sign off commits and open a pull request

Every product-repository commit needs a [Developer Certificate of Origin](https://github.com/inferops/debark/blob/main/DCO)
sign-off. There is **no CLA**. Git uses the name and email in your configuration:

```bash
git diff --check
git add path/to/changed-file
git diff --cached
git commit -s -m "docs: clarify the installation steps"
git push -u origin your-branch
```

Replace the paths and branch name with your own. Open a PR targeting `inferops/debark:main`
and fill in its template. Describe the problem, resulting behavior, and validation,
including environment details and skipped tests. Do not include real snapshots, private
signing keys, credentials, or sensitive machine inventories.

Required checks must pass and the branch must be up to date before merging. Maintainers
use the same PR workflow. Push follow-up signed-off commits to the same branch to address
checks or review feedback. DCO sign-off is separate from a cryptographic commit signature.

## Documentation and website changes

For this website, follow the [website README](https://github.com/inferops/debark-site/blob/main/README.md).
Run `npm run check`, `npm run build`, and `npm run check:links`. Report the affected URL
when suggesting a correction. Repository docs can be read offline; use a release tag to
read the docs that shipped with that version.

<NextSteps
  items={[
    {
      title: 'Get help and share feedback',
      href: '/docs/project/support',
      description: 'Find the right issue form and details to include.',
    },
    {
      title: 'Status and known limitations',
      href: '/docs/get-started/status',
      description: 'Find areas where additional validation helps.',
    },
  ]}
/>
