Skip to content

oscharko-dev/c2c-PreBeta

Repository files navigation

c2c : COBOL-to-Code

Experience Learning Harness · Open Source · Open Weight · EU Sovereignty

Think Big, Start Small.

This repository is the W0 platform foundation for a polyglot service mesh that prepares and validates COBOL-to-code migrations. The initial walking skeleton is intentionally constrained, deterministic, and reproducible.

W0 Repository Architecture

The W0 architecture is organized as a microservice repository with one service skeleton per supported runtime:

  • services/java/w0-service (Java 21 + Maven)
  • services/cobol-parser-service (Java 21 + Maven, W0 COBOL S0/S1 parser)
  • services/semantic-ir-service (Java 21 + Maven, Semantic IR v0 normalizer)
  • services/go/w0-service (Go 1.22 + Modules)
  • services/agentic-harness-core (Go control-plane for registries and run-state)
  • services/python/w0-service (Python 3.12 + stdlib tests)
  • services/typescript/w0-service (TypeScript + Node 20)

W0 remains Java-first for platform orchestration, while every additional target language must follow the target-generator contract defined in this repository (scripts, folder layout, artifact naming, and CI checks).

Bootstrap (Local)

A clean checkout can be prepared with:

./scripts/bootstrap.sh
./scripts/validate-platform.sh

Required tooling (optional per language when you touch that service)

  • Bash-compatible shell
  • Git 2.31+
  • Java 21 + Maven 3.9+
  • Go 1.22+
  • Python 3.12+
  • Node.js 20+
  • Docker (for container checks and local image builds)

The bootstrap script verifies repository health and prints per-service command helpers.

Local dev sweet-spot setup (recommended)

Use this setup to keep development fast while retaining reproducible behavior:

  • Go 1.26+
  • Java 21 + Maven 3.9+
  • Rust (via rustup, usually latest stable)
  • Docker for container/runtime validation
# Install/refresh toolchain (macOS/Homebrew)
brew install go maven openjdk@21 rustup-init

# Configure Java 21 and Rust in this shell
export JAVA_HOME="/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home"
export PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH"
export CPPFLAGS="-I/opt/homebrew/opt/openjdk@21/include"
source "$HOME/.cargo/env"

# Repository bootstrap + checks
./scripts/bootstrap.sh
./scripts/go-check.sh
./scripts/java-check.sh
./scripts/python-check.sh
./scripts/typescript-check.sh
./scripts/license-sbom.sh

Minimal validation (run on every new machine/session):

go version
mvn -v
java -version
cargo --version
docker --version
./scripts/bootstrap.sh

Service commands

# Java
./scripts/java-check.sh

# Go
./scripts/go-check.sh

# Python
./scripts/python-check.sh

# TypeScript
./scripts/typescript-check.sh

Shared checks

# Security + dependency visibility baseline
./scripts/license-sbom.sh

# Full local verification (best effort)
make ci-checks

Alternatively:

make dev-check

CI and quality gates

Pull request CI runs:

  • Repository hygiene and bootstrap validation
  • Per-language lint and unit-test gate (service touched in W0 layout)
  • Secret scan baseline (patterns.yaml + secret linter)
  • Dependency manifest generation
  • License + SBOM artifact generation

The baseline is intentionally lightweight for W0 and tuned for predictability.

Artifact and versioning

W0 artifacts are versioned by convention using SemVer + git revision:

<service>-<lang>-v<major>.<minor>.<patch>-<sha>-<yyyymmddThhmmssZ>

Examples:

  • w0-service-java-v0.1.0-7f3c2a1-20260514T101010Z
  • w0-service-python-v0.1.0-7f3c2a1-20260514T101010Z

The canonical version source is artifacts/build-metadata.json, produced by the CI scripts.

Repo layout map

.github/
  workflows/
    ci.yml                 # foundational pull checks
    platform-baseline.yml  # language, supply-chain and artifact gates
services/
  go/w0-service/
  java/w0-service/
  cobol-parser-service/
  semantic-ir-service/
  python/w0-service/
  typescript/w0-service/
scripts/
  bootstrap.sh
  ci-checks.sh
  go-check.sh
  java-check.sh
  license-sbom.sh
  python-check.sh
  typescript-check.sh
  secret-scan.sh
  build-metadata.sh
docs/
  corpus/
  governance/
  adr/

W0 safety constraints

See CONTRIBUTING.md for issue, branch, PR, and ADR workflow entrypoints.

  • No customer source code in W0.
  • No externally sourced data is required to run W0 services.
  • Public examples and templates used here are only those explicitly approved for W0.
  • Every change must be traceable to an issue and PR.

About

COBOL to Code

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors