- Always work in a PR branch — never commit directly to
main. - Create a feature branch from
main:git checkout main git pull origin main git checkout -b <type>/<short-description>
- Push your branch and open a Pull Request.
- All changes must be reviewed and merged via PR.
We use Conventional Commits.
Format:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
| Type | Description |
|---|---|
feat |
A new feature |
fix |
A bug fix |
docs |
Documentation only changes |
style |
Code style changes (formatting, no logic change) |
refactor |
Code change that neither fixes a bug nor adds a feature |
chore |
Other changes that don't modify proto files |
| Scope | Description |
|---|---|
daemon |
DaemonService proto definitions |
relay |
RelayService proto definitions |
types |
Shared message types |
buf |
Buf configuration and code generation |
feat(daemon): add StreamOutput server streaming RPC
fix(types): correct OutputType enum numbering
refactor(relay): rename TunnelMessage payload field
docs: update proto field comments
- Follow the Buf style guide
- All enums must have an
UNSPECIFIED = 0value - Use
google.protobuf.Timestampfor time fields - Package:
helmz.v1 - C# namespace:
Helmz.Spec.V1
- Always squash merge PRs into
main. - The squash commit message must follow conventional commit format.
- Always delete the branch after merging.