-
Notifications
You must be signed in to change notification settings - Fork 0
CONTRIBUTING
Thanks for considering a contribution. This project aims to stay small, honest about what it has and hasn't been tested against, and dependency-light.
git clone https://github.com/DustinTrap/kvm-pilot
cd kvm-pilot
pip install -e ".[dev,totp,ws]"ruff check . # lint (and `ruff format .` if you like)
mypy src/kvm_pilot # types
pytest # testsCI runs all three on Python 3.11, 3.12, and 3.13. PRs should keep them green.
-
Core stays stdlib-only. Anything needing a third-party package goes behind
an optional extra (see
totp/wsinpyproject.toml), imported lazily. - No hard-coded model versions. The vision backends resolve or accept a model at runtime; don't bake a version string into the code.
-
Destructive operations are gated. If you add a method that can change a
target's running state (power, reset, media, GPIO, resets), add it to
DESTRUCTIVE_OPSand route it throughself.safety.guard(...). - Be honest about hardware. If you've tested on real hardware, say which device and firmware in the PR. The compatibility table in the README should reflect what's actually been verified versus assumed.
You don't need to write code to help. If you run kvm-pilot against a device
not in the compatibility table (PiKVM v3/v4, BliKVM, GL-RM1, etc.), open an
issue with what worked and what didn't — that's directly useful.
The test suite mocks the HTTP and vision layers, so you can run and extend it
with no device. See tests/conftest.py for the fakes. For end-to-end transport
coverage, tests/test_emulator.py drives the real KVMClient against a
pure-stdlib fake kvmd (tests/emulator.py) on 127.0.0.1 — no Docker, runs on
macOS and Linux.
If you use Claude Code, these skills help keep contributions consistent with the
project's standards (optional aids — ruff, mypy, and pytest remain the gates):
-
/security-review— run before opening a PR. This project drives real hardware and handles credentials + secret redaction, so security review matters. -
/code-review— review your own diff for bugs andCLAUDE.mdcompliance. -
/claude-api— read before changing anything undersrc/kvm_pilot/vision/; it covers current Anthropic model ids and vision parameters. -
/find-skills— discover other useful skills in the ecosystem.
- Home
- Getting started
- Architecture
- CLI reference
- Configuration
- Design decisions
- Reflexes (RFC)
- Redfish reference
- Firmware registry
- Remote firmware update
- Unattended Linux installs
- Claude skill
- MCP server
- Contributing
- Security policy
- Analysis: 2026-07-01 deep review
- Analysis: 2026-07-03 RM1PE firmware + encoder
- Hardware compatibility