HardwareVisualizer Contributing Guide
July 11, 2026 ยท View on GitHub
Thank you for your interest in contributing!
HardwareVisualizer is an open-source project, and we welcome improvements from the community.
How to Contribute
- New features: Please create an Issue before opening a Pull Request.
- Small fixes / refactoring: An Issue is optional.
- Bug reports and ideas: Opening an Issue is also a great contribution.
Bug Report
Feature Request
Pull Request Guidelines
HardwareVisualizer automatically assigns labels based on the branch name.
Branch naming convention:
- Features:
feat/<short-description-or-issue-number>orfeature/<short-description-or-issue-number> - Bug fixes:
fix/<short-description-or-issue-number> - Documentation:
docs/<short-description-or-issue-number> - Refactoring:
refactor/<short-description-or-issue-number> - Performance:
perf/<short-description-or-issue-number> - Other:
chore/<short-description-or-issue-number>
PR branch names are validated by CI. Tool-dependent prefixes such as
codex/ or claude/ are not accepted; choose a project prefix that
matches the change type before pushing or opening the PR.
Labels are grouped by purpose. Use the GitHub label guide when triaging issues or checking pull request labels.
When submitting a Pull Request (PR), please:
- Provide a concise description of the change
- Link any related Issue (if applicable)
- Ensure CI checks pass
Development Guide
Project documentation is indexed in docs/README.md. Use the documentation guide when adding or moving documentation.
Setup
Development requires the following tools:
In addition, you will need the Tauri system dependencies. Please make sure to install these as well.
Next, install the dependencies:
npm ci
Run Development App
npm run tauri:dev
Production Build
npm run tauri build
Run linting, formatting, and tests locally before opening a PR
If there are errors in linting, formatting, or tests, the PR cannot be merged.
Run these before opening a PR:
For JavaScript/TypeScript:
npm run lint
npm run format
npm test
For Rust:
cargo tauri-fmt
cargo tauri-lint
cargo tauri-test
Note: We use Cargo aliases defined at the project root (
.cargo/config.toml).
Security
If you discover a vulnerability, do not open a public issue. Instead, please contact the maintainer directly via GitHub or via email at: m11c3.sh@gmail.com.
License
By contributing to HardwareVisualizer, you agree that your contributions will be licensed under the MIT License.