Files
noitu/.gitattributes
T
tiennm99 48b3b3c8ac feat(proto): add protobuf wire contract and cross-language codegen
proto/noitu/v1/game.proto is the single source of truth for every WebSocket
message. buf generates Go types into server/gen and JavaScript types into
web/src/lib/proto; both trees are committed so building needs no codegen
toolchain.

The Go suite emits binary fixtures into proto/testdata and the JavaScript suite
decodes the same bytes, so the two generated clients are checked against one
artifact rather than against each other's assumptions. CI lints the schema,
rejects breaking changes against main, and fails when the committed generated
trees drift from the schema.

game.NumRejectReasons and game.NumEndReasons let the mapping tests prove every
engine reason has a wire value without guessing where the enum ends.
2026-09-05 12:06:58 +07:00

10 lines
510 B
Plaintext

# The wire fixtures in proto/testdata are protobuf-encoded bytes shared by the
# Go and JavaScript test suites. Several contain 0x0a and no NUL, so a checkout
# with autocrlf enabled could rewrite them into messages that no longer decode.
proto/testdata/*.bin binary
# Generated code is checked in so building needs no codegen toolchain; keeping
# it out of diffs makes reviews readable and stops it inflating language stats.
server/gen/** linguist-generated=true
web/src/lib/proto/** linguist-generated=true