Thank you for considering contributing to NITools! 🎉 This guide explains how to get started, the contribution workflow, and best practices. If you’re unsure about anything, don’t hesitate to open a discussion.
- External contributions are very welcome, but please be patient. Reviews and triage depend on maintainers’ availability.
- For significant features or architectural changes, please discuss with the maintainers first to ensure alignment.
Before contributing, make sure you:
- Understand how to use GitHub Issues and Pull Requests (PRs).
- Have a basic working knowledge of Python.
- Have NITools cloned and running locally so you can test your changes.
- Check existing issues: Search the issue tracker to see if your idea or bug is already logged.
- Open a new issue if needed: Clearly describe the problem or feature request.
- Fork & branch: Fork the repo, then create a dedicated branch for your changes.
- Work on the branch: Implement and test your changes locally.
- Submit a PR: Open a pull request to the
developbranch.
main→ stable, production-ready code.develop→ active development (target for PRs).
Branch naming conventions:
fix/short-description→ bug fixes.feat/short-description→ new features.docs/short-description→ documentation changes.
- Keep commits small, clear, and logically grouped.
- Write commit messages in the imperative mood (e.g. “Add support for…” instead of “Added support…”).
PR descriptions should include:
- What → a summary of the changes.
- Why → the problem being solved or value added.
- How → a short explanation of the approach.
- Testing → how you verified the changes (manual tests, unit tests, etc.).
✔️ Do a self-review before opening your PR.
- Add inline comments where necessary.
- If your change affects user-facing behavior, update the relevant docs.
- New releases are cut periodically from the
mainbranch. - Your contributions may not appear in the next release immediately but will be included once merged into
main.
Thanks again for contributing to NITools! Every issue, PR, and discussion helps the project grow :)