Thank you for considering contributing to this project!
- Go 1.26+: this library uses features from Go 1.24 through 1.26
- Zero external dependencies: only the Go standard library is allowed
- 100% test coverage: verify with:
go test -coverprofile=coverage.out ./... && go tool cover -func=coverage.out
go test ./... # run all tests
go test -race ./... # run with race detector
go vet ./... # static analysis
go test -bench=. -benchmem ./... # benchmarks
go test -fuzz='^FuzzParse$' -fuzztime=30s ./... # fuzz Parse
go test -fuzz=FuzzParseLenient -fuzztime=30s ./... # fuzz ParseLenient- Tests are internal (package
uuid) exceptexample_test.go(packageuuid_test) - Use
cryptotest.SetGlobalRandom(t, seed)for deterministic randomness - Use
synctest.Test(t, func(t *testing.T) { ... })for fake-clock V7 tests - Fuzz tests must round-trip: parse then re-parse the
String()output
-
go test -race ./...passes -
go vet ./...is clean - 100% test coverage maintained
- No new external dependencies added
- Documentation updated if public API changed
See Why This Library? in the README for the design principles guiding this project.