Skip to content

Sample corpora for legacy-system discovery practice

FieldValue
TypeSkill Resource
Source~/.copilot/skills/architecture/references/discovery/sample-corpora.md
DescriptionNot specified

Source Content

Sample corpora for legacy-system discovery practice

Every repository below was verified to exist on GitHub during curation; each one carries real, readable legacy artifacts (source plus file/data layouts) rather than empty stubs. Use them to rehearse the discovery phases — inventory, artifact classification, data-model reconstruction, call-graph and dependency mapping, and business-rule extraction. Sizes are approximate and drift over time; treat them as complexity signals, not exact counts.

IBM i / AS400

IBM/ibmi-company_system

URL: <https://github.com/IBM/ibmi-company_system>

The official IBM i example application — an employee and department management system, self-contained and built to compile three ways (GNU Make, ibmi-bob, ARCAD).

Demonstrates: RPGLE, SQLRPGLE, DDS physical files (PF), DDS display files (DSPF), SQL stored procedures (.SQLPRC), and Makefile-driven builds.

Good for phase: inventory and artifact classification (mixed RPG/DDS/SQL tree), data-model reconstruction (PF layouts plus stored procs), call-graph mapping (programs to display files to database), and build-system discovery (three coexisting build tools).

Size/complexity: small-to-medium; ~175 commits; RPGLE ~69% with Makefile ~31%. A clean, modern demo that reads like a real shop’s project.

PoC-dev/as400-sfltemplates

URL: <https://github.com/PoC-dev/as400-sfltemplates>

A heavily commented template collection for building subfile-based 5250 (green-screen) terminal applications, covering both Load-All and Load-Paged subfile patterns back to V4R4.

Demonstrates: RPGLE driver programs, DDS physical files, DDS logical files (LF), DDS display files (DSPF) with subfiles, help panel groups, menu definitions, and test-data loaders.

Good for phase: artifact classification (PF/LF/DSPF split), UI-flow reconstruction (subfile screen logic), and business-rule extraction from densely commented drivers.

Size/complexity: small; RPGLE ~92% with REXX ~8%; ~12 stars; updated 2026. Production-ready and unusually well documented for teaching.

SJLennon/IBM-i-RPG-Free-CLP-Code

URL: <https://github.com/SJLennon/IBM-i-RPG-Free-CLP-Code>

A working-examples collection of modern free-format RPGLE, embedded SQL, and CLP, including a 5250 subfile folder and database examples.

Demonstrates: free-format RPGLE, SQLRPGLE, CLP/CLLE, DDS display/physical/logical files, copy members, and procedure interfaces.

Good for phase: artifact classification across many small programs, dependency mapping (copybooks and procedure interfaces), and business-rule extraction from focused examples.

Size/complexity: small-to-medium; ~114 commits; RPGLE ~92%; ~69 stars. Many discrete snippets rather than one cohesive app — good for breadth drills.

mrKlar/IBM-RPG

URL: <https://github.com/mrKlar/IBM-RPG>

Learning notes, examples, and programs for RPG, CL, DDS, and Db2 SQL, deliberately laid out to mirror how source physical files are stored on a real IBM i.

Demonstrates: RPGLE (QRPGLESRC), classic RPG (QRPGSRC), DDS (QDDSSRC), CL (QCLSRC), CLLE (QCLLESRC), MI (QMISRC), and Db2 SQL.

Good for phase: inventory against authentic library/source-file conventions (QxxxSRC members), and recognizing the classic-RPG vs RPGLE generational split during classification.

Size/complexity: small; ~8 stars; language detection is skewed by the SQL content, so confirm the member mix in the tree. Best value is the true-to-platform directory structure.

Mainframe COBOL

openmainframeproject/cobol-programming-course

URL: <https://github.com/openmainframeproject/cobol-programming-course>

The Open Mainframe Project’s “Getting Started” COBOL course — four books plus labs, the de facto teaching corpus for z/OS COBOL.

Demonstrates: COBOL source, JCL, and lab exercises (course folders COBOL Programming Course #1#4).

Good for phase: inventory and artifact classification (COBOL plus JCL), and business-rule extraction from progressively harder lab programs.

Size/complexity: large repo (~692 commits, ~3.6k stars) but individual labs are small; COBOL ~74% with JCL ~20%. Pull specific lab folders rather than the whole tree for a focused drill.

CICS online

cicsdev/cics-genapp

URL: <https://github.com/cicsdev/cics-genapp>

The IBM CICS GENAPP general-insurance sample (from SupportPac CB12) — policy insert/query/delete over 3270 green screens with a Db2 backend. A strong analog to unemployment, benefits, and claims systems.

Demonstrates: COBOL, JCL, REXX, and CICS online transaction structure (the base directory holds the core application).

Good for phase: business-domain reconstruction (insurance policy lifecycle), transaction/call-graph mapping (CICS program flow), and data-model reconstruction (policy/customer records).

Size/complexity: small-to-medium; ~19 commits; ~36 stars; COBOL ~74% with JCL ~24%. Compact enough to read end-to-end, domain-rich enough to practice rule extraction.

Mixed / other

aws-samples/aws-mainframe-modernization-carddemo

URL: <https://github.com/aws-samples/aws-mainframe-modernization-carddemo>

A comprehensive COBOL credit-card management application spanning online CICS transactions and batch jobs, built to showcase full mainframe modernization patterns.

Demonstrates: COBOL, JCL, CICS BMS mapsets, VSAM KSDS with alternate indexes, copybooks, and sample EBCDIC data files (plus optional Db2/IMS/MQ extensions).

Good for phase: every phase — large-tree inventory, artifact classification across the widest mix (COBOL/JCL/BMS/VSAM/copybooks), data-model reconstruction from VSAM layouts and EBCDIC data, and online-plus-batch call-graph mapping.

Size/complexity: medium-to-large; ~247 stars; COBOL ~84% with JCL ~6%; Apache-2.0. The richest single corpus here — best when you want one repo that exercises the whole discovery workflow.

Finding more

When a listed repo is gone or you need a different flavor, run these searches and verify each finalist before trusting it (open the repo page, or gh api repos/OWNER/NAME).

GitHub CLI:

Terminal window
gh search repos --language=RPGLE --sort=stars
gh search repos rpg as400 --sort=updated
gh search repos ibm i sample application rpgle dds
gh search repos cobol cics sample --language=COBOL
gh search repos mainframe modernization sample --language=COBOL

GitHub API (topic and language filters):

Terminal window
gh api "search/repositories?q=language:RPGLE+topic:ibmi&sort=stars"
gh api "search/repositories?q=DDS+DSPF+RPGLE+in:readme"
gh api "search/repositories?q=cobol+jcl+cics+sample&sort=stars"

GitHub web search (paste into the search box):

language:RPGLE
language:COBOL cics sample
topic:ibmi rpgle dds
topic:as400
topic:mainframe cobol jcl

Per-repo verification (preferred):

Terminal window
gh api repos/OWNER/NAME --jq '.full_name,.description,.stargazers_count,.language,.size,.pushed_at'

Owners and orgs worth browsing for IBM i / RPG samples:

  • IBM (see ibmi-company_system, ibmi-tobi, ibmi-oss-examples)
  • codefori (Code for IBM i tooling and demos)
  • worksofliam (blog and sample repos)
  • PoC-dev, SJLennon, mrKlar (community RPG/DDS/CL collections)