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.
Prerequisites
Section titled “Prerequisites”| Tool | Used by | Install |
|---|---|---|
| Python 3 | re, bugfix, deploy-validate (all the .py scripts) | macOS comes with python3; or install from python.org |
s3270 | deploy-validate (live capture mode only) | macOS: brew install x3270 ships s3270, b3270, and the GUI tools |
| AWS CLI v2 | deploy-validate (EC2 reachability + start/stop check) | brew install awscli or download from aws.amazon.com/cli |
gh CLI | deploy-validate (actions transport only) | brew install gh |
git | All skills | Comes with macOS Xcode CLI tools |
The Python scripts use stdlib only (argparse, re, json, pathlib, dataclasses) — no venv required.
EC2 access (default stack)
Section titled “EC2 access (default stack)”deploy-validate defaults match the current ACN UniKix POC stack:
| Argument | Default |
|---|---|
instance_id | i-0aa30c0894502169c |
region | us-east-1 |
aws_profile | magellan |
ssh_key | ~/.ssh/unikix-key.pem |
ssh_user | ec2-user |
gh_repo | felixalvez/acn-cobol-<repo-basename> |
To use the defaults you need:
- AWS magellan profile configured in
~/.aws/config(same as the rest of the toolkit — see Prerequisites) - SSH private key at
~/.ssh/unikix-key.pemwithchmod 600permissions - 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.
Different stack
Section titled “Different stack”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:
aws --profile <profile> ec2 describe-instances --instance-ids <id> \ --region <region> --query 'Reservations[0].Instances[0].State.Name' --output textShould return running. If stopped, start with aws ec2 start-instances.
Repo conventions
Section titled “Repo conventions”re and bugfix auto-detect repo layouts. Two layouts are bundled out of the box:
| Layout | Detected by | COBOL dirs | Copybook dirs | BMS dirs | JCL dirs |
|---|---|---|---|---|---|
bankdemo | sources/cobol/core exists | sources/cobol/{core,data/vsam,data/sql} | sources/copybook | sources/bms/cobol | sources/jcl |
carddemo | app/cbl exists | app/cbl | app/cpy, app/cpy-bms | app/bms | app/jcl |
Other layouts: pass --layout flags or extend LAYOUTS in the script. The auto-detect default for unknown layouts is carddemo.
Verifying setup
Section titled “Verifying setup”Run re against a known program:
/acn-cobol-modernization:re --repo ~/poc/acn-cobol/BankDemo --program BBANK10PIf 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).