# Contributing Contributions are welcome, and they are greatly appreciated! Every little helps, and credit will always be given. You can contribute in many ways. ## Types of Contributions ### Report Bugs Report bugs at . If you are reporting a bug, please use the bug report template, and include: - your operating system name and version - any details about your local setup that might be helpful in troubleshooting - detailed steps to reproduce the bug ### Fix Bugs Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement it. ### Implement Features Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it. In case you added a new source or target, do not forget to add them to the docs as well. ### Write Documentation bb8-arangodb could always use more documentation, whether as part of the docs, in docstrings, or even on the web in blog posts, articles, and such. ### Submit Feedback The best way to send feedback is to file an [issue]. If you are proposing a feature: - explain in detail how it would work - keep the scope as narrow as possible, to make it easier to implement - remember that this is a volunteer-driven project, and that contributions are welcome :) [issue]: https://github.com/gabor-boros/bb8-arangodb/issues ## Get Started! Ready to contribute? Here's how to set up `bb8-arangodb` for local development. 1. Fork the repository 2. Clone your fork locally ```shell $ git clone git@github.com:your_name_here/bb8-arangodb.git ``` 3. Create a branch for local development ```shell $ git checkout -b github-username/bugfix-or-feature-name ``` 4. When you're done making changes, check that your changes are formatted, passing linters, and tests are succeeding ```shell $ cargo fmt $ cargo clippy $ cargo test ``` 5. Commit your changes and push your branch to GitHub We use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), and we require every commit to follow this pattern. ```shell $ git add . $ git commit -m "action(scope): summary" $ git push origin github-username/bugfix-or-feature-name ``` 6. Submit a pull request on GitHub ## Pull Request Guidelines Before you submit a pull request, check that it meets these guidelines: 1. The pull request should include tests if applicable 2. Tests should pass for the PR ## Releasing new versions 1. Double-check past commits that nothing missed 1. Run git cliff --tag v --unreleased --prepend CHANGELOG.md, where is the upcoming release version 2. Validate changes in CHANGELOG.md 3. Commit the changes using git commit -sm "chore(changelog): update changelog" 4. Run git tag v -sm "chore(release): cut release v", where is the upcoming release version 5. Run git push origin main and git push v, where is the new release version