The Moderne CLI has always been a powerful way to run OpenRewrite recipes across many repositories. But with version 3.45, it becomes something much bigger: a platform for sharing structure, state, and context across teams, business units, and the entire organization. This release introduces a fundamental shift in how transformations are executed and coordinated, pushing the CLI from a local tool to an organization-aware engine for change.
Organizing code for collaboration
One of the biggest shifts in 3.45 is how the CLI represents repositories in your organization. With mod git sync
, the CLI now aligns your local directory structure with the structure defined in your repos.csv
. Repositories are grouped into folders that reflect your organizational hierarchy, however it is configured—subteam, business unit, product line, or the entire company.
The legacy mod git clone
command has been deprecated in favor of mod git sync
, which does more than just cloning code. It synchronizes the local directory structure with your source of truth, downloading both repository metadata, LSTs, and optionally the source code itself (using --with-sources
). Each directory gains a .moderne/repos-lock.csv
file, capturing the exact state of the repository: branch, commit, artifact location, and organizational placement. It’s the Moderne CLI equivalent of npm’s package-lock.json
, ensuring that anyone else syncing the same file ends up with the same structure and metadata.

Structured collaboration without cloning
With Moderne CLI 3.45, cloning full repositories is now optional. Instead, teams can sync only the LSTs and work directly on structured metadata without ever touching the source. This opens up entirely new ways to collaborate:
- Sync with published LSTs without a direct connection to a Moderne tenant; you can publish your
repos.csv
file in a shared location for anyone to consume - Analyze change impact via data tables using
mod study
- Feed AI/code agents like Moddy without needing the source tree
- Collaborate securely in restricted or regulated environments where source access is limited
- Explore diffs and proposed changes from recipe runs before opening a PR or committing code
By decoupling transformation from source code access, the CLI empowers team members at every level to participate in modernization workflows.
From one CLI to many teams
The CLI is now deeply aware of organizational boundaries. Commands like mod run
, mod study
, and mod devcenter
have been enhanced to produce outputs on disk that reflect the org hierarchy.
You can run these commands from any level of the directory structure, targeting all sub-orgs at the root, or limiting the scope using a simple cd command and running it from lower levels of the tree. Each command produces outputs recursively for each org and sub-org from the level at which it was run. That means better scoping and clearer ownership when running and sharing reports.

But it’s not just about running recipes across organizations, it’s also about how teams contribute to and reuse the recipes themselves. To support inner-source practices, Moderne CLI makes it simple to distribute and install custom recipes. Use mod config recipes export
to generate a catalog of available recipes for documentation or internal portals. Or share your custom recipes as .jar
files that colleagues can install with mod config recipes jar install
.
All of these improvements make the CLI especially valuable for:
- Development leaders tracking modernization or migration progress (using custom dashboards generated by
mod devcenter
) - Product teams evaluating what changes are coming and why they matter
- Central platform teams comparing rollouts across business units
Reporting and traceability as first-class features
CLI workflows at scale demand observability. With 3.45, Moderne introduces structured trace files that persist across every major phase: sync, build, run. These trace.json
or trace.csv
files capture both activity and failure information, and propagate errors forward so they can be debugged in context.
For example:
- If a repo fails to clone, that failure is also visible in the build and run traces.
- If a build fails, its error details are preserved into the run trace.
- Build logs include metadata about the build, which can help cluster or filter failures based on things like build tool.
The mod log runs
command aligns with these trace files to produce structured, spreadsheet-friendly reports. And for visual inspection, mod trace builds analyze
can launch a local web-based viewer of build failure data.
This makes it easier to do postmortems, audits, and troubleshooting. Teams can even wrap the CLI in a shell script and use it to wire up a BI integration and ship the data to their specific reporting platform.
Performance and polish
To keep up with growing repo volumes and complex orgs, 3.45 also introduces several under-the-hood improvements:
- Parallel by default: no more sequential mass runs unless explicitly configured
- Treeless and single-branch clones: significantly reduce network and disk usage
- Improved output styling: supports richer terminals with OSC-8 links, extended UTF-8 characters, and better formatting and color-coded text
These changes make the CLI more responsive and usable as both an interactive and automated tool.
A CLI built for large-scale modernization
Version 3.45 turns the Moderne CLI into more than just a tool for running recipes. It becomes a tool for coordinating transformation across an organization. It supports the way modern teams work: distributed, fast-moving, and deeply interconnected.
It’s also a glimpse into the future. The same CLI developers use locally will drive backend workers in the Moderne Platform. Whether you're transforming code from a terminal, a CI job, or a dashboard, it's powered by the same core workflows.
Now the Moderne CLI isn’t just for running recipes, it’s for running transformation.
Download the Moderne CLI and learn more in the documentation.