1.6 KiB
1.6 KiB
Issue #2: Proto codegen pipeline for TypeScript gRPC-Web stubs
Status: COMPLETED
Issue: #2
Branch: feature/issue-2-proto-codegen
Summary
Set up buf + @connectrpc/connect-web to generate TypeScript client stubs from the llm-multiverse proto files. Use a git submodule to consume proto files. Output generated code to src/lib/proto/.
Acceptance Criteria
- Codegen toolchain chosen and configured (buf + connect-es)
- Proto files from llm-multiverse repo consumed (git submodule)
- TypeScript gRPC-Web client stubs generated to
src/lib/proto/ generatenpm script added to package.json- Generated types are importable and type-safe
Implementation Phases
Phase 1: Add proto files via git submodule
Add the llm-multiverse repo as a git submodule at proto/upstream to keep proto files in sync.
Phase 2: Configure buf for connect-es codegen
Install buf CLI dependencies and configure:
@bufbuild/protobuf— runtime protobuf library@connectrpc/connect— Connect protocol runtime@connectrpc/connect-web— browser transport@bufbuild/protoc-gen-es— protobuf ES codegen plugin@connectrpc/protoc-gen-connect-es— Connect service codegen plugin
Create buf.gen.yaml in project root targeting src/lib/proto/ output.
Phase 3: Generate stubs and verify
Run npx buf generate and verify generated TypeScript files are importable and type-safe.
Phase 4: Add npm script
Add "generate": "buf generate proto/upstream/proto" to package.json.
Deviations
(none yet)