| name | proto-regenerate |
| description | Regenerate proto bindings for both SO (Go) and SDK (TypeScript) after proto file changes |
| disable-model-invocation | true |
Proto Regeneration Workflow
When .proto files are modified, regenerate bindings for both codebases.
Steps
All commands run from repository root
-
Regenerate SO (Go) bindings:
make
-
Regenerate SDK (TypeScript) bindings:
cd sdks/js/packages/spark-sdk
mise exec -- yarn generate:proto
cd -
-
Verify generation:
- Check
spark/proto/ for updated Go files
- Check
sdks/js/packages/spark-sdk/src/spark-wallet/proto-descriptors.ts for updated TypeScript file
-
Run code quality checks:
cd 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:
/proto-regenerate
This ensures both Go and TypeScript bindings stay in sync.