Contributing to romshark/llparser
There are many ways to contribute to the project:
- Reporting bugs (ideally with solution proposals)
- Proposing missing features (ideally with solution proposals)
- Reviewing and improving the documentation as well as additional documentation materials.
- Adding or proposing missing examples to make the library easier to get started with.
- Reviewing code to improve code quality.
- Identifying performance problems (ideally with fixes or potential ideas).
- Spreading the word to make more developer aware of the library and its features!
If you identify a reproducible problem in the library, unclear or missing documentation or a missing feature then please feel free to post a new issue in the issues section following the guidelines.
Before you create a new issue, please ensure there are no similar open or closed issues. If you find your issue already exists, feel free to make relevant comments and add your reactions. Please use a reaction in place of a "+1" comment:
- 👍 for up vote
- 👎 for down vote
- 😕 for confusion
- 🎉 for celebration
Once submitted, your report will be marked with relevant tags by core repository maintainers as soon as possible. When a maintainer begins working on your issue - the issue will be assigned to him/her.
Your issue may also be scheduled to certain milestones in the process of its resolution.
- File a single issue per problem and feature request.
- Do not enumerate multiple bugs or feature requests in the same issue.
- Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
- Provide as much information as you can to increase the likeliness of someone successfully reproducing the issue and elaborating a fix.
- Use one of the available forms that suit your issue best
- Remove optional form fields when not filled out
- Use the generic form only in case no other form suits your issue
- Provide either a code snippet that demonstrates the issue or a link to a code repository the developers can easily pull down to recreate the issue locally.
- Use markdown formatting and code blocks to improve readability.
If the developers can't reproduce the issue right away they will ask for more information in the comments section.
Please consider discussing your changes in an issue before submitting any pull requests! Submit pull requests that are not attached to any issue only in those cases, where an issue would be an obvious, unnecessary overhead.
To enable the core maintainers to quickly review and accept your pull requests, please ensure that the following requirements are met:
- Create only one pull request per issue.
- Link the related issue.
- Never merge multiple requests in one unless they have the same root cause.
- Avoid introducing new external dependencies as much as possible.
- Keep the changes as small as possible.
- Don't mix cosmetic and behavioral code changes!
- Provide cosmetic code changes in separate requests and denote them as such.
- Add tests if existing tests don't cover the new code.
- Properly document your changes by providing a description about what and why was changed, even if the answers to these questions seem obvious to you.
- Properly document the changed code parts.
- Ensure code quality:
- Make sure you're following the conventions.
romshark/llparser follows the semantic versioning principle. We release patch versions for bug fixes, minor versions for new features, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance. Every significant change is documented in the changelog.
romshark/llparser follows the How to Write a Git Commit Message guidelines by Chris Beams.
romshark/llparser uses camelCase as the file naming convention with the file names starting with a lowercase letter.
romshark/llparser uses gofmt, go vet and golangci to ensure high code quality.
By contributing to romshark/llparser, you agree that your contributions will be licensed under its BSD 3-Clause License.
Feel free to contact the core repository maintainers when necessary:
If you find something incorrect or missing in this document, please provide a pull request for minor changes such as typos, or file an issue.