- Rust 85.7%
- Shell 7.2%
- Go 6.7%
- Python 0.2%
- Makefile 0.2%
| docs | ||
| proto/yuvu | ||
| scripts | ||
| sdk | ||
| tools/rust-sdk-gen | ||
| .gitignore | ||
| .woodpecker.yml | ||
| buf.gen.yaml | ||
| buf.yaml | ||
| Makefile | ||
| README.md | ||
yuvuApi
Yuvu shared Protobuf contracts and generated SDKs.
Protobuf is the single source of truth for communication across Yuvu service boundaries. Service-internal domain and persistence models remain independently owned. See Contract Governance.
Layout
proto/: versioned API contracts.docs/: contract ownership and compatibility rules.sdk/go/: generated Go and Connect clients.sdk/python/: generated Python messages.sdk/rust/: Rust SDK crate generated byprost.
Commands
Code generation uses local protobuf tools rather than Buf remote plugins. The expected toolchain is:
bufv1.65.0protoc3.21.12 (release archive v21.12; also supplied by Bookworm)protoc-gen-gov1.36.10protoc-gen-connect-gov1.19.1
make lint
make generate
make check
The yuvuApi CI uses the same local-tool path: protobuf checks run in a Go image,
call scripts/ensure_protobuf_tools.sh, and then execute the Makefile targets.
Rust SDK tests install the system protoc package instead of using vendored
compiler binaries.
Generated SDKs are committed so consumers can pin the same contract revision.
Dynamic adapter capability inputs remain google.protobuf.Struct and are
validated by the capability schema owned by Yuvu Core.