Contributing

Kalmia is an opensource project under the AGPLv3 license which would not have been possible to make without other awesome opensource projects! We would love to get feedback, and also code from our community members. If you don't know how you can help you can always hop on our discord and we will help you out, but please if you have an issue/bug or something of that sort, even feature requests, please use our github issues. Using discord for issues leads to discoverability issues!

How to Contribute

Fork the repository

Click the "Fork" button in the upper right corner of this repository to create your own copy.

Clone the repository

Clone your fork to your local machine

git clone https://github.com/your-username/[project-name].git
cd [project-name]

Install dependencies

You need node (v20 atleast), npm and golang (v1.22 atleast) installed. You are also going to need make if you're going to use the make files and also air for easy hot reloads.

Running in debug mode

We're going to assume you use linux for dev mode, if you're using windows we highly recommend you use WSL for development. All you need to do is open up a terminal (or two if you're not using tmux) and then run "air ." in one of them and "npm run dev" in the other. This will setup Kalmia both frontend and backend. You should then be able to go to http://localhost:2727/admin to view the admin GUI. MAKE SURE that you have set "dev" in the environment property in the config.json before you run air.

Creating a branch

Once you're starting to work on your feature/bug fix create a new branch:

git checkout -b feature/your-feature-name

Please make sure you use meaningful branch names.

Test Your Changes

You can run this command to run tests:

make test

Commit Changes

git add .
git commit -m "[feature/fix]: brief description"

Push Changes

Push your branch to your forked repository:

git push origin feature/your-feature-name

Submit a Pull Request

Go to the original repository and open a pull request. In your pull request description, explain what changes you made and why.

Reporting Issues

If you find a bug or have a suggestion, please open an issue and describe:

  • What you expected to happen
  • What actually happened
  • Steps to reproduce the issue (if applicable)

Code of Conduct

Please visit the "Code of Conduct" page to see more about it.

Licensing

By contributing, you agree that your contributions will be licensed under the project's LICENSE.

Thank you for contributing to Kalmia!