Skip to content

acn-cobol-modernization — Setup

acn-cobol-modernization shells out to several external tools. The plugin ships the skills and scripts; you provide the toolchain and the EC2 access.

ToolUsed byInstall
Python 3re, bugfix, deploy-validate (all the .py scripts)macOS comes with python3; or install from python.org
s3270deploy-validate (live capture mode only)macOS: brew install x3270 ships s3270, b3270, and the GUI tools
AWS CLI v2deploy-validate (EC2 reachability + start/stop check)brew install awscli or download from aws.amazon.com/cli
gh CLIdeploy-validate (actions transport only)brew install gh
gitAll skillsComes with macOS Xcode CLI tools

The Python scripts use stdlib only (argparse, re, json, pathlib, dataclasses) — no venv required.

deploy-validate defaults match the current ACN UniKix POC stack:

ArgumentDefault
instance_idi-0aa30c0894502169c
regionus-east-1
aws_profilemagellan
ssh_key~/.ssh/unikix-key.pem
ssh_userec2-user
gh_repofelixalvez/acn-cobol-<repo-basename>

To use the defaults you need:

  1. AWS magellan profile configured in ~/.aws/config (same as the rest of the toolkit — see Prerequisites)
  2. SSH private key at ~/.ssh/unikix-key.pem with chmod 600 permissions
  3. GitHub CLI authenticated as a user with read access to felixalvez/acn-cobol-* repos (gh auth login)

Override any default by passing the corresponding flag to the skill.

To use deploy-validate against a different EC2 instance, COBOL repo, or GitHub remote, override the defaults at invocation:

/acn-cobol-modernization:deploy-validate \
<repo_path> <patch_path> \
--instance-id i-xxxxxxxxx \
--region us-west-2 \
--aws-profile <yours> \
--ssh-key ~/.ssh/<your-key>.pem \
--gh-repo <your-org>/<your-repo>

Verify your stack by running the AWS describe-instances probe manually:

Terminal window
aws --profile <profile> ec2 describe-instances --instance-ids <id> \
--region <region> --query 'Reservations[0].Instances[0].State.Name' --output text

Should return running. If stopped, start with aws ec2 start-instances.

re and bugfix auto-detect repo layouts. Two layouts are bundled out of the box:

LayoutDetected byCOBOL dirsCopybook dirsBMS dirsJCL dirs
bankdemosources/cobol/core existssources/cobol/{core,data/vsam,data/sql}sources/copybooksources/bms/cobolsources/jcl
carddemoapp/cbl existsapp/cblapp/cpy, app/cpy-bmsapp/bmsapp/jcl

Other layouts: pass --layout flags or extend LAYOUTS in the script. The auto-detect default for unknown layouts is carddemo.

Run re against a known program:

/acn-cobol-modernization:re --repo ~/poc/acn-cobol/BankDemo --program BBANK10P

If output lands at ~/poc/acn-cobol/BankDemo/.lineage/re-BBANK10P.md and the file has all 9 sections filled, the read path works.

For deploy-validate, the cheapest smoke test is a code-only run against BankDemo (compile-only validation, no 3270 capture, no live region required beyond validate-e2e.sh passing the compile checks).