Contributing
Report bugs, suggest features, ask questions and open pull requests for kftray.
Open an issue to report a bug or request a feature. Send code changes through a pull request, or use GitHub Discussions for ideas and questions.
Report bugs or issues
- Check the Issues page to make sure nobody has reported it already.
- Click "New Issue" and choose the appropriate template.
- Fill out all necessary fields with as much information as possible. The more you provide, the more likely the maintainers can help.
For security vulnerabilities, don't open a public issue. Follow Security instead.
Suggest enhancements
- Look through the Issues to make sure your suggestion doesn't exist yet.
- Create a new issue, select the feature request template and describe your idea.
Pull requests
- Fork the repository and create your branch from
main. - If you add code that should be tested, add tests.
- Format and lint your code with
mise run formatandmise run lint. - Write clear, descriptive commit messages.
- Open a pull request with a clear title and description.
Once the pull request is approved and green, a maintainer adds the ready-to-merge label. Mergify then tests the change against the latest main and squash merges it. You don't need to rebase your branch unless it conflicts.
Set up your development environment
KFtray uses mise to manage the development environment, so all contributors use the same tool versions.
Install mise:
curl https://mise.run | shClone the repository and set up:
git clone https://github.com/hcavarsan/kftray.git
cd kftray
mise install # Install Node.js, pnpm, syft and grype
mise run setup # Set up system dependenciesStart developing:
mise run dev # Launch development modemise doesn't install Rust. Install the stable toolchain with rustup. Development lists the nightly rustfmt and the cargo test tools you also need.
Common commands
mise run dev: start development modemise run build: build the production appmise run format: format all codemise run lint: lint with auto-fixmise run test:back: run the backend testsmise run precommit: run all checks (format, lint, SBOM scan, test)
Run mise tasks to see all available commands. The Development page documents the full task list and the troubleshooting steps. For build instructions, see Building from Source.
Code of conduct
Participation in the KFtray community is governed by the Code of Conduct. Read it before you contribute.
Ask questions
Any developer can ask questions and get help from the community. Create an issue with the question tag and the maintainers will get back to you as soon as they can.
License
KFtray is distributed under the GPL 3.0 License.