Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Report bugs at https://github.com/m1n0rm1n3r/Kolkra-NG/issues
If you are reporting a bug, please include detailed steps to reproduce the bug.
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement a fix for it.
Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.
The best way to send feedback is to file an issue at https://github.com/m1n0rm1n3r/Kolkra-NG/issues.
If you are proposing a new 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!
Ready to contribute? Here's how to set up Kolkra-NG
for local development.
Please note this documentation assumes you already have poetry
and Git
installed and ready to go.
-
Fork the
Kolkra-NG
repo on GitHub. -
Clone your fork locally:
cd <directory_in_which_repo_should_be_created>
git clone [email protected]:YOUR_NAME/Kolkra-NG.git
- Now we need to install the environment. Navigate into the directory
cd Kolkra-NG
If you are using pyenv
, select a version to use locally. (See installed versions with pyenv versions
)
(Kolkra-NG was built for Python 3.10 or later.)
pyenv local <x.y.z>
Then, install and activate the environment with:
poetry install
poetry shell
- Install pre-commit to run various checks at commit time:
poetry run pre-commit install
- Create a branch for local development:
git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
- When you're done making changes, check that your changes pass the linting checks.
make check
- Test all features you added or changed in an isolated environment to help catch any bugs.
Create a configuration file at config.toml
. config.EXAMPLE.toml
provides a template and explanation for what fields you should provide.
You will also need to set up MongoDB, whether on your local machine or through a cloud provider like Atlas. If you have Docker installed on your machine, you can quickly spin up an ephemeral MongoDB instance with an included Makefile script.
make start-mongo
- Commit your changes and push your branch to GitHub:
git add .
git commit -m "Your detailed description of your changes."
git push origin name-of-your-bugfix-or-feature
- Submit a pull request through the GitHub website.
Contributors are strongly encouraged, but not required, to follow Conventional Commits in your commit messages. If you use Visual Studio Code (or VSCodium), you should use the Conventional Commits extension to help you format your commit messages properly.