Hello, and welcome! Whether you are looking for help, trying to report a bug, thinking about getting involved in the project or about to submit a patch, this document is for you! Its intent is to be both an entry point for newcomers to the community (with various technical backgrounds), and a guide/reference for contributors and maintainers.
Slack is the main chat channel used by the community and the maintainers of this project. If you do not have an existing account, please follow this link to sign up for free.
Please avoid opening GitHub issues for general questions or help, as those should be reserved for actual bug reports. The Kuma community is welcoming and more than willing to assist you on Slack!
Feel free to submit an issue on the GitHub repository, we would be grateful to hear about it! Please provide a direct link to the webpage that contains the issue and make sure to respect the GitHub issue template, and include:
- A summary of the issue
- A list of steps to reproduce the issue
If you wish, you are more than welcome to propose a patch to fix the issue! See the Submit a patch section for more information on how to best do so.
We welcome contributions of all kinds, you do not need to code to be helpful! All of the following tasks are noble and worthy contributions that you can make without coding:
- Reporting a bug (see the report bugs section)
- Helping other members of the community on Slack
- Fixing a typo in the documentation
- Providing your feedback on the proposed features and designs
- Reviewing Pull Requests
If you wish to contribute code (features or bug fixes), see the Submitting a patch section.
Feel free to contribute fixes or minor features, we love to receive Pull Requests! If you are planning to develop a larger feature, come talk to us first on Slack!
When contributing, please follow the guidelines provided in this document and WRITING-DOCUMENTATION.md. They will cover topics such as the different Git branches we use, the commit message format to use or the appropriate code style.
Once you have read them, and you are ready to submit your Pull Request, be sure to verify a few things:
- We do trunk based development so the only valid branch to open a PR against is
master
. - Your commit history is clean: changes are atomic and the git message format was respected
- Rebase your work on top of the base branch (seek help online on how to use
git rebase
; this is important to ensure your commit history is clean and linear)
If the above guidelines are respected, your Pull Request will be reviewed by a maintainer.
If you are asked to update your patch by a reviewer, please do so! Remember: you are responsible for pushing your patch forward. If you contributed it, you are probably the one in need of it. You must be prepared to apply changes to it if necessary.
If your Pull Request was accepted and fixes a bug, adds functionality, or makes it significantly easier to use or understand Kuma's website, congratulations! You are now an official contributor to Kuma. Get in touch with us to receive your very own Contributor T-shirt!
The sign-off is a simple line at the end of the explanation for a commit. All commits need to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, if you can certify the below (from developercertificate.org):
To signify that you agree to the DCO for a commit, you add a line to the git commit message:
Signed-off-by: Jane Smith <jane.smith@example.com>
In most cases, you can add this signoff to your commit automatically with the -s
flag to git commit
. You must use your real name and a reachable email address (sorry, no pseudonyms or anonymous contributions).
- Make sure you have the right ruby version installed (
cat .ruby-version
). - Install yarn
Clone the repository and run:
make install
On macOS you might face issues with clang when installing gems. In that case try the following:
gem install <gem> -- --with-cflags="-Wno-incompatible-function-pointer-types"
If you want to make changes to the docs or the assets and see them reflected on the browser, you need to run the site with:
make run
This will run jekyll serve
and vite
in the background wich will re-build the corresponding pages whenever a doc or asset changes,
while running netlify dev
so that all the redirects work locally.
Jekyll is a static-site generator, so first we need to build the site and compile the assets:
make build
Note: If you face any issues, e.g. the asset don't look right, try cleaning the cache first and re-build the site:
make clean && make build
Next, run the production build locally
make serve
which will run Netlify
locally in a local dev server, similar to production, making all the redirects, env variables, etc.
available. You can visit http://localhost:8888/ and start reading the documentation.
In case you are stuck in ⠼ Waiting for framework port 4000
, please retry.