Thank you for helping improve bf-client! This guide outlines the basics for making high‑quality contributions that are easy to review and maintain.
- Go 1.23 (see
go.mod) - Bazel (build/test)
- Git
- Fork the repo and create a feature branch from the default branch.
- Make small, focused commits with clear messages.
- Open a pull request early for feedback; keep PRs scoped and reviewable.
- Bazel (preferred):
- Build:
bazel build //... - Test:
bazel test //...
- Build:
- Native Go (if helpful locally):
go build ./...go test ./...
All PRs should pass tests and build cleanly.
- Always run formatting before committing:
go fmt ./...- Optionally also:
gofmt -s -w .
- Prefer to run basic static checks locally:
go vet ./...
CI may reject PRs that aren’t formatted. If you’re unsure, re‑run go fmt ./....
Use pre-commit to auto‑format and vet changes locally.
Then run:
pre-commit install- Code compiles and tests pass (
bazel test //...) - Public APIs and non‑obvious logic documented
- PR description explains the why and the what
- Prefer small, iterative PRs; include context and tradeoffs.
- Be kind and constructive in reviews; propose changes with rationale.
Thanks for contributing!