# Contributing to inotify-rs

Thank you for considering to work on inotify-rs. We're always happy to see outside contributions, small or large.

You probably found this document in the repository of either the [inotify] or [inotify-sys] crate. Both are part of the same project, so this guide is valid for both (in fact, the documents in either repository should be identical).

## Opening issues

If you found a problem with inotify-rs, please open an issue to let us know. If you're not sure whether you found a problem or not, just open an issue anyway. We'd rather close a few invalid issues than miss real problems.

Issues are tracked on GitHub, in the repository for the respective crate:
- [Open an inotify issue](https://github.com/inotify-rs/inotify/issues/new)
- [Open an inotify-sys issue](https://github.com/inotify-rs/inotify-sys/issues/new)

If you're unsure where to open your issue, just open it in the [inotify] repository.

## Contributing changes

If you want to make a change to the inotify-rs code, please open a pull request on the respective repository. The best way to open a pull request is usually to just push a branch to your fork, and click the button that should appear near the top of your fork's GitHub page.

If you're having any problems with completing your change, feel free to open a pull request anyway and ask any questions there. We're happy to help with getting changes across the finish line.


[inotify]: https://github.com/hannobraun/inotify
[inotify-sys]: https://github.com/hannobraun/inotify-sys
