This repository contains a sophisticated COBOL modernization toolkit that uses AI agents to analyze, extract business logic from, and convert legacy COBOL code to modern Java (Quarkus) or C# (.NET) applications. The system features an agent-based architecture with specialized agents for structural analysis, business logic extraction, dependency mapping, and code conversion. It includes a web portal for monitoring migration progress, visualizing dependency graphs, and interacting with AI assistants. The toolkit handles large COBOL files through intelligent semantic chunking that preserves code context across chunks, and uses a hybrid persistence approach (SQLite for metadata, Neo4j for graph visualization) to store migration artifacts. Key innovations include a three-tier complexity reasoning system that dynamically adjusts AI effort based on code complexity, semantic unit-aware chunking, and cross-chunk consistency mechanisms for type mappings and signatures.
This repository is a polyglot web converter application built with Next.js. It provides a large collection of code transformations (e.g., JSON to TypeScript, SVG to JSX, GraphQL to Resolvers, HTML to Pug, etc.) in a user-friendly two-pane editor interface. The architecture is a monolith with each transformation implemented as a separate page under `pages/`, all sharing a common `ConversionPanel` component that manages the input/output editors, web workers for heavy processing, and server-side API routes for a few transforms that require Node.js native modules. External dependencies include numerous npm libraries for the actual conversion logic (e.g., `json_typegen_wasm`, `@svgr/core`, `graphql-codegen`), the Monaco editor for code editing, and the evergreen-ui component library for the UI. The application uses web workers extensively (via a custom `workerWrapper` utility) to offload CPU-intensive conversions off the main thread, ensuring a responsive UI. Data flows from the user's input editor, through a transformer function (which may call a web worker or an API endpoint), and into the output editor, with results automatically formatted by Prettier. The codebase is well-structured with a consistent pattern for each converter, making it straightforward to add new transformations.