core is shared API surface for the rest of the BubuStack ecosystem. Changes
here affect bobrapet, bobravoz-grpc, and bubu-sdk-go, so contributions need to
be explicit, well-tested, and easy to review.
- Check existing issues first.
- Include the following details when filing a bug:
- The affected package or helper (
contracts,templating,runtime/*, or release/CI/docs). - A minimal reproduction: template snippet, input payload, config example, or direct Go call.
- The
coreversion or commit you tested, plus any downstream repo/version involved. - Returned errors, stack traces, or logs showing the incorrect behaviour.
- Downstream impact in bobrapet, bobravoz-grpc, or bubu-sdk-go if applicable.
- The affected package or helper (
- Apply the relevant
kind/*,area/*, andpriority/*labels when triaging.
- Use the feature request template.
- Describe the shared problem the change solves across the BubuStack ecosystem.
- Sketch the desired API, config shape, or contract change when possible.
- If the change requires coordinated updates in downstream repos, say that up front so releases can be planned.
- Fork the repo, branch from
main, and keep the PR focused. - Preserve package boundaries:
contractsstay canonical,templatingstays shared and consumer-agnostic, and runtime helpers stay dependency-light. - Run the quality gates before requesting review:
make fmt make vet make test make lint make test-coverage # optional but recommended for larger changes make tidy # if dependencies changed
- Update docs, templates, and examples when behaviour changes. Call out any required downstream follow-up in bobrapet, bobravoz-grpc, or bubu-sdk-go.
- Use the PR template to record commands run, test evidence, and linked issues.
- Go 1.26+ (matching
go.mod) makeand bash
- Fork the repository and clone your fork.
cd coremake helpto inspect the available targets.make testbefore opening your first PR.
make test # race-enabled unit suite
make test-coverage # optional coverage profilemake lint- Follow Conventional Commits so release automation can generate accurate changelog entries (for example:
feat: add shared transport env helper,fix: guard nil template path lookup). - Participation in this project is governed by the Contributor Covenant Code of Conduct. Report unacceptable behaviour to community@bubustack.io or via the org Discussions moderation channel.