| name | grpc-migration-assessment |
| description | Initial compliance assessment for gRPC migration. Identifies proto modules and services requiring migration.
|
| compatibility | Java projects with gRPC services; requires grpc-compliance-validate-repository |
| metadata | {"version":"1.0.0","technology":"java","category":"migration","tags":["java","grpc","assessment","migration"]} |
gRPC Migration Assessment
Initial compliance assessment for gRPC migration.
Purpose
Run this assessment before starting any gRPC migration work to:
- Identify all compliance issues in the codebase
- Categorize ERRORS (must fix) vs WARNINGS (can defer)
- Create a prioritized migration plan
- Estimate scope of work
Skill Contents
Sections
This skill contains only the main documentation below.
Prerequisites
The grpc-compliance-validate-repository command must be available to run the compliance assessment.
Cloud agents: Pre-installed (no action needed).
Local setup:
export HOMEBREW_GITHUB_API_TOKEN=your-token
brew tap bitsoex/homebrew-bitso
brew install bitso-grpc-linter
Verify: grpc-compliance-validate-repository --help
See ../grpc-services-rfc-33/references/installation.md for details.
Quick Start
Step 1: Run Compliance Validation
grpc-compliance-validate-repository --dir .
grpc-compliance-validate-repository --dir . --verbose
grpc-compliance-validate-repository --dir . > compliance-report.txt
Step 2: Document Findings
Document all ERRORS found:
- Proto modules with incorrect distribution (compiled code + dependencies)
- Services using
Failure entity in responses
- Proto files in wrong location (
src/main/proto/ instead of src/main/resources/)
Step 3: Categorize Issues
ERRORS (must fix):
- Proto modules with incorrect distribution (compiled code + dependencies)
- Proto files in wrong location (
src/main/proto/)
- Response messages using
Failure entity with oneOf patterns
- Missing
-generated modules for internal proto compilation
WARNINGS (can defer):
- Non-critical style issues
- Optional best practice recommendations
- When creating new methods (such as V2), try to fix the warnings
Migration Planning
Prioritization Strategy
- Start with fewest dependencies - Migrate leaf modules first
- Group related changes - Proto module + service migration together
- Test incrementally - Validate after each module migration
Create Migration Checklist
For each proto module needing migration:
For each service needing V2 migration:
Validation Commands Reference
Check Specific Module
grpc-compliance-validate-repository --dir ./path/to/module
Build Validation
./gradlew clean build
./gradlew :module-name:build
Dependency Analysis
./gradlew :module-name:dependencies
./gradlew :module-name:dependencyInsight --dependency grpc-stub
Expected Output
After running assessment, you should have:
- List of all ERRORS requiring immediate fix
- List of WARNINGS to address opportunistically
- Prioritized order for module migrations
- Prioritized order for service V2 migrations
- List of external consumers to notify
Next Steps
Based on assessment results:
- For proto module issues → Use
grpc-migration-contract-distribution
- For Failure entity issues → Use
grpc-migration-error-handling
- For full migration → Use
grpc-migration orchestrator