Contributing¶
Thanks for your interest in contributing to Kraken! Whether it's a bug report, feature request, or code contribution, every bit helps.
Ways to contribute¶
- Report bugs — Open a GitHub issue with reproduction steps
- Suggest features — Open a discussion or issue describing what you'd like to see
- Submit code — Fix a bug, implement a feature, or improve documentation
- Improve docs — Fix typos, clarify instructions, or add missing guides
Getting started¶
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment
- Create a branch for your changes
- Make your changes following the patterns in the codebase
- Test your changes — run the test suite and verify manually
- Submit a pull request against the
mainbranch
Pull request guidelines¶
- Keep PRs focused — one feature or fix per PR
- Write descriptive commit messages
- Include tests for new features and bug fixes
- Make sure existing tests pass before submitting
- Update documentation if your changes affect user-facing behavior
Code style¶
- Backend: TypeScript with NestJS conventions, ESLint + Prettier
- Frontend: TypeScript with React, ESLint + Prettier
- Run
docker compose run --rm backend npm run lintanddocker compose run --rm frontend npm run lintbefore submitting
Reporting issues¶
When reporting a bug, include:
- Steps to reproduce
- Expected vs actual behavior
- Browser/OS/Docker version
- Relevant logs (
docker-compose logs backendor browser console)
Legal¶
By contributing to Kraken, you agree that your contribution may be included in both open-source (AGPLv3) and commercial distributions of Kraken.
Questions?¶
Open a GitHub issue or start a discussion — we're happy to help.