What problem does it solve?
You have a single .proto file that incorrectly contains multiple service definitions, which makes forge lint fail and causes ambiguous generation outputs and tight cross-service coupling.
Core Features & Use Cases
- Identify what to split by inventorying services, RPCs, and message ownership, then classifying messages as service-owned, shared, or removable.
- Restructure the proto layout into one service per .proto plus an optional shared types file for cross-service value messages.
- Update build and configuration by fixing imports, adjusting forge.yaml services entries, moving handler code, and regenerating code so lint/build/test stay green.
Quick Start
Run the split plan for your aggregated proto by creating proto/shared/v1/types.proto for truly shared messages and then moving each service into its own proto/services/<service>/v1 file before updating forge.yaml and regenerating with forge generate.