# Contributing

PhoenixDKIM is a small project and every contribution is welcome. There is no contribution too small — a typo fix in the documentation is just as appreciated as a new feature.

## Ways to contribute

### Bug reports

If you encounter a problem, please open an issue on GitHub. A useful bug report includes:

- the version of PhoenixDKIM you are running (or the commit hash if built from source);
- the operating system and version;
- a description of what you expected to happen and what actually happened;
- relevant log output (with sensitive addresses or key material redacted);
- the relevant section of your `opendkim.conf`, if applicable.

If you would prefer not to use GitHub, you can e-mail a bug report to info@phoenixdkim.org.

### Code

Code contributions are very welcome. The project is hosted on GitHub at github.com/edmundlod/PhoenixDKIM. The recommended workflow is:

1. Fork the repository and create a branch for your work.
2. Make your changes. Please keep commits focused — one logical change per commit makes review easier.
3. Ensure the code compiles without warnings on your platform.
4. Open a pull request against the `master` branch with a clear description of what the change does and why.

If you are planning a larger change or want to discuss the approach before writing code, opening an issue first is a good idea.

If you prefer to submit a patch by e-mail rather than via a pull request, send it to info@phoenixdkim.org as an attachment or inline in unified diff format (`git format-patch` output is ideal).

### Testing

PhoenixDKIM aims to run on any reasonably current UNIX-like platform. Testing on platforms other than Linux is particularly valuable — if you run PhoenixDKIM on FreeBSD, OpenBSD, NetBSD, macOS, or any other system, please report your experience (whether good or bad).

Testing pre-release builds and beta packages before a release is also very helpful. Announcements for upcoming releases are posted on the Announcements page.

### Documentation

Improvements to the man pages, the website, or any other documentation are welcome. If something is unclear or out of date, please open an issue or submit a pull request with a correction.

## Contact

For questions, ideas, or anything else not covered above, you can reach the project maintainer by e-mail at info@phoenixdkim.org.