grpc-migration-contract-distribution

Split gRPC proto modules into proto-only and generated code modules.

40|33|Updated Aug 20, 2015
One-click install
npx skills add https://github.com/bitsoex/bitso-java --skill grpc-migration-contract-distribution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: grpc-migration-contract-distribution
Source: https://github.com/bitsoex/bitso-java/tree/main/.claude/skills/grpc-migration-contract-distribution
Command: npx skills add https://github.com/bitsoex/bitso-java --skill grpc-migration-contract-distribution

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the inefficient distribution of gRPC proto modules by splitting them into proto-only and generated code modules, preventing dependency conflicts and ensuring RFC-33 compliance.

Core Features & Use Cases

  • Proto Module Splitting: Separates proto definitions from generated code for cleaner dependency management.
  • Contract Distribution: Publishes proto-only artifacts, allowing consumers to compile against their own gRPC versions.
  • Use Case: Migrating a monolithic gRPC service's proto definitions to a proto-only library, enabling downstream services to integrate with a consistent, version-controlled contract without inheriting transitive gRPC dependencies.

Quick Start

Migrate the 'account-protos' module to a proto-only and generated code split following the steps outlined in the documentation.

Frequently Asked Questions about grpc-migration-contract-distribution

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate gRPC proto modules to a contract distribution model?

To migrate gRPC proto modules to a contract distribution model, you split them into separate proto-only and generated code modules. This enables external consumers to compile protos using their own gRPC versions, avoiding transitive dependency conflicts.

Why do I need to split proto definitions from generated gRPC code?

Splitting proto definitions from generated gRPC code prevents transitive dependency conflicts. It allows external consumers to depend solely on proto contracts and compile against their own specific gRPC versions without inheriting unwanted library dependencies.

What is RFC-33 compliance in gRPC proto module distribution?

RFC-33 compliance in gRPC proto module distribution is achieved by separating proto definitions from generated code. This specific contract distribution model ensures external services integrate with a consistent, version-controlled contract without inheriting conflicting transitive gRPC dependencies.

Does migrating gRPC proto modules require a version bump?

Migrating gRPC proto modules does require a mandatory major version bump for the newly created proto-only module. This version increment is required alongside specific build.gradle modifications and directory restructuring to ensure proper contract distribution.

What directory structures are needed for gRPC contract distribution?

gRPC contract distribution requires specific directory structures that physically separate proto-only files from generated code modules. You must configure these paths within your build.gradle modifications to correctly split the monolithic proto definitions.