# Contributing

Contributions welcome! If you have an idea or questions, please feel free to reach out!

## Development Setup

Before contributing, make sure to set up your development environment:

* **macOS**: See the [macOS Development Setup](https://docs.netcap.io/master/macos-development-setup) guide for complete installation instructions, including Protocol Buffer plugins
* **Linux/Windows**: See the [Installation](https://docs.netcap.io/master/installation) guide and ensure you have Protocol Buffers compiler and plugins installed

## Issues & Bug Reports

Please include the Netcap version, the exact error messages and as much log output as possible!

Try to answer these questions in your Bug Report:

* What version of Netcap, which OS, which version of OS did you use?
* What did you want to do?
* What happened instead?
* What output did you get?

## Contributor License Agreement (CLA)

All contributors must sign our Contributor License Agreement before their contributions can be accepted. This ensures we can continue to offer NETCAP under both open-source (GPLv3) and commercial licenses.

### For Individual Contributors

When you submit a pull request, our CLA Assistant bot will automatically check if you have signed the CLA. If not, it will ask you to sign by commenting:

```
I have read and agree to the NETCAP CLA
```

Read the full [Individual CLA](https://github.com/dreadl0ck/netcap/blob/master/CLA-INDIVIDUAL.md) before signing.

### For Corporate/Entity Contributors

If you are contributing on behalf of your employer or another organization, please complete the [Entity CLA](https://github.com/dreadl0ck/netcap/blob/master/CLA-ENTITY.md) and send it to the project maintainers before submitting contributions.

## Pull Requests

Before submitting your pull request please make sure:

1. The unit tests execute without errors
2. You have signed the CLA (or will sign it when the bot prompts you)

## Feature Requests

You have an idea for a new feature? Create a feature draft and open an issue to discuss it.
