# Proto Regenerate

> Regenerate proto bindings for both SO (Go) and SDK (TypeScript) after proto file changes Use when this capability is needed.

- Skill: `tomevault-io/proto-regenerate` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/proto-regenerate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/proto-regenerate/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/proto-regenerate

---


# Proto Regeneration Workflow

When `.proto` files are modified, regenerate bindings for both codebases.

## Steps

**All commands run from repository root**

1. **Regenerate SO (Go) bindings:**
   ```bash
   make
   ```

2. **Regenerate SDK (TypeScript) bindings:**
   ```bash
   cd sdks/js/packages/spark-sdk
   mise exec -- yarn generate:proto
   cd - # Return to repo root
   ```

3. **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

4. **Run code quality checks:**
   ```bash
   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.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/buildonspark) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

