build-setup

SkillDev tools

Set up build environment and test fixtures for COBOL-to-Java migrations. Creates compilation infrastructure for both languages and generates golden test data.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the build-setup skill

What this skill tells your AI

The instructions your AI receives, as published by openhands/extensions in plugins/cobol-modernization/skills/build-setup/SKILL.md and read by ahel’s review.

Set up a build environment and create test fixtures for validating COBOL-to-Java migrations.

To install GnuCOBOL, run: ./scripts/install-gnucobol.sh On Windows, run that shell script from Git Bash/WSL (bash scripts/install-gnucobol.sh) or install GnuCOBOL with a Windows package manager and document the chosen command in build_notes.md.

Phase 1: Build Setup

COBOL Build

  • Find a way to compile and run the COBOL code (e.g., GnuCOBOL)
  • Verify at least one program compiles and executes
  • Note any dependencies or setup required

Java Build

  • Initialize a Java project alongside the COBOL code (Maven or Gradle)
  • Set up standard directory structure: src/main/java, src/test/java
  • Include JUnit 5 as a test dependency
  • Verify the project builds (even if empty)

Phase 2: Test Fixture Generation

For each major COBOL program:

Create Synthetic Test Inputs

  • Save to: test-fixtures/inputs/{PROGRAM_NAME}/
  • Create 3-5 test cases per program covering:
    • Normal/happy path (valid, typical data)
    • Edge cases (empty input, maximum values, boundary conditions)
    • Error cases (invalid formats, missing required fields)

Generate Golden Outputs

  • Run each COBOL program with each test input
  • Save COBOL output to: test-fixtures/expected_outputs/{PROGRAM_NAME}/
  • These become the "golden" outputs that Java must match

Create Test Manifest

Save to test_manifest.json:

{
  "PROGRAM1": {
    "description": "Brief description of what this program does",
    "test_cases": [
      {
        "name": "normal_invoice",
        "input": "inputs/PROGRAM1/test_001.dat",
        "expected": "expected_outputs/PROGRAM1/test_001.out",
        "description": "Happy path"
      }
    ]
  }
}

Deliverables

  1. build_notes.md — Build instructions for COBOL and Java
  2. test-fixtures/ — Directory with inputs/ and expected_outputs/
  3. test_manifest.json — JSON manifest of all test cases

Priority

Focus on programs with core business logic (transactions, calculations, data processing). UI-heavy programs (menu screens, reports) are lower priority.

Signals

GitHub stars
144
Forks
86
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
build-setup
Source
github.com/openhands/extensions