mirror of
https://github.com/GainSec/RealHermes.git
synced 2026-10-24 06:00:47 +02:00
2.0 KiB
2.0 KiB
Contributing to RealHermes
Thanks for your interest. RealHermes is a prototype maintained by GainSec. Bug reports, reproducible problem descriptions and documentation fixes are the most helpful contributions.
Before you start
- Use issues first. Open an issue that describes the problem or proposal before writing a large change, so it can be discussed before you invest time.
- Contribution terms. RealHermes is offered under a source-available license for personal and non-commercial use, and separately under commercial licenses from GainSec. GainSec can therefore accept only contributions it may distribute under both. Before your first pull request is merged, GainSec may ask you to confirm contribution terms in writing. If you cannot agree to that, please open an issue instead of a pull request.
- Security problems go through SECURITY.md, not public issues.
Making a change
- Install with
npm ciand runnpm run doctor. - Write a failing test first, then the change (development.md describes the conventions and test seams).
- Keep the security properties intact: credentials and paths stay server-side, inputs are validated and bounded, errors stay sanitized, and launchers manage only the processes they start.
- Use synthetic fixtures only: reserved names such as
example.com, documentation IP ranges,/home/example-style paths. Never include real hostnames, addresses, user names, keys or captured frames. - Update
.env.exampleand the documentation when you add a setting or change behavior. - Run
npm run verifyand make sure it passes.
Pull requests
- Keep each pull request focused on one change, and explain what it changes and how you verified it, including manual checks for scene, microphone or headset behavior that tests cannot cover.
- Do not commit
.env,dist/,node_modules/, captures, logs or other generated files;.gitignorecovers them. - Be respectful and constructive in issues and reviews.