Design Docs
The NSmithy design documents live in the
designs/
folder of the repository. Each document covers a specific area of the system:
its goals, the chosen design, alternatives considered, and tradeoffs.
| Document | Area |
|---|---|
| codegen-architecture.md | Java plugin + MSBuild integration pipeline |
| shapes.md | Smithy shape → C# type mapping |
| serialization.md | Schema algebra, typed traits, compiled codecs, and constraint validation |
| http-interfaces.md | HTTP transport abstractions |
| client-architecture.md | Generated client lifecycle, config, interceptors, auth, retries |
| server-architecture.md | Generated server dispatch, shared server runtime, host adapter |
| native-grpc.md | Native gRPC: own proto codec + gRPC protocol (no protoc/Grpc.Net) |
| streaming.md | Event streams and streaming blob payloads |