CONTRIBUTING.md file is the canonical contribution guide. This page summarizes the workflow and provides additional context for common changes.
By participating in the project, you agree to follow the Code of conduct.
Report a bug
Share a reproducible problem with the affected version, configuration, and relevant logs.
Propose a feature
Describe the use case and expected behavior before investing in a substantial implementation.
Improve the documentation
Correct stale commands, clarify behavior, improve examples, or add missing troubleshooting guidance.
Open a pull request
Submit a focused change with tests, verification details, and a clear explanation of the problem it solves.
Development requirements
Hivenet Router is one Go module. The currentgo.mod requires:
Repository structure
The main implementation areas are:
Most tests live under
test/ and use external packages such as:
Run the tests
Run the complete test suite:Add tests with a change
A behavior change should normally include tests covering:- the expected path
- invalid input
- boundary conditions
- failure behavior
- relevant precedence rules
- regression scenarios
Format and check the code
Before opening a pull request, run:go fmt ./... updates Go source files in place.
Review the resulting diff:
- naming
- error handling
- comment density
- logging style
- package boundaries
- concurrency patterns
Update dependencies carefully
After intentionally changing module dependencies:go mod tidy as unrelated cleanup in a pull request that does not change dependencies.
A dependency change should explain:
- why the dependency is needed
- why the selected version is appropriate
- whether it changes compatibility or runtime behavior
- whether it introduces a security or licensing concern
Regenerate protobuf code
The generated files are:protocprotoc-gen-goprotoc-gen-go-grpc
Improve the documentation
Documentation lives under:- correcting behavior that changed in the implementation
- replacing stale commands or defaults
- clarifying API and configuration boundaries
- documenting edge cases
- improving navigation
- adding verified troubleshooting steps
- fixing broken links
- correcting examples that no longer match the code
- Treat the current implementation as the source of truth.
- Preserve exact commands, flags, endpoints, schemas, and units.
- Distinguish verified behavior from guidance or interpretation.
- Do not add product claims that the repository does not support.
- Update related pages when one behavior affects several guides.
- Check internal links and sidebar placement.
Report a bug
Open a GitHub issue and include:- the Hivenet Router release or commit
- operating system and deployment method
- whether the problem affects the router, agent, or both
- inference engine and version
- exact model ID and capability
- relevant configuration with secrets removed
- clear reproduction steps
- expected behavior
- actual behavior
- relevant logs
X-Request-IDwhen one request demonstrates the problem
- client behavior
- router behavior
- agent behavior
- inference-backend behavior
Propose a feature
Open an issue before beginning a substantial feature. Describe:- the user or operator problem
- the intended use case
- current behavior
- expected behavior
- API or configuration changes
- persistence implications
- authentication and security implications
- compatibility concerns
- operational trade-offs
Create a branch
Fork the repository, then create a topic branch from the currentmain branch.
Prepare the pull request
Before opening the pull request:main when necessary.
A useful pull request description explains:
- what changed
- why the change is needed
- how the behavior works
- how it was tested
- any compatibility or migration impact
- any remaining limitation
- related issues
- documentation rendering
- dashboards
- user-interface integrations
- another visual change
Review feedback
Review may ask for:- clearer behavior boundaries
- additional tests
- smaller changes
- compatibility handling
- documentation updates
- removal of unrelated refactoring
Report a security issue privately
Do not open a public GitHub issue for a suspected vulnerability.
- affected component and version
- reproduction steps
- expected security boundary
- observed behavior
- potential impact
- any temporary mitigation
License for contributions
Hivenet Router is licensed under the Apache License 2.0. By contributing, you agree that your contribution will be licensed under the same terms. Read the complete License before submitting a contribution.Contribution checklist
Before submitting:- the change has one clear purpose
- new behavior has appropriate tests
- existing tests pass
- Go source is formatted
go vet ./...passes- the complete module builds
- generated files were updated from their source
- documentation reflects externally visible changes
- secrets and sensitive data were removed
- the pull request explains the reason and verification
- the branch is based on a current
main
Next steps
Canonical contribution guide
Read the authoritative repository version of the contribution instructions.
Code of conduct
Review the standards applying to project participation.
License
Review the Apache License 2.0 terms applying to contributions.
GitHub issues
Report bugs and discuss feature proposals.
Pull requests
Review current work or submit a focused change.
Detailed architecture
Understand the components and request paths affected by a code change.

