First off, thank you for considering contributing to Kiwi! Let's build something amazing!
This section guides you through submitting a bug report for Kiwi. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples.
This section guides you through submitting an enhancement suggestion for Kiwi, including completely new features and minor improvements to existing functionality.
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps.
Unsure where to begin contributing to Kiwi? You can start by looking through beginner
and help wanted
issues:
- Beginner issues - issues which should only require a few lines of code, and a test or two.
- Help wanted issues - issues which should be a bit more involved than
beginner
issues.
The process described here has several goals:
- Maintain Kiwi's quality
- Fix problems that are important to users
- Engage the community in working toward the best possible Kiwi
Here's how to submit a pull request:
- Fork the repo and create your branch from
dev
. - If you've added code that should be tested, add tests.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue that pull request!
Before you submit a pull request, please test your changes.
- Add your test script to the test suite.
- Run the test suite through Valgrind.
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes ./bin/kiwi test.🥝
- Note: I'm pretty relaxed on this.
- Try to use the present tense ("Add feature" not "Added feature").
- Try to use the imperative mood ("Move function to..." not "Moves function to...").
- Limit the first line to 72 characters or less.
- Reference issues and pull requests liberally after the first line.
This section lists the labels we use to help us track and manage issues and pull requests.
- bug - Issues that are bugs.
- enhancement - Issues that are feature requests.
- good first issue - Good for newcomers.
- help wanted - I would like an extra brain on this.
- beginner - Get your feet wet!
Feel free to reach out on Discord if you need any help!