# Contributing

* [Running and Debugging](#running-and-debugging)
* [Bug Reports](#bug-reports)
* [Pull Requests](#pull-requests)

## Running and Debugging
[running-and-debugging]: #running-and-debugging

See the [user documentation](https://zebra.zfnd.org/user.html) for details on
how to build, run, and instrument Zebra.

## Bug Reports
[bug-reports]: #bug-reports

Please [create an issue](https://github.com/ZcashFoundation/zebra/issues/new?assignees=&labels=C-bug%2C+S-needs-triage&projects=&template=bug_report.yml&title=) on the Zebra issue tracker.

## Pull Requests
[pull-requests]: #pull-requests

PRs are welcome for small and large changes, but please don't make large PRs
without coordinating with us via the issue tracker or Discord. This helps
increase development coordination and makes PRs easier to merge.

Check out the [help wanted][hw] or [good first issue][gfi] labels if you're
looking for a place to get started!

Zebra follows the [conventional commits][conventional] standard for the commits
merged to main. Since PRs are squashed before merging to main, the PR titles
should follow the conventional commits standard so that the merged commits
are conformant.

[hw]: https://github.com/ZcashFoundation/zebra/labels/E-help-wanted
[gfi]: https://github.com/ZcashFoundation/zebra/labels/good%20first%20issue
[conventional]: https://www.conventionalcommits.org/en/v1.0.0/#specification

## Coverage Reports
[coverage-reports]: #coverage-reports

Zebra's CI currently generates coverage reports for every PR with rust's new
source based coverage feature. The coverage reports are generated by the
`coverage.yml` file.

These reports are then saved as html and zipped up into a github action's
artifact. These artifacts can be accessed on the `checks` tab of any PR, next
to the "re-run jobs" button on the `Coverage (+nightly)` CI job's tab
[example](https://github.com/ZcashFoundation/zebra/pull/1907/checks?check_run_id=2127676611).

To access a report download and extract the zip artifact then open the top
level `index.html`.
