| name | to-java-migration |
| description | Migrate COBOL code to idiomatic Java, preserving business logic while following Java best practices. Use for COBOL modernization projects. |
| license | MIT |
| compatibility | Requires Java 11+, Maven or Gradle |
| triggers | ["cobol to java","cobol migration","cobol modernization","migrate cobol"] |
Migrate COBOL code to idiomatic Java, preserving all business logic.
Code Style Requirements
Write idiomatic Java, NOT literal COBOL translations:
- Use Java conventions: camelCase names, standard collections (List, Map)
- Use Java standard library instead of rolling your own
- No god classes — split into cohesive, single-responsibility classes
- No TODO comments or stub implementations — fully implement everything
Robustness Requirements
- Validate inputs at method entry (null checks, range validation)
- Use try-catch for all I/O and external operations
- Use try-with-resources for files, streams, connections
- Handle errors gracefully with meaningful messages
Configuration Requirements
- No hardcoded file paths or credentials — use environment variables
- No magic numbers — use named constants
- Make limits and timeouts configurable
Documentation Requirements
- Add COBOL references:
// COBOL equivalent: BNK1CRA.cbl 145-167
- Document assumptions made during conversion
- Add Javadoc to public methods
Testing Requirements
If test fixtures exist (see cobol-build-setup skill):
- Create a JUnit test class for each migrated program
- Load inputs from fixtures, assert output matches expected (golden) output
- All tests must pass before migration is complete
References
Done When
✓ Code compiles without errors
✓ All JUnit tests pass (Java output matches COBOL golden output)
✓ No TODO or stub implementations remain
✓ COBOL references documented in comments