Thanks for helping us improve the workbench! This guide keeps contribution steps short and consistent.
git clone https://github.com/inowio/modbus-workbench.git
cd modbus-workbench
npm install
npm run tauri devPrerequisites: Node.js 18+, Rust stable toolchain, Git, and a code editor (VS Code + Tauri, rust-analyzer, ESLint, Prettier recommended).
- Fork the repo and branch off
mainusingfeature/<topic>orfix/<topic>. - Follow Conventional Commits (
feat:,fix:,docs:…). - Keep pull requests focused, include tests/docs, and add screenshots for UI work.
- Open the PR against
main, reference related issues, and await review.
- React + TypeScript only; prefer
export default function Component()style. - Rust code must pass
cargo fmtandcargo clippywith warnings treated as errors. - Avoid duplicated logic, keep functions small, and return explicit errors.
- Update docs or help content whenever behavior changes.
npm run lint # Frontend lint
npm run test # Frontend tests (if available)
cargo fmt # Rust formatting
cargo clippy -- -D warningsPlease add or update tests alongside new features or bug fixes.
- Bug reports: include OS, app version, Node/Rust versions, reproduction steps, expected vs actual results, and logs/screenshots if possible.
- Feature ideas: describe the use case, desired outcome, and any alternatives considered.
Maintainers cut releases via npm run release -- X.Y.Z followed by pushing
the vX.Y.Z tag. The full runbook — one-time keypair setup, CI secrets,
publishing the draft release, failure recovery, and pre-release tags — is
in docs/RELEASING.md.
Be respectful, inclusive, and helpful. Use GitHub Issues for bugs/features and Discussions for questions or ideas.
Thank you for contributing! 🚀