Proto Regeneration Workflow
When .proto files are modified, regenerate bindings for both codebases.
Steps
All commands run from repository root
- •
Regenerate SO (Go) bindings:
bashmake
- •
Regenerate SDK (TypeScript) bindings:
bashcd sdks/js/packages/spark-sdk mise exec -- yarn generate:proto cd - # Return to repo root
- •
Verify generation:
- •Check
spark/proto/for updated Go files - •Check
sdks/js/packages/spark-sdk/src/spark-wallet/proto-descriptors.tsfor updated TypeScript file
- •Check
- •
Run code quality checks:
bashcd spark && mise lint && cd - cd sdks/js && yarn build && cd -
Critical Notes
- •MUST use
mise exec --for TypeScript generation to ensure protoc v29.3 - •Never update tool versions without user consent
- •If proto generation fails, check mise.toml for correct protoc version
Usage
After modifying any .proto file in the protos/ directory, run:
code
/proto-regenerate
This ensures both Go and TypeScript bindings stay in sync.