CrossWayAI README
A VS Code extension that visualizes code dependencies for Progress OpenEdge ABL projects, to help developers understand project structure, navigate relationships between files and modules, and identify coupling and architectural issues. Visualize file, module, and symbol dependencies in VS Code with AI-assisted analysis. The extension uses AI to generate and update interactive dependency graphs, enabling faster code comprehension, refactoring, and architectural insights.
Features
- Automated Project Analysis: Scans your OpenEdge ABL project to discover all source files (
.p, .w, .cls, .i).
- Windows/Unix support: Supports both types of operation systems VSCode workspaces
- Single/Multi-Project Workspace Support: Supports workspaces containing either single or multiple OpenEdge projects.
- Dependency Mapping: Triggers a deep analysis using an underlying ABL script to generate a dependency map.
- Proparse Support Integrated Proparse support to enable more complex code analysis in later releases
- Context Menu Integration: Access diagram generation commands directly from the editor or explorer context menus for quick analysis.
- AI support integration: Several Diagram functionalities are handled via existing AI tooling (vscode / html): Table Relations Diagram, node functional description etc.
- Multiple Diagram Types: Provides commands to generate various diagrams to visualize your application's architecture, including:
- Impact Diagram
- Include Diagram
- Interface Diagram
- Inheritance Diagram
- Call Diagram
- Package Diagram
- Instance Chain Diagram
- Property Access Diagram
- Table Relations Diagram
Requirements
- Progress OpenEdge 11.7 - 12.8 installation.
- OpenEdge ABL VS Code extension (installed automatically with CrossWayAI)
- Java JDK installation (needed by Proparse to run)
- Workspace configuration file (
.code-workspace) present in the workspace root folder, next to the workspace project folders
AI Configuration
In order to use the integrated AI support you need to set the AI enabled = true (disabled by default)
CrossWayAI supports both external AI providers (OpenAI-compatible APIs) and VS Code Language Models.
For detailed setup instructions, see: AI Configuration Guide
Java Configuration
To use Proparse support, you need to have a correctly installed and configured JDK in the PATH environment variable. This is mandatory for the Proparse functionalities to be available.
Before You Start
Important: CrossWayAI requires your ABL sources to be compiled. It reads .xref
files produced by the OpenEdge ABL extension's background builder — without them, no
dependency data will be available.
Complete the OpenEdge ABL extension setup
first and make sure your project compiles successfully before running CrossWayAI.
Getting Started
- Open your OpenEdge ABL project workspace in VS Code.
- Open the Command Palette (
Ctrl+Shift+P).
- Run the "CrossWayAI: Generate Dependency Map" command.
- This will create a
.crosswayai directory in your workspace root, generate an initial dsMap.json file containing your project's source files, and then execute the backend ABL process for a full analysis.

Run the "CrossWayAI: Dump All DB Definitions" command
- This will dump all databases configured in the openedge-project.json under the
.crosswayai\dump directory in your workspace root.

(optionally) run the "CrossWayAI: Proparse All Projects" command
- This will output corresponding proparse files of all workspace ABL files under the
.crosswayai\proparse directory in your workspace root.
Once the analysis is complete, you can use the other commands to generate specific diagrams or to view the corresponding XREF or Proparse content of an ABL file.
Diagram Exclusions
You can hide specific files or folders from generated diagrams by adding paths to the excludes array in .crosswayai/crosswayai_settings.json.
For detailed setup instructions, see: Diagram Exclusions Guide
Extension Commands
The following commands are available in the Command Palette :
CrossWayAI: Generate Dependency Map: The primary command to kick off the full analysis of the workspace projects' files.
CrossWayAI: Dump All DB Definitions: Helper command to dump the current workspace databases schema definition files in order to
enable users to generate table relationship diagrams using the chat agent.
CrossWayAI: Proparse All Projects: (optional) Helper command to output proparse files for the whole workspace
and via context menus:
Diagram:
Impact: Generate an impact analysis diagram for the selected file.
Include: Generate an include diagram for the selected file
Interface: Generate an interface diagram for the selected class or interface.
Inheritance: Generate an inheritance diagram for the selected class.
Call: Generate a call (invoke and run) diagram for the selected class, procedure or .w .
Package: Generate a package diagram for the selected file.
Instance Chain: Generate an instantiation chain diagram for the selected file.
Property Access: Generate a property access chain diagram for the selected file.
File:
XREF: Open the corresponding XREF file for the selected file.
PROPARSE: Open the corresponding Proparse file for the selected file.

Table Relations Diagram: Generate the selected .df file's tables relations diagram using chat agent

View diagram: Open the CrossWayAI Viewer for the selected .md file

Release Notes
1.9.0
- Improvements:
- added UNIX support to the extension, all commands should work both under Windows and Unix operating system workspaces
- added support to output the Proparse files of the whole workspace and menu command to view the proparse file content of a certain ABL file
- added support to handle .pl class references as well, showing the virtual nodes with a purple colour border
- added support for excluding certain files or complete folders from diagram generation. See
Diagram Exclusions section above
- moved the file node search count inside the node search box in the
CrossWayAI Viewer
- refactored link tooltip to show separate sections for Invoke, Run and Property
- added double-click events on link tooltip and signature tooltip for quick navigation to the specific method, property or internal procedure
- code refactorings for better maintainability
- Bug Fixes:
- correction for
Export Image functionality in CrossWayAI Viewer
- corrected automatic refresh of the
CrossWayAI Viewer on every code base change that creates / deletes / updates an .xref file
- adjusted padding so that top-right file nodes are fully visible and locked the panel of the
CrossWayAI Viewer so that opening other file will not hide the viewer.
- corrected AI summary tooltip copy button functionality
For the full release history, see the CHANGELOG.
Enjoy!