Skip to main content

Moderne CLI reference

Table of contents​

mod​

Automated code remediation.

Usage​

mod [subcommands]

Options​

NameDescription
--versionDisplay version info.

Subcommands​

  • amp: (INCUBATING) Launches an Amp session configured to use mod for deterministic multi-repository work.
  • audit: (INCUBATING) Perform an audit of recent activity.
  • build: Generates LST artifacts for one or more repositories.
  • claude: (INCUBATING) Launches a Claude Code session configured to use mod for deterministic multi-repository work.
  • clean: Clean build and run artifacts produced by the CLI.
  • codex: (INCUBATING) Launches a Codex session configured to use mod for deterministic multi-repository work.
  • config: Global configuration options that are required by some CLI commands.
  • copilot: (INCUBATING) Launches a GitHub Copilot session configured to use mod for deterministic multi-repository work.
  • cursor: (INCUBATING) Launches a Cursor session configured to use mod for deterministic multi-repository work.
  • doctor: Checks that this machine and the CLI's configuration can build and publish LSTs.
  • devcenter: Generate DevCenter dashboards.
  • exec: Execute an arbitrary shell command on selected repositories and partitions.
  • git: Multi-repository git operations.
  • kiro: (INCUBATING) Launches a Kiro session configured to use mod for deterministic multi-repository work.
  • log: Manages a log aggregate.
  • list: Lists the repositories that can be built and published.
  • login: Logs the CLI into Moderne
  • monitor: (INCUBATING) Launches an HTTP server used to monitor the CLI.
  • opencode: (INCUBATING) Launches an opencode session configured to use mod for deterministic multi-repository work.
  • prebuild: Extracts build metadata without parsing source files.
  • publish: Publishes the LST artifacts for one or more projects.
  • run: Runs an OpenRewrite recipe locally on pre-built LSTs.
  • run-history: Get information about the most recent recipe runs. This will be transitioning to mod audit runs list eventually. A deprecation notice will be added here when we suggest adopting the alternative.
  • search: Search repositories using trigram indexes.
  • study: Produces studies from OpenRewrite recipe data tables locally.
  • telemetry: Manage CLI telemetry pushed to the configured Moderne tenant.
  • trace: Manages trace analysis tools.
  • vscode: (INCUBATING) Launches a Visual Studio Code Chat session configured to use mod for deterministic multi-repository work.
  • windsurf: (INCUBATING) Launches a Windsurf session configured to use mod for deterministic multi-repository work.
  • wrapper: Create or configure a Moderne wrapper.

mod amp​

(INCUBATING) Launches an Amp session configured to use mod for deterministic multi-repository work.

Usage​

mod amp [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches an Amp session configured to use mod for deterministic multi-repository work.

mod amp chat​

(INCUBATING) Launches an Amp session configured to use mod for deterministic multi-repository work.

Launches an Amp session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod amp chat [parameters]

Examples​

mod amp chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod audit​

(INCUBATING) Perform an audit of recent activity.

Sources information from the activity log kept locally to provide reports in various forms.

Usage​

mod audit [subcommands]

Subcommands​

  • builds: (INCUBATING) Perform an audit of recent build activity.
  • runs: (INCUBATING) Perform an audit of recent recipe running activity.

mod audit builds​

(INCUBATING) Perform an audit of recent build activity.

Sources information from the activity log kept locally to provide reports on LST building activity.

Usage​

mod audit builds [subcommands]

Subcommands​

  • list: (INCUBATING) Prints build activity to standard output.

mod audit builds list​

(INCUBATING) Prints build activity to standard output.

Provides a form of build activity that can be directly consumed by reading standard output.

Usage​

mod audit builds list [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--streaming(INCUBATING) Stream results from the audit to the console as they are produced. This is intended to be machine readable for the creation of incremental experiences like usage search in the IDE.

mod audit runs​

(INCUBATING) Perform an audit of recent recipe running activity.

Sources information from the activity log kept locally to provide reports on recipe running activity.

Usage​

mod audit runs [subcommands]

Subcommands​

  • list: (INCUBATING) Prints recipe run activity to standard output.

mod audit runs list​

(INCUBATING) Prints recipe run activity to standard output.

Provides a form of recipe run activity that can be directly consumed by reading standard output.

Usage​

mod audit runs list [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--streaming(INCUBATING) Stream results from the audit to the console as they are produced. This is intended to be machine readable for the creation of incremental experiences like usage search in the IDE.

mod build​

Generates LST artifacts for one or more repositories.

Once generated, the artifacts can be uploaded to your artifact management tool so that Moderne can ingest them or they can be used to run recipes locally.

While it is possible to manually build and publish your artifacts, we strongly recommend automating this. Please see the moderneinc/mass-ingest-example repository on GitHub for an idea of how to do that.

If the path itself is not a Git repository, then this command will recursively look through the directories to find Git repositories that match the repository-* options.

If this command executes successfully, the LST artifact for each project will be stored in a .moderne/build directory inside of each repository that is built.

This command always builds LSTs locally. To download the LSTs that Moderne has for an organization, use mod git sync moderne <path> --organization <name> instead (add --with-sources to also clone the source code).

Usage​

mod build [parameters]

Examples​

mod build /path/to/project

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--dry-runDo not actually build the LST(s), but list the steps that would be required to do so.
--fullForce a full prebuild and parse, ignoring any cached prebuild metadata.
--incremental(INCUBATING) Update the most recent build in place, rebuilding only what changed since it, instead of producing a fresh full build. Falls back to a full build when no build tool supports it.
--offlineWhen an underlying build tool has an offline mode, enable it.
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--streaming(INCUBATING) Stream results from the build to the console as they are produced. This is intended to be machine readable for the creation of incremental experiences like in the IDE.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod claude​

(INCUBATING) Launches a Claude Code session configured to use mod for deterministic multi-repository work.

Usage​

mod claude [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a Claude Code session configured to use mod for deterministic multi-repository work.

mod claude chat​

(INCUBATING) Launches a Claude Code session configured to use mod for deterministic multi-repository work.

Launches a Claude Code session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod claude chat [parameters]

Examples​

mod claude chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod clean​

Clean build and run artifacts produced by the CLI.

Can be filtered to only clean certain artifacts.

Usage​

mod clean [subcommands]

Examples​

mod clean builds /path/to/project --keep 1

Subcommands​

  • builds: Clean build artifacts produced by the CLI.
  • runs: Clean run artifacts produced by the CLI.
  • repos: Clean repositories left in a partial-success state by past sync runs.

mod clean builds​

Clean build artifacts produced by the CLI.

Can be filtered to only clean certain artifacts.

Usage​

mod clean builds [parameters]

Examples​

mod clean builds /path/to/project --keep 1

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--keepKeep this many run artifacts and clean all others.

mod clean runs​

Clean run artifacts produced by the CLI.

Can be filtered to only clean certain artifacts.

Usage​

mod clean runs [parameters]

Examples​

mod clean runs /path/to/project --keep 1

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--keepKeep this many run artifacts and clean all others.

mod clean repos​

Clean repositories left in a partial-success state by past sync runs.

Removes repositories whose latest sync failed (sync-failed), that completed syncing but never built an LST (no-lst), or that exist on disk but are no longer present in the organization structure (not-in-org). These otherwise show up as partial successes in subsequent operations.

Usage​

mod clean repos [parameters]

Examples​

mod clean repos /path/to/project

mod clean repos /path/to/project --dry-run

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
-l, --no-lstRemove repositories that completed sync but never built an LST.
-n, --dry-runList what would be deleted without deleting anything.
-o, --not-in-orgRemove directories on disk that are not in the current organization structure.
-s, --sync-failedRemove repositories whose latest sync failed or was canceled.

mod codex​

(INCUBATING) Launches a Codex session configured to use mod for deterministic multi-repository work.

Usage​

mod codex [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a Codex session configured to use mod for deterministic multi-repository work.

mod codex chat​

(INCUBATING) Launches a Codex session configured to use mod for deterministic multi-repository work.

Launches a Codex session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod codex chat [parameters]

Examples​

mod codex chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod config​

Global configuration options that are required by some CLI commands.

Configuration set here is used as needed in all subsequent commands.

Usage​

mod config [subcommands]

Examples​

mod config moderne edit --api <tenant-api-gateway> --token <token>

Subcommands​

  • agent-tools: Manage Moderne agent tools for coding agents.
  • build: Configures build tools used to produce LSTs.
  • clone: Configures cloning behavior.
  • comms: Configures communication channels for factory notifications.
  • dotnet: Configures DotNet options used for building LSTs and running recipes.
  • environment: The build environment that the CLI is running in.
  • exec: Configures shell command execution behavior.
  • features: Configures experimental features.
  • go: Configures Go options used for building LSTs and running recipes.
  • http: Configures HTTP options that will be used throughout the CLI.
  • java: Configures Java options used for building LSTs and running recipes.
  • license: Configure a license key.
  • lsts: Configures LSTs production and publishing.
  • metrics: Configures metrics publishing.
  • moderne: Configures the connection to Moderne. Must be configured before you can install and run recipes.
  • node: Configures Node options used for building LSTs and running recipes.
  • python: Configures Python options used for building LSTs and running recipes.
  • recipes: Configures the recipe marketplace available to the CLI. Must be configured before you can run recipes.
  • run: Configures recipe run behavior.
  • scm: (DEPRECATED) Configures source code management.
  • secrets: Configures how secrets in the configuration are kept.
  • telemetry: Configures CLI telemetry.

mod config agent-tools​

Manage Moderne agent tools for coding agents.

Install and update Moderne agent tools (skills and MCP servers) for Claude Code, Windsurf, Cursor, GitHub Copilot, GitHub Copilot CLI, Sourcegraph Amp, OpenAI Codex, opencode, and Kiro.

Usage​

mod config agent-tools [subcommands]

Examples​

mod config agent-tools install

Subcommands​

  • install: Creates or updates Moderne agent tools for coding agents.
  • uninstall: Removes Moderne agent tools from coding agents.
  • skills: Manage Moderne skills for coding agents.
  • claude: Manage Moderne agent tools for Claude Code.
  • windsurf: Manage Moderne agent tools for Windsurf.
  • cursor: Manage Moderne agent tools for Cursor.
  • copilot: Manage Moderne agent tools for GitHub Copilot.
  • amp: Manage Moderne agent tools for Sourcegraph Amp.
  • codex: Manage Moderne agent tools for OpenAI Codex.
  • opencode: Manage Moderne agent tools for opencode.
  • kiro: Manage Moderne agent tools for Kiro.
  • prethink: Configures the Prethink context refreshed live by the Moderne MCP server.

mod config agent-tools install​

Creates or updates Moderne agent tools for coding agents.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) and registers the Moderne MCP server for all detected coding agents (Claude Code, Windsurf, Cursor, GitHub Copilot, GitHub Copilot CLI, Sourcegraph Amp, OpenAI Codex, opencode, Kiro). Safe to run multiple times — existing installations are updated in place.

Usage​

mod config agent-tools install

Examples​

mod config agent-tools install

mod config agent-tools uninstall​

Removes Moderne agent tools from coding agents.

Removes skills and unregisters the Moderne MCP server from all detected coding agents (Claude Code, Windsurf, Cursor, GitHub Copilot, GitHub Copilot CLI, Sourcegraph Amp, OpenAI Codex, opencode, Kiro).

Usage​

mod config agent-tools uninstall

Examples​

mod config agent-tools uninstall

mod config agent-tools skills​

Manage Moderne skills for coding agents.

Install or remove only the Moderne skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) for all detected coding agents, without modifying MCP server registrations. Use 'mod config agent-tools install' to install both skills and the MCP server together.

Usage​

mod config agent-tools skills [subcommands]

Examples​

mod config agent-tools skills install

Subcommands​

  • install: Install Moderne skills to all detected coding agents.
  • uninstall: Remove Moderne skills from all detected coding agents.

mod config agent-tools skills install​

Install Moderne skills to all detected coding agents.

Installs only the skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) to all detected coding agents without registering the MCP server. Use 'mod config agent-tools install' to install both skills and the MCP server together.

Usage​

mod config agent-tools skills install

Examples​

mod config agent-tools skills install

mod config agent-tools skills uninstall​

Remove Moderne skills from all detected coding agents.

Removes only the skills from all detected coding agents without unregistering the MCP server.

Usage​

mod config agent-tools skills uninstall

Examples​

mod config agent-tools skills uninstall

mod config agent-tools claude​

Manage Moderne agent tools for Claude Code.

Installs skills as a Claude Code plugin under ~/.claude/marketplaces/moderne/ and registers the MCP server via the 'claude' CLI.

Usage​

mod config agent-tools claude [subcommands]

Examples​

mod config agent-tools claude install

Subcommands​

  • install: Install Moderne agent tools for Claude Code.
  • uninstall: Remove Moderne agent tools from Claude Code.

mod config agent-tools claude install​

Install Moderne agent tools for Claude Code.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) as a Claude Code plugin and registers the Moderne MCP server via the 'claude' CLI. Safe to run multiple times.

Usage​

mod config agent-tools claude install

Examples​

mod config agent-tools claude install

mod config agent-tools claude uninstall​

Remove Moderne agent tools from Claude Code.

Removes skills and unregisters the Moderne MCP server from Claude Code.

Usage​

mod config agent-tools claude uninstall

Examples​

mod config agent-tools claude uninstall

mod config agent-tools windsurf​

Manage Moderne agent tools for Windsurf.

Installs skills under ~/.codeium/windsurf/skills/ and registers the MCP server in ~/.codeium/windsurf/mcp_config.json.

Usage​

mod config agent-tools windsurf [subcommands]

Examples​

mod config agent-tools windsurf install

Subcommands​

  • install: Install Moderne agent tools for Windsurf.
  • uninstall: Remove Moderne agent tools from Windsurf.

mod config agent-tools windsurf install​

Install Moderne agent tools for Windsurf.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) under ~/.codeium/windsurf/skills/ and registers the Moderne MCP server in ~/.codeium/windsurf/mcp_config.json. Safe to run multiple times.

Usage​

mod config agent-tools windsurf install

Examples​

mod config agent-tools windsurf install

mod config agent-tools windsurf uninstall​

Remove Moderne agent tools from Windsurf.

Removes skills and unregisters the Moderne MCP server from Windsurf.

Usage​

mod config agent-tools windsurf uninstall

Examples​

mod config agent-tools windsurf uninstall

mod config agent-tools cursor​

Manage Moderne agent tools for Cursor.

Installs skills as .mdc rule files in .cursor/rules/ and registers the MCP server in ~/.cursor/mcp.json.

Usage​

mod config agent-tools cursor [subcommands]

Examples​

mod config agent-tools cursor install

Subcommands​

  • install: Install Moderne agent tools for Cursor.
  • uninstall: Remove Moderne agent tools from Cursor.

mod config agent-tools cursor install​

Install Moderne agent tools for Cursor.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) as .mdc rule files in .cursor/rules/ and registers the Moderne MCP server in ~/.cursor/mcp.json. Safe to run multiple times.

Usage​

mod config agent-tools cursor install

Examples​

mod config agent-tools cursor install

mod config agent-tools cursor uninstall​

Remove Moderne agent tools from Cursor.

Removes skills and unregisters the Moderne MCP server from Cursor.

Usage​

mod config agent-tools cursor uninstall

Examples​

mod config agent-tools cursor uninstall

mod config agent-tools copilot​

Manage Moderne agent tools for GitHub Copilot.

Installs skills via .github/instructions/ and registers the MCP server in both .vscode/mcp.json and ~/.copilot/mcp-config.json.

Usage​

mod config agent-tools copilot [subcommands]

Examples​

mod config agent-tools copilot install

Subcommands​

  • install: Install Moderne agent tools for GitHub Copilot.
  • uninstall: Remove Moderne agent tools from GitHub Copilot.

mod config agent-tools copilot install​

Install Moderne agent tools for GitHub Copilot.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) as instruction files in .github/instructions/ and registers the Moderne MCP server in both .vscode/mcp.json and ~/.copilot/mcp-config.json. Safe to run multiple times.

Usage​

mod config agent-tools copilot install

Examples​

mod config agent-tools copilot install

mod config agent-tools copilot uninstall​

Remove Moderne agent tools from GitHub Copilot.

Removes skills and unregisters the Moderne MCP server from GitHub Copilot.

Usage​

mod config agent-tools copilot uninstall

Examples​

mod config agent-tools copilot uninstall

mod config agent-tools amp​

Manage Moderne agent tools for Sourcegraph Amp.

Installs skills under ~/.config/agents/skills/ and registers the MCP server via the 'amp' CLI.

Usage​

mod config agent-tools amp [subcommands]

Examples​

mod config agent-tools amp install

Subcommands​

  • install: Install Moderne agent tools for Sourcegraph Amp.
  • uninstall: Remove Moderne agent tools from Sourcegraph Amp.

mod config agent-tools amp install​

Install Moderne agent tools for Sourcegraph Amp.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) under ~/.config/agents/skills/ and registers the Moderne MCP server via the 'amp' CLI. Safe to run multiple times.

Usage​

mod config agent-tools amp install

Examples​

mod config agent-tools amp install

mod config agent-tools amp uninstall​

Remove Moderne agent tools from Sourcegraph Amp.

Removes skills and unregisters the Moderne MCP server from Sourcegraph Amp.

Usage​

mod config agent-tools amp uninstall

Examples​

mod config agent-tools amp uninstall

mod config agent-tools codex​

Manage Moderne agent tools for OpenAI Codex.

Installs skills under ~/.agents/skills/ and registers the MCP server via the 'codex' CLI.

Usage​

mod config agent-tools codex [subcommands]

Examples​

mod config agent-tools codex install

Subcommands​

  • install: Install Moderne agent tools for OpenAI Codex.
  • uninstall: Remove Moderne agent tools from OpenAI Codex.

mod config agent-tools codex install​

Install Moderne agent tools for OpenAI Codex.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) under ~/.agents/skills/ and registers the Moderne MCP server via the 'codex' CLI. Safe to run multiple times.

Usage​

mod config agent-tools codex install

Examples​

mod config agent-tools codex install

mod config agent-tools codex uninstall​

Remove Moderne agent tools from OpenAI Codex.

Removes skills and unregisters the Moderne MCP server from OpenAI Codex.

Usage​

mod config agent-tools codex uninstall

Examples​

mod config agent-tools codex uninstall

mod config agent-tools opencode​

Manage Moderne agent tools for opencode.

Installs skills under ~/.config/opencode/skills/ (auto-discovered by opencode) and registers the Moderne MCP server in ~/.config/opencode/opencode.json(c).

Usage​

mod config agent-tools opencode [subcommands]

Examples​

mod config agent-tools opencode install

Subcommands​

  • install: Install Moderne agent tools for opencode.
  • uninstall: Remove Moderne agent tools from opencode.

mod config agent-tools opencode install​

Install Moderne agent tools for opencode.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) under ~/.config/opencode/skills/ and registers the Moderne MCP server in ~/.config/opencode/opencode.json. Safe to run multiple times.

Usage​

mod config agent-tools opencode install

Examples​

mod config agent-tools opencode install

mod config agent-tools opencode uninstall​

Remove Moderne agent tools from opencode.

Removes skills and unregisters the Moderne MCP server from opencode.

Usage​

mod config agent-tools opencode uninstall

Examples​

mod config agent-tools opencode uninstall

mod config agent-tools kiro​

Manage Moderne agent tools for Kiro.

Installs skills under ~/.kiro/skills/ and registers the MCP server in ~/.kiro/settings/mcp.json.

Usage​

mod config agent-tools kiro [subcommands]

Examples​

mod config agent-tools kiro install

Subcommands​

  • install: Install Moderne agent tools for Kiro.
  • uninstall: Remove Moderne agent tools from Kiro.

mod config agent-tools kiro install​

Install Moderne agent tools for Kiro.

Installs skills (edit-code, analyze-code, search-code, find-symbols, pattern-replace, inspect-status, change-symbols, query-datatable, create-recipe) under ~/.kiro/skills/ and registers the Moderne MCP server in ~/.kiro/settings/mcp.json. Safe to run multiple times.

Usage​

mod config agent-tools kiro install

Examples​

mod config agent-tools kiro install

mod config agent-tools kiro uninstall​

Remove Moderne agent tools from Kiro.

Removes skills and unregisters the Moderne MCP server from Kiro.

Usage​

mod config agent-tools kiro uninstall

Examples​

mod config agent-tools kiro uninstall

mod config agent-tools prethink​

Configures the Prethink context refreshed live by the Moderne MCP server.

While the LST (re)compiles in the background, mod mcp re-runs the configured Prethink recipe to keep .moderne/context/ fresh for coding agents. The recipe is identified by name; its artifact and version are managed via mod config recipes.

Usage​

mod config agent-tools prethink [subcommands]

Examples​

mod config agent-tools prethink edit --recipe io.moderne.prethink.UpdatePrethinkContextStarter --enabled

Subcommands​

  • edit: Configures the Prethink recipe refreshed live by the Moderne MCP server.
  • show: Displays the configured Prethink context recipe.
  • disable: Disables the live Prethink context refresh.

mod config agent-tools prethink edit​

Configures the Prethink recipe refreshed live by the Moderne MCP server.

The recipe must already be resolvable in the recipe marketplace; install it with mod config recipes first.

Usage​

mod config agent-tools prethink edit

Examples​

mod config agent-tools prethink edit --recipe io.moderne.prethink.UpdatePrethinkContextStarter --enabled

Options​

NameDescriptionExample
--enabledEnables the live Prethink context refresh. Disabled by default.
--optionA recipe option as key=value. May be repeated to supply multiple options.
--recipeThe fully-qualified name of the Prethink recipe to run on refresh.io.moderne.prethink.UpdatePrethinkContextStarter

mod config agent-tools prethink show​

Displays the configured Prethink context recipe.

Shows the recipe the Moderne MCP server runs to refresh .moderne/context/ and whether the refresh is enabled.

Usage​

mod config agent-tools prethink show

mod config agent-tools prethink disable​

Disables the live Prethink context refresh.

Removes the configured Prethink context recipe so the Moderne MCP server no longer refreshes .moderne/context/.

Usage​

mod config agent-tools prethink disable

mod config build​

Configures build tools used to produce LSTs.

Usage​

mod config build [subcommands]

Subcommands​

  • bazel: Configures Bazel as it is used for LST production.
  • dotnet: Configures dotnet as it is used for LST production.
  • environment: Configure environment variables to apply to build tool when building LSTs.
  • go: Configures Go as it is used to produce LSTs and run recipes.
  • gradle: Configures Gradle as it is used to resolve recipe dependencies and when running recipes.
  • javascript: Configures JavaScript/TypeScript as it is used to produce LSTs.
  • mainframe: Configures the mainframe parsers (Cobol, JCL, Control-M) as they are used for LST production.
  • maven: Configures Maven as it is used for LST production, resolving recipe dependencies, and when running recipes.
  • node: Configures Node as it is used for LST production.
  • parsers: Configure custom file-extension-to-parser mappings.
  • python: Configures Python as it is used for LST production.
  • resource: Configures the parsing of files no other build step claimed.
  • ruby: Configures Ruby as it is used for LST production.
  • style: Configures style settings used for LST production.

mod config build bazel​

Configures Bazel as it is used for LST production.

Usage​

mod config build bazel [subcommands]

Subcommands​

  • arguments: Configure Bazel build arguments.
  • executable: Configure Bazel executable.
  • timeout: Configure the build timeout.

mod config build bazel arguments​

Configure Bazel build arguments.

Build arguments are added to the end of the Bazel command line when building LSTs.

Usage​

mod config build bazel arguments [subcommands]

Subcommands​

  • delete: Removes additional build arguments for Bazel.
  • edit: Configure Bazel build arguments.
  • show: Displays the configured Bazel additional build arguments.

mod config build bazel arguments delete​

Removes additional build arguments for Bazel.

Usage​

mod config build bazel arguments delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel arguments edit​

Configure Bazel build arguments.

Build arguments are added to the end of the Bazel command line when building LSTs.

Usage​

mod config build bazel arguments edit

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel arguments show​

Displays the configured Bazel additional build arguments.

Usage​

mod config build bazel arguments show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel executable​

Configure Bazel executable.

Allows you to specify the location of a Bazel settings.xml file that should be used when Bazel is being used to resolve recipe dependencies or run recipes. You can also use an environment variable that points to location of the file with ${ENV_VAR} syntax.

Usage​

mod config build bazel executable [subcommands]

Subcommands​

  • delete: Removes the configured Bazel executable.
  • edit: Configure the Bazel executable.
  • show: Displays the configured Bazel executable.

mod config build bazel executable delete​

Removes the configured Bazel executable.

The CLI will revert to its default mode of detecting the Bazel executable.

Usage​

mod config build bazel executable delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel executable edit​

Configure the Bazel executable.

Determines whether bazelisk or bazel will be used.

Usage​

mod config build bazel executable edit [parameters]

Parameters​

NameDescription
executableThe bazel executable to use. This can be just bazelisk or bazel if either is on PATH or a fully qualified executable name if not.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel executable show​

Displays the configured Bazel executable.

Usage​

mod config build bazel executable show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build bazel timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build bazel timeout delete​

Removes the configured build timeout.

Usage​

mod config build bazel timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build bazel timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build bazel timeout show​

Displays the configured build timeout.

Usage​

mod config build bazel timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build dotnet​

Configures dotnet as it is used for LST production.

Usage​

mod config build dotnet [subcommands]

Subcommands​

  • nuget-config: Configure the nuget.config whose package sources dependency packages are fetched from.
  • timeout: Configure the build timeout.

mod config build dotnet nuget-config​

Configure the nuget.config whose package sources dependency packages are fetched from.

Converting an LST to version 3 builds a type table for each NuGet dependency from its published package, fetched from the package sources of this nuget.config, or of the user profile's when none is configured. You can also use an environment variable that points to the location of the file with ${ENV_VAR} syntax.

Usage​

mod config build dotnet nuget-config [subcommands]

Examples​

mod config build dotnet nuget-config edit <path-to-nuget.config>

Subcommands​

  • delete: Removes the configured nuget.config.
  • edit: Configure the nuget.config whose package sources dependency packages are fetched from.
  • show: Displays the configured nuget.config.

mod config build dotnet nuget-config delete​

Removes the configured nuget.config.

Usage​

mod config build dotnet nuget-config delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build dotnet nuget-config edit​

Configure the nuget.config whose package sources dependency packages are fetched from.

Usage​

mod config build dotnet nuget-config edit [parameters]

Examples​

mod config build dotnet nuget-config edit <path-to-nuget.config>

Parameters​

NameDescription
nugetConfigThe location of a nuget.config file to use.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build dotnet nuget-config show​

Displays the configured nuget.config.

Usage​

mod config build dotnet nuget-config show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build dotnet timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build dotnet timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build dotnet timeout delete​

Removes the configured build timeout.

Usage​

mod config build dotnet timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build dotnet timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build dotnet timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build dotnet timeout show​

Displays the configured build timeout.

Usage​

mod config build dotnet timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build environment​

Configure environment variables to apply to build tool when building LSTs.

Manages environment variables applied to build tool's execution environment.

Usage​

mod config build environment [subcommands]

Subcommands​

  • delete: Removes configured build environment variables.
  • edit: Configure environment variables to use when building LSTs.
  • show: Displays the configured build environment variables.

mod config build environment delete​

Removes configured build environment variables.

Usage​

mod config build environment delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build environment edit​

Configure environment variables to use when building LSTs.

Edits environment variables applied to build tool's execution environment.

Usage​

mod config build environment edit [parameters]

Parameters​

NameDescriptionExample
environmentKeyPairsEnvironment variables in KEY=VALUE format.MAVEN_OPTS=-Xmx2g NPM_TOKEN=secret123

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build environment show​

Displays the configured build environment variables.

Usage​

mod config build environment show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build go​

Configures Go as it is used to produce LSTs and run recipes.

Usage​

mod config build go [subcommands]

Examples​

mod config build go gomemlimit edit "8GiB"

Subcommands​

  • gomemlimit: Configure the Go runtime memory limit.
  • timeout: Configure the build timeout.

mod config build go gomemlimit​

Configure the Go runtime memory limit.

Sets the GOMEMLIMIT environment variable for the Go engine when building LSTs and running recipes. Accepts a Go memory limit such as '4GiB', '512MiB', or 'off'. Defaults to 4GiB.

Usage​

mod config build go gomemlimit [subcommands]

Subcommands​

  • delete: Removes the configured Go memory limit.
  • edit: Configure the Go runtime memory limit.
  • show: Displays the configured Go memory limit.

mod config build go gomemlimit delete​

Removes the configured Go memory limit.

Usage​

mod config build go gomemlimit delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build go gomemlimit edit​

Configure the Go runtime memory limit.

Sets the GOMEMLIMIT environment variable for the Go engine when building LSTs and running recipes.

Usage​

mod config build go gomemlimit edit [parameters]

Parameters​

NameDescription
valueThe Go memory limit, e.g. '4GiB', '512MiB', or 'off' to disable it.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build go gomemlimit show​

Displays the configured Go memory limit.

Usage​

mod config build go gomemlimit show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build go timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build go timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build go timeout delete​

Removes the configured build timeout.

Usage​

mod config build go timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build go timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build go timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build go timeout show​

Displays the configured build timeout.

Usage​

mod config build go timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle​

Configures Gradle as it is used to resolve recipe dependencies and when running recipes.

Usage​

mod config build gradle [subcommands]

Examples​

mod config build gradle arguments edit --refresh-dependencies

Subcommands​

  • arguments: Configure Gradle build arguments.
  • installation: Configures locations of Gradle installations that can be used by build tools.
  • timeout: Configure the build timeout.
  • version: Configures the Gradle version to use.

mod config build gradle arguments​

Configure Gradle build arguments.

Build arguments are added to the end of the Gradle command line when building LSTs.

Usage​

mod config build gradle arguments [subcommands]

Subcommands​

  • delete: Removes additional build arguments for Gradle.
  • edit: Configure Gradle build arguments.
  • show: Displays the configured Gradle additional build arguments.

mod config build gradle arguments delete​

Removes additional build arguments for Gradle.

Usage​

mod config build gradle arguments delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle arguments edit​

Configure Gradle build arguments.

Build arguments are added to the end of the Gradle command line when building LSTs.

Usage​

mod config build gradle arguments edit

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle arguments show​

Displays the configured Gradle additional build arguments.

Usage​

mod config build gradle arguments show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle installation​

Configures locations of Gradle installations that can be used by build tools.

Must be configured before you can run the build command if Gradle is installed in non-standard locations.

Usage​

mod config build gradle installation [subcommands]

Subcommands​

  • edit: Configures locations of Gradle installations that can be used by build tools.
  • delete: Removes the configured Gradle installations. The CLI will revert to using only detectable Gradle installations.
  • list: Displays the detected and configured Gradle installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config build gradle installation edit​

Configures locations of Gradle installations that can be used by build tools.

Must be configured before you can run the build command if Gradle is installed in non-standard locations.

Usage​

mod config build gradle installation edit [parameters]

Parameters​

NameDescription
gradleHomesThe paths on disk where Gradle installations (GRADLE_HOME directories) can be found.

mod config build gradle installation delete​

Removes the configured Gradle installations. The CLI will revert to using only detectable Gradle installations.

Usage​

mod config build gradle installation delete

mod config build gradle installation list​

Displays the detected and configured Gradle installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config build gradle installation list

Options​

NameDescription
--namedFilter the list of Gradle installations to .

mod config build gradle timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build gradle timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build gradle timeout delete​

Removes the configured build timeout.

Usage​

mod config build gradle timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build gradle timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle timeout show​

Displays the configured build timeout.

Usage​

mod config build gradle timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle version​

Configures the Gradle version to use.

Configure a version like "4.5", "8", or "8.1.1" depending on the degree of control needed.

Usage​

mod config build gradle version [subcommands]

Subcommands​

  • edit: Configures the Gradle version to use.
  • delete: Reverts to auto-detection of a Gradle version to use when building a repository.
  • show: Displays the configured Gradle version.

mod config build gradle version edit​

Configures the Gradle version to use.

Configure a version like "4.5", "8", or "8.1.1" depending on the degree of control needed.

Usage​

mod config build gradle version edit [parameters]

Parameters​

NameDescription
selectedGradleThe named Gradle version to use. If set to "auto", the CLI will revert to detecting the correct Gradle to use from signals available in the repository.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle version delete​

Reverts to auto-detection of a Gradle version to use when building a repository.

Usage​

mod config build gradle version delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build gradle version show​

Displays the configured Gradle version.

Usage​

mod config build gradle version show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build javascript​

Configures JavaScript/TypeScript as it is used to produce LSTs.

Usage​

mod config build javascript [subcommands]

Examples​

mod config build javascript nodeoptions edit "--max-old-space-size=8192"

Subcommands​

  • nodeoptions: Configure Node.js options.

mod config build javascript nodeoptions​

Configure Node.js options.

Node options are set via the NODE_OPTIONS environment variable when building LSTs and running recipes.

Usage​

mod config build javascript nodeoptions [subcommands]

Subcommands​

  • delete: Removes configured Node.js options.
  • edit: Configure Node.js options.
  • show: Displays the configured Node.js options.

mod config build javascript nodeoptions delete​

Removes configured Node.js options.

Usage​

mod config build javascript nodeoptions delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build javascript nodeoptions edit​

Configure Node.js options.

Node options are set via the NODE_OPTIONS environment variable when building LSTs and running recipes.

Usage​

mod config build javascript nodeoptions edit

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build javascript nodeoptions show​

Displays the configured Node.js options.

Usage​

mod config build javascript nodeoptions show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build mainframe​

Configures the mainframe parsers (Cobol, JCL, Control-M) as they are used for LST production.

Usage​

mod config build mainframe [subcommands]

Subcommands​

  • timeout: Configure the build timeout.

mod config build mainframe timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build mainframe timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build mainframe timeout delete​

Removes the configured build timeout.

Usage​

mod config build mainframe timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build mainframe timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build mainframe timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build mainframe timeout show​

Displays the configured build timeout.

Usage​

mod config build mainframe timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven​

Configures Maven as it is used for LST production, resolving recipe dependencies, and when running recipes.

Usage​

mod config build maven [subcommands]

Examples​

mod config build maven settings edit <path-to-settings.xml>

Subcommands​

  • arguments: Configure Maven build arguments.
  • installation: Configures locations of Maven installations that can be used by build tools.
  • settings: Configure Maven settings.
  • timeout: Configure the build timeout.
  • version: Configures the Maven version to use.

mod config build maven arguments​

Configure Maven build arguments.

Build arguments are added to the end of the Maven command line when building LSTs.

Usage​

mod config build maven arguments [subcommands]

Subcommands​

  • delete: Removes additional build arguments for Maven.
  • edit: Configure Maven build arguments.
  • show: Displays the configured Maven additional build arguments.

mod config build maven arguments delete​

Removes additional build arguments for Maven.

Usage​

mod config build maven arguments delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven arguments edit​

Configure Maven build arguments.

Build arguments are added to the end of the Maven command line when building LSTs.

Usage​

mod config build maven arguments edit

Examples​

mod config build maven arguments edit -Dexec.skip=true

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven arguments show​

Displays the configured Maven additional build arguments.

Usage​

mod config build maven arguments show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven installation​

Configures locations of Maven installations that can be used by build tools.

Must be configured before you can run the build command if Maven is installed in non-standard locations.

Usage​

mod config build maven installation [subcommands]

Subcommands​

  • edit: Configures locations of Maven installations that can be used by build tools.
  • delete: Removes the configured Maven installations. The CLI will revert to using only detectable Maven installations.
  • list: Displays the detected and configured Maven installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config build maven installation edit​

Configures locations of Maven installations that can be used by build tools.

Must be configured before you can run the build command if Maven is installed in non-standard locations.

Usage​

mod config build maven installation edit [parameters]

Parameters​

NameDescription
mavenHomesThe paths on disk where Maven installations (MAVEN_HOME directories) can be found.

mod config build maven installation delete​

Removes the configured Maven installations. The CLI will revert to using only detectable Maven installations.

Usage​

mod config build maven installation delete

mod config build maven installation list​

Displays the detected and configured Maven installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config build maven installation list

Options​

NameDescription
--namedFilter the list of Maven installations to those matching this version.

mod config build maven settings​

Configure Maven settings.

Allows you to specify the location of a Maven settings.xml file that should be used when Maven is being used to resolve recipe dependencies or run recipes. You can also use an environment variable that points to location of the file with ${ENV_VAR} syntax.

Usage​

mod config build maven settings [subcommands]

Examples​

mod config build maven settings edit <path-to-settings.xml>

Subcommands​

  • delete: Removes the configured Maven settings.
  • edit: Configure Maven settings.
  • show: Displays the configured Maven settings.

mod config build maven settings delete​

Removes the configured Maven settings.

Usage​

mod config build maven settings delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven settings edit​

Configure Maven settings.

Allows you to specify the location of a Maven settings.xml file that should be used when Maven is being used to resolve recipe dependencies or run recipes.

Usage​

mod config build maven settings edit [parameters]

Examples​

mod config build maven settings edit <path-to-settings.xml>

Parameters​

NameDescription
settingsXmlThe location of a Maven settings.xml file to use.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven settings show​

Displays the configured Maven settings.

Usage​

mod config build maven settings show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build maven timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build maven timeout delete​

Removes the configured build timeout.

Usage​

mod config build maven timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build maven timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven timeout show​

Displays the configured build timeout.

Usage​

mod config build maven timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven version​

Configures the Maven version to use.

Configure an exact version like "3.9.6" to use ahead of the project's Maven wrapper.

Usage​

mod config build maven version [subcommands]

Subcommands​

  • edit: Configures the Maven version to use.
  • delete: Reverts to auto-detection of a Maven version to use when building a repository.
  • show: Displays the configured Maven version.

mod config build maven version edit​

Configures the Maven version to use.

Configure an exact version like "3.9.6" to use ahead of the project's Maven wrapper.

Usage​

mod config build maven version edit [parameters]

Parameters​

NameDescription
selectedMavenThe named Maven version to use. If set to "auto", the CLI will revert to detecting the correct Maven to use from signals available in the repository.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven version delete​

Reverts to auto-detection of a Maven version to use when building a repository.

Usage​

mod config build maven version delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build maven version show​

Displays the configured Maven version.

Usage​

mod config build maven version show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build node​

Configures Node as it is used for LST production.

Usage​

mod config build node [subcommands]

Subcommands​

  • timeout: Configure the build timeout.

mod config build node timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build node timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build node timeout delete​

Removes the configured build timeout.

Usage​

mod config build node timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build node timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build node timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build node timeout show​

Displays the configured build timeout.

Usage​

mod config build node timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build parsers​

Configure custom file-extension-to-parser mappings.

Manages which file extensions are parsed by which parser type when building LSTs. Supports resource/structural file types such as XML, JSON, and YAML. File extensions for compiled language types (Java, Kotlin, etc.) are enforced by their respective toolchains and cannot be customized here.

Usage​

mod config build parsers [subcommands]

Subcommands​

  • add: Add a parser mapping for a file type.
  • delete: Removes configured parser mappings.
  • show: Displays configured parser mappings.

mod config build parsers add​

Add a parser mapping for a file type.

Associates glob patterns with a parser type so matching files are parsed accordingly.

Usage​

mod config build parsers add [parameters]

Examples​

mod config build parsers add xml "**/*.mst" "**/*.xbind"

mod config build parsers add json "**/*.cfg"

Parameters​

NameDescription
typeThe parser type. Supported: docker, gradle, groovy, hcl, json, plaintext, properties, proto, toml, xml, yaml.
patternsGlob patterns for files to parse with this type (e.g. **/.mst **/.xbind).

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build parsers delete​

Removes configured parser mappings.

Usage​

mod config build parsers delete [parameters]

Parameters​

NameDescription
typeOptional parser type to delete. If omitted, all mappings are removed.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build parsers show​

Displays configured parser mappings.

Usage​

mod config build parsers show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build python​

Configures Python as it is used for LST production.

Usage​

mod config build python [subcommands]

Subcommands​

  • timeout: Configure the build timeout.

mod config build python timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build python timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build python timeout delete​

Removes the configured build timeout.

Usage​

mod config build python timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build python timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build python timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build python timeout show​

Displays the configured build timeout.

Usage​

mod config build python timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build resource​

Configures the parsing of files no other build step claimed.

Usage​

mod config build resource [subcommands]

Subcommands​

  • timeout: Configure the build timeout.

mod config build resource timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build resource timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build resource timeout delete​

Removes the configured build timeout.

Usage​

mod config build resource timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build resource timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build resource timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build resource timeout show​

Displays the configured build timeout.

Usage​

mod config build resource timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build ruby​

Configures Ruby as it is used for LST production.

Usage​

mod config build ruby [subcommands]

Subcommands​

  • timeout: Configure the build timeout.

mod config build ruby timeout​

Configure the build timeout.

Limits the amount of time the CLI will wait for a single execution of the build tool.

Usage​

mod config build ruby timeout [subcommands]

Subcommands​

  • delete: Removes the configured build timeout.
  • edit: Configure the timeout for build operations.
  • show: Displays the configured build timeout.

mod config build ruby timeout delete​

Removes the configured build timeout.

Usage​

mod config build ruby timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build ruby timeout edit​

Configure the timeout for build operations.

Limits the amount of time the CLI will wait for a single execution of the build tool. Setting this to too high of a value may cause mass ingestion to hang or appear to hang.

Usage​

mod config build ruby timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build ruby timeout show​

Displays the configured build timeout.

Usage​

mod config build ruby timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build style​

Configures style settings used for LST production.

Allows you to specify style configuration files (e.g., Checkstyle) that should be included in LSTs so that recipe results respect the configured code style.

Usage​

mod config build style [subcommands]

Examples​

mod config build style checkstyle edit <path-to-checkstyle.xml>

Subcommands​

  • checkstyle: Configure Checkstyle style.
  • openrewrite: Configure OpenRewrite style.

mod config build style checkstyle​

Configure Checkstyle style.

Allows you to specify the location of a Checkstyle configuration XML file that should be included in LSTs. When set, the Checkstyle rules will be parsed into OpenRewrite styles and attached to LSTs so that recipe results respect the configured code style.

Usage​

mod config build style checkstyle [subcommands]

Examples​

mod config build style checkstyle edit <path-to-checkstyle.xml>

Subcommands​

  • delete: Removes the configured Checkstyle configuration.
  • edit: Configure Checkstyle style.
  • show: Displays the configured Checkstyle configuration.

mod config build style checkstyle delete​

Removes the configured Checkstyle configuration.

Usage​

mod config build style checkstyle delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build style checkstyle edit​

Configure Checkstyle style.

Allows you to specify the location of a Checkstyle configuration XML file that should be included in LSTs so that recipe results respect the configured code style.

Usage​

mod config build style checkstyle edit [parameters]

Examples​

mod config build style checkstyle edit <path-to-checkstyle.xml>

Parameters​

NameDescription
checkstyleXmlThe location of a Checkstyle configuration XML file to use.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build style checkstyle show​

Displays the configured Checkstyle configuration.

Usage​

mod config build style checkstyle show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build style openrewrite​

Configure OpenRewrite style.

Allows you to specify the location of an OpenRewrite style YAML file that should be included in LSTs. The YAML file may contain zero or more named styles These styles take precedence over any other styles.https://docs.openrewrite.org/concepts-and-explanations/styles

Usage​

mod config build style openrewrite [subcommands]

Examples​

mod config build style openrewrite edit <path-to-rewrite.yml>

Subcommands​

  • delete: Removes the configured OpenRewrite style.
  • edit: Configure OpenRewrite style.
  • show: Displays the configured OpenRewrite style.

mod config build style openrewrite delete​

Removes the configured OpenRewrite style.

Usage​

mod config build style openrewrite delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build style openrewrite edit​

Configure OpenRewrite style.

Allows you to specify the location of an OpenRewrite style YAML file that should be included in LSTs so that recipe results respect the configured code style.

Usage​

mod config build style openrewrite edit [parameters]

Examples​

mod config build style openrewrite edit <path-to-rewrite.yml>

Parameters​

NameDescription
rewriteYamlThe location of an OpenRewrite style YAML file to use.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config build style openrewrite show​

Displays the configured OpenRewrite style.

Usage​

mod config build style openrewrite show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config clone​

Configures cloning behavior.

All subsequent clones will use these settings.

Usage​

mod config clone [subcommands]

Subcommands​

  • protocol: (DEPRECATED) Configures the wire protocol(s) that are used for cloning. This option is ignored now, and clone URLs are driven from repos.csv.
  • timeout: Configures the timeout for clone operations.

mod config clone protocol (deprecated)​

(DEPRECATED) Configures the wire protocol(s) that are used for cloning. This option is ignored now, and clone URLs are driven from repos.csv.

All subsequent clones from Moderne organizations will use these settings. Clones from JSON or CSV use the explicitly provided clone URL without attempting to change the protocol.

Usage​

mod config clone protocol [subcommands]

Subcommands​

  • delete: Restores the default clone protocols.
  • edit: Configures the wire protocols that are used for cloning.
  • show: Displays the wire protocols that are used for cloning.

mod config clone protocol delete (deprecated)​

Restores the default clone protocols.

The default is to attempt SSH and then HTTPS clones.

Usage​

mod config clone protocol delete

mod config clone protocol edit (deprecated)​

Configures the wire protocols that are used for cloning.

All subsequent clones will use these settings. The default is SSH and then HTTPS.

Usage​

mod config clone protocol edit [parameters]

Parameters​

NameDescription
protocolsThe protocol(s) to use for cloning. Must be one or both of 'ssh' or 'https' (case insensitive). The order in which they are provided establishes the order of precedence for subsequent clones.

mod config clone protocol show (deprecated)​

Displays the wire protocols that are used for cloning.

This set governs all subsequent clone attempts.

Usage​

mod config clone protocol show

mod config clone timeout​

Configures the timeout for clone operations.

All subsequent clones will use these settings.

Usage​

mod config clone timeout [subcommands]

Subcommands​

  • delete: Restores the default clone timeout.
  • edit: Configures the timeout for clone operations.
  • show: Displays the timeouts configured for cloning.

mod config clone timeout delete​

Restores the default clone timeout.

The default is to time out after 10 minutes.

Usage​

mod config clone timeout delete

mod config clone timeout edit​

Configures the timeout for clone operations.

All subsequent clones will use these settings. The default is 10 minutes.

Usage​

mod config clone timeout edit [parameters]

Parameters​

NameDescription
timeoutThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

mod config clone timeout show​

Displays the timeouts configured for cloning.

This timeout governs all subsequent clone attempts.

Usage​

mod config clone timeout show

mod config comms​

Configures communication channels for factory notifications.

Channels are accumulative — configuring Slack does not remove webhook config. The factory automatically uses all configured channels. Delete a channel to stop receiving notifications on it.

Usage​

mod config comms [subcommands]

Subcommands​

  • slack: Configures Slack notifications for the factory.
  • webhook: Configures webhook notifications for the factory.
  • sms: Configures SMS notifications for the factory.

mod config comms slack​

Configures Slack notifications for the factory.

Run 'setup' first to create the Slack app, then 'edit' to save the tokens. The factory will post a thread with per-phase and per-repo updates.

Usage​

mod config comms slack [subcommands]

Subcommands​

  • setup: Prints the Slack app manifest and setup instructions.
  • edit: Saves the Slack bot token, app token, and channel ID.
  • show: Displays the configured Slack notification settings.
  • delete: Removes Slack notification configuration.

mod config comms slack setup​

Prints the Slack app manifest and setup instructions.

Generates a Slack App Manifest JSON that you paste into Slack's 'Create App from Manifest' flow. This pre-configures all required bot scopes — no manual scope configuration needed.

Usage​

mod config comms slack setup

mod config comms slack edit​

Saves the Slack bot token, app token, and channel ID.

Run 'mod config comms slack setup' first to create the Slack app and get these values.

Usage​

mod config comms slack edit

Options​

NameDescription
--app-tokenSlack app-level token for Socket Mode (starts with xapp-). Enables bidirectional communication — reply in the factory thread to pause, resume, or adjust the factory.
--channelSlack channel ID (starts with C, e.g., C0123ABCDEF). Not the channel name.
--tokenSlack bot token (starts with xoxb-).

mod config comms slack show​

Displays the configured Slack notification settings.

Shows the bot token (masked) and channel ID.

Usage​

mod config comms slack show

mod config comms slack delete​

Removes Slack notification configuration.

The factory will no longer send Slack notifications. The Slack app itself is not removed — delete it at https://api.slack.com/apps if needed.

Usage​

mod config comms slack delete

mod config comms webhook​

Configures webhook notifications for the factory.

The factory will POST JSON events to the configured URL at each lifecycle point.

Usage​

mod config comms webhook [subcommands]

Subcommands​

  • edit: Configures the webhook URL for factory notifications.
  • show: Displays the configured webhook settings.
  • delete: Removes webhook notification configuration.

mod config comms webhook edit​

Configures the webhook URL for factory notifications.

Events are POSTed as JSON with Content-Type: application/json. An optional bearer token is sent in the Authorization header.

Usage​

mod config comms webhook edit

Options​

NameDescription
--tokenOptional bearer token for the Authorization header.
--urlThe webhook URL to POST events to.

mod config comms webhook show​

Displays the configured webhook settings.

Shows the webhook URL and whether a bearer token is set.

Usage​

mod config comms webhook show

mod config comms webhook delete​

Removes webhook notification configuration.

The factory will no longer send webhook notifications.

Usage​

mod config comms webhook delete

mod config comms sms​

Configures SMS notifications for the factory.

Uses a Twilio-compatible HTTP API. Only sends high-signal events: factory start, complete, and errors.

Usage​

mod config comms sms [subcommands]

Subcommands​

  • edit: Configures SMS notification settings.
  • show: Displays the configured SMS notification settings.
  • delete: Removes SMS notification configuration.

mod config comms sms edit​

Configures SMS notification settings.

Requires a Twilio-compatible API URL, auth credentials, and phone numbers.

Usage​

mod config comms sms edit

Options​

NameDescription
--api-urlTwilio Messages API URL (e.g., https://api.twilio.com/2010-04-01/Accounts/{SID}/Messages.json).
--authAuthorization header value (e.g., 'Basic base64(SID:AuthToken)').
--fromSender phone number (e.g., +1234567890).
--toRecipient phone number (e.g., +0987654321).

mod config comms sms show​

Displays the configured SMS notification settings.

Shows the API URL, phone numbers, and whether auth is configured.

Usage​

mod config comms sms show

mod config comms sms delete​

Removes SMS notification configuration.

The factory will no longer send SMS notifications.

Usage​

mod config comms sms delete

mod config dotnet​

Configures DotNet options used for building LSTs and running recipes.

Must be configured before you can run the commands that involve non-standard DotNet configurations.

Usage​

mod config dotnet [subcommands]

Subcommands​

  • installation: Configures locations of DotNet that can be used by build tools.
  • version: Configures the .NET version to use.

mod config dotnet installation​

Configures locations of DotNet that can be used by build tools.

Must be configured before you can run the build command if DotNet is installed in non-standard locations.

Usage​

mod config dotnet installation [subcommands]

Subcommands​

  • edit: Configures locations of DotNet that can be used by build tools.
  • delete: Removes the configured DotNet installations. The CLI will revert to using only detectable DotNet installations.
  • list: Displays the detected and configured DotNet installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config dotnet installation edit​

Configures locations of DotNet that can be used by build tools.

Must be configured before you can run the build command if DotNet is installed in non-standard locations.

Usage​

mod config dotnet installation edit [parameters]

Examples​

mod config dotnet installation edit "C:\Program Files\dotnet"

mod config dotnet installation edit /usr/share/dotnet/dotnet

Parameters​

NameDescription
dotnetInstallationsPaths to DotNet installations, given as either the installation directory (e.g. "C:\Program Files\dotnet") or the dotnet executable itself (e.g. /usr/share/dotnet/dotnet). Quote any path that contains spaces.

mod config dotnet installation delete​

Removes the configured DotNet installations. The CLI will revert to using only detectable DotNet installations.

Usage​

mod config dotnet installation delete

mod config dotnet installation list​

Displays the detected and configured DotNet installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config dotnet installation list

Options​

NameDescription
--namedFilter the list of DotNet installations to .

mod config dotnet version​

Configures the .NET version to use.

Configure a name like "10", "10.0", or "10.0.100" depending on the degree of control needed.

Usage​

mod config dotnet version [subcommands]

Subcommands​

  • edit: Configures the .NET version to use.
  • delete: Reverts to auto-detection of a .NET version to use when building a repository.
  • show: Displays the configured .NET version.

mod config dotnet version edit​

Configures the .NET version to use.

Configure a name like "10", "10.0", or "10.0.100" depending on the degree of control needed.

Usage​

mod config dotnet version edit [parameters]

Parameters​

NameDescription
selectedDotnetThe named .NET version to use. If set to "auto", the CLI will revert to detecting the correct .NET version to use from signals available in the repository.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config dotnet version delete​

Reverts to auto-detection of a .NET version to use when building a repository.

Usage​

mod config dotnet version delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config dotnet version show​

Displays the configured .NET version.

Usage​

mod config dotnet version show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config environment​

The build environment that the CLI is running in.

Will output information about the environment the CLI is running in (e.g., a local developer machine vs. Gitlab CI).

Usage​

mod config environment [subcommands]

Subcommands​

  • show: The build environment that the CLI is running in.

mod config environment show​

The build environment that the CLI is running in.

Will output information about the environment the CLI is running in (e.g., a local developer machine vs. Gitlab CI).

Usage​

mod config environment show

mod config exec​

Configures shell command execution behavior.

All subsequent executions will use these settings.

Usage​

mod config exec [subcommands]

Subcommands​

  • timeout: Configure the exec timeout.

mod config exec timeout​

Configure the exec timeout.

Limits the amount of time the CLI will wait for a repository's command to complete.

Usage​

mod config exec timeout [subcommands]

Subcommands​

  • delete: Restores the default exec timeout.
  • edit: Configure the timeout for shell command execution.
  • show: Displays the configured exec timeout.

mod config exec timeout delete​

Restores the default exec timeout.

The default is to time out after one hour.

Usage​

mod config exec timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config exec timeout edit​

Configure the timeout for shell command execution.

Limits the amount of time the CLI will wait for a repository's command to complete. The default is one hour.

Usage​

mod config exec timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config exec timeout show​

Displays the configured exec timeout.

Usage​

mod config exec timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config features​

Configures experimental features.

Experimental features are not guaranteed to be stable and may change in future releases.

Usage​

mod config features [subcommands]

Subcommands​

  • agent-tools: Configure agent tools features.
  • index-recipes
  • inline-diff: Configure inline diff rendering in the terminal.
  • lst: Configure the LST serialization format version.
  • no-maven-central: (DEPRECATED) Use mod config build maven settings edit instead.
  • pre-study: Configure data table aggregation during recipe runs.

mod config features agent-tools​

Configure agent tools features.

Usage​

mod config features agent-tools [subcommands]

Subcommands​

  • tray: Configure the agent tools system tray icon.

mod config features agent-tools tray​

Configure the agent tools system tray icon.

When enabled, the MCP server launches a system tray icon with a browser-based dashboard for monitoring LST builds, tool calls, and executing tools. Disabled by default.

Usage​

mod config features agent-tools tray

Options​

NameDescription
--enabled

mod config features index-recipes​

(DEPRECATED) Index recipes to avoid classloading expense on every repository. This experimental feature does not change the command line for running a recipe, but since recipes are instantiated differently, is considered experimental initially.

Usage​

mod config features index-recipes

Options​

NameDescription
--enabled

mod config features inline-diff​

Configure inline diff rendering in the terminal.

When enabled, diffs are rendered inline in the terminal during recipe runs when the terminal supports UTF-8 extended characters. Inline diffs are enabled by default.

Usage​

mod config features inline-diff

Options​

NameDescription
--enabled

mod config features lst​

Configure the LST serialization format version.

Controls the on-disk LST format. Version 3 is a partition-backed binary format with lazy deserialization and Zstd compression: JDK and library types are pre-built into partitions and shared across parsers and template engines, reducing parse time and serialization size. When set to 3, v2 LSTs downloaded by mod git sync are automatically converted before recipe runs, and mod build produces LSTs in the configured format.

Usage​

mod config features lst

Options​

NameDescription
--versionLST format version (2 or 3)

mod config features no-maven-central (deprecated)​

(DEPRECATED) Use mod config build maven settings edit instead.

This command is deprecated. Enabling it mirrors Maven Central and Sonatype snapshots to the configured recipe repository when resolving recipes. A Maven settings.xml says the same thing with a mirror of central,sonatype-central, composes with any mirrors already in use, and is configured with mod config build maven settings edit.

Usage​

mod config features no-maven-central

Options​

NameDescription
--enabled

mod config features pre-study​

Configure data table aggregation during recipe runs.

When enabled, mod run folds each repository's data tables into an aggregate for its organization and every organization above it as the run goes, so mod study can serve a completed run's tables without reading the organization from disk. Disabled by default.

Usage​

mod config features pre-study

Options​

NameDescription
--enabled

mod config go​

Configures Go options used for building LSTs and running recipes.

Must be configured before you can run the commands that involve non-standard Go configurations.

Usage​

mod config go [subcommands]

Subcommands​

  • installation: Configures locations of Go that can be used by build tools.

mod config go installation​

Configures locations of Go that can be used by build tools.

Must be configured before you can run the build command if Go is installed in non-standard locations.

Usage​

mod config go installation [subcommands]

Subcommands​

  • edit: Configures locations of Go that can be used by build tools.
  • delete: Removes the configured Go installations. The CLI will revert to using only detectable Go installations.
  • list: Displays the detected and configured Go installations in the order in which they will be selected.

mod config go installation edit​

Configures locations of Go that can be used by build tools.

Must be configured before you can run the build command if Go is installed in non-standard locations.

Usage​

mod config go installation edit [parameters]

Examples​

mod config go installation edit "C:\Program Files\Go"

mod config go installation edit /usr/local/go/bin/go

Parameters​

NameDescription
goInstallationsPaths to Go installations, given as either the installation directory (e.g. "C:\Program Files\Go") or the go executable itself (e.g. /usr/local/go/bin/go). Quote any path that contains spaces.

mod config go installation delete​

Removes the configured Go installations. The CLI will revert to using only detectable Go installations.

Usage​

mod config go installation delete

mod config go installation list​

Displays the detected and configured Go installations in the order in which they will be selected.

Usage​

mod config go installation list

Options​

NameDescription
--namedFilter the list of Go installations.

mod config http​

Configures HTTP options that will be used throughout the CLI.

All subsequent commands will use these settings.

Usage​

mod config http [subcommands]

Subcommands​

  • proxy: Configures HTTP proxy settings that will be used for every HTTP request.
  • trust-store: Configures truststore options that will be used throughout the CLI.
  • key-store: Configures keystore options that will be used throughout the CLI for mTLS.

mod config http proxy​

Configures HTTP proxy settings that will be used for every HTTP request.

All subsequent commands will use these settings.

Usage​

mod config http proxy [subcommands]

Subcommands​

  • delete: Removes HTTP proxy settings from global configuration.
  • edit: Configures HTTP proxy settings that will be used for every HTTP request.
  • show: Displays the proxy settings from global configuration.

mod config http proxy delete​

Removes HTTP proxy settings from global configuration.

Proxy settings will no longer be used for HTTP requests.

Usage​

mod config http proxy delete

mod config http proxy edit​

Configures HTTP proxy settings that will be used for every HTTP request.

All subsequent commands will use these settings.

Usage​

mod config http proxy edit

Options​

NameDescription
--host, --proxy-host
--non-proxy-hostsA list of hosts that should be reached directly, bypassing the proxy. This is a list of patterns separated by '
--passwordThe password to authenticate with.
--port, --proxy-port
--userThe user to authenticate with.

mod config http proxy show​

Displays the proxy settings from global configuration.

Shows the currently configured proxy settings, if any.

Usage​

mod config http proxy show

mod config http trust-store​

Configures truststore options that will be used throughout the CLI.

All subsequent commands will use these settings.

Usage​

mod config http trust-store [subcommands]

Subcommands​

  • delete: Removes truststore settings from global configuration.
  • edit: Configures truststore options that will be used throughout the CLI.
  • show: Displays the truststore setting from global configuration.

mod config http trust-store delete​

Removes truststore settings from global configuration.

Truststore settings will no longer be used for HTTP requests.

Usage​

mod config http trust-store delete

mod config http trust-store edit​

Configures truststore options that will be used throughout the CLI.

All subsequent commands will use these settings.

Usage​

mod config http trust-store edit [subcommands]

Subcommands​

  • system: Configures trust store to use the Operating System specific default trust store. On Mac the system trust store is accessed via the Keychain Access app. On Windows the system trust store is accessed via the Microsoft Management Console. On Linux, the default Java trust store location will typically be symlinked to the distribution's system trust store which is based on the system's cacerts IF using a JVM installed via the package manager, otherwise the trust store packaged with the JVM will be used.
  • file: Configures truststore to point to a file.
  • java-home: (DEPRECATED) Configures truststore to use the cacerts file in ${JAVA_HOME}/lib/security/cacerts.

mod config http trust-store edit system​

Configures trust store to use the Operating System specific default trust store. On Mac the system trust store is accessed via the Keychain Access app. On Windows the system trust store is accessed via the Microsoft Management Console. On Linux, the default Java trust store location will typically be symlinked to the distribution's system trust store which is based on the system's cacerts IF using a JVM installed via the package manager, otherwise the trust store packaged with the JVM will be used.

Usage​

mod config http trust-store edit system

Options​

NameDescription
--passwordThe password used to access the truststore.
--stacktracePrint the full stack trace on validation error

mod config http trust-store edit file​

Configures truststore to point to a file.

All subsequent commands will use this truststore.

Usage​

mod config http trust-store edit file [parameters]

Parameters​

NameDescription
fileThe absolute path to the truststore file.

Options​

NameDescription
--passwordThe password used to access the truststore.
--providerThe provider of the truststore.
--stacktracePrint the full stack trace on validation error
--typeThe type of the truststore file.

mod config http trust-store edit java-home (deprecated)​

(DEPRECATED) Configures truststore to use the cacerts file in ${JAVA_HOME}/lib/security/cacerts.

Instead, use the file subcommand to set the trust store to an arbitrary location.The $JAVA_HOME variable is resolved once at configuration time, the path won't be updated at runtime if JAVA_HOME has changed.

Usage​

mod config http trust-store edit java-home

Options​

NameDescription
--stacktracePrint the full stack trace on validation error

mod config http trust-store show​

Displays the truststore setting from global configuration.

Shows the currently configured truststore setting, if any.

Usage​

mod config http trust-store show

Options​

NameDescription
--stacktracePrint the full stack trace on validation error

mod config http key-store​

Configures keystore options that will be used throughout the CLI for mTLS.

Configures a keystore containing client private key(s) and client certificate(s) for mutual TLS. All subsequent commands will use these settings.

Usage​

mod config http key-store [subcommands]

Subcommands​

  • delete: Removes keystore settings from global configuration.
  • edit: Configures keystore options that will be used throughout the CLI for mTLS.
  • show: Displays the keystore setting from global configuration.

mod config http key-store delete​

Removes keystore settings from global configuration.

Keystore settings will no longer be used for HTTP requests.

Usage​

mod config http key-store delete

mod config http key-store edit​

Configures keystore options that will be used throughout the CLI for mTLS.

Configures a keystore containing client private key(s) and client certificate(s) for mutual TLS. All subsequent commands will use these settings.

Usage​

mod config http key-store edit [subcommands]

Subcommands​

  • file: Configures keystore to point to a file.

mod config http key-store edit file​

Configures keystore to point to a file.

All subsequent commands will use this keystore.

Usage​

mod config http key-store edit file [parameters]

Parameters​

NameDescription
fileThe absolute path to the keystore file.

Options​

NameDescription
--passwordThe password used to access the keystore.
--providerThe provider of the keystore.
--stacktracePrint the full stack trace on validation error
--typeThe type of the keystore file.

mod config http key-store show​

Displays the keystore setting from global configuration.

Shows the currently configured keystore setting, if any.

Usage​

mod config http key-store show

Options​

NameDescription
--stacktracePrint the full stack trace on validation error

mod config java​

Configures Java options used for building LSTs and running recipes.

Must be configured before you can run the commands that involve non-standard Java configurations.

Usage​

mod config java [subcommands]

Subcommands​

  • installation: Configures locations of JDKs that can be used by build tools.
  • jdk: (DEPRECATED) Use installation instead. Configures locations of JDKs that can be used by build tools.
  • options: Configures JVM options for use building LSTs and running recipes.
  • version: Configures the JDK to use.

mod config java installation​

Configures locations of JDKs that can be used by build tools.

Must be configured before you can run the build command if JDKs are in non-standard locations.

Usage​

mod config java installation [subcommands]

Subcommands​

  • edit: Configures locations of JDKs that can be used by build tools.
  • delete: Removes the configured JDK installations. The CLI will revert to using only detectable JDKs.
  • list: Displays the detected and configured JDK installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config java installation edit​

Configures locations of JDKs that can be used by build tools.

Must be configured before you can run the build command if JDKs are in non-standard locations.

Usage​

mod config java installation edit [parameters]

Examples​

mod config java installation edit /path/to/jdk1 /path/to/jdk2

Parameters​

NameDescription
javaHomesThe paths on disk where JDK installations can be found.

mod config java installation delete​

Removes the configured JDK installations. The CLI will revert to using only detectable JDKs.

Usage​

mod config java installation delete

mod config java installation list​

Displays the detected and configured JDK installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config java installation list

Options​

NameDescription
--namedFilter the list of JDKs to .

mod config java jdk (deprecated)​

(DEPRECATED) Use installation instead. Configures locations of JDKs that can be used by build tools.

Must be configured before you can run the build command if JDKs are in non-standard locations.

Usage​

mod config java jdk [subcommands]

Subcommands​

  • edit: Configures locations of JDKs that can be used by build tools.
  • delete: Removes the configured JDK installations. The CLI will revert to using only detectable JDKs.
  • list: Displays the detected and configured JDK installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config java jdk edit (deprecated)​

Configures locations of JDKs that can be used by build tools.

Must be configured before you can run the build command if JDKs are in non-standard locations.

Usage​

mod config java jdk edit [parameters]

Examples​

mod config java installation edit /path/to/jdk1 /path/to/jdk2

Parameters​

NameDescription
javaHomesThe paths on disk where JDK installations can be found.

mod config java jdk delete (deprecated)​

Removes the configured JDK installations. The CLI will revert to using only detectable JDKs.

Usage​

mod config java jdk delete

mod config java jdk list (deprecated)​

Displays the detected and configured JDK installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config java jdk list

Options​

NameDescription
--namedFilter the list of JDKs to .

mod config java options​

Configures JVM options for use building LSTs and running recipes.

Must be configured before you can run the build command if non-standard VM options are required.

Usage​

mod config java options [subcommands]

Subcommands​

  • edit: Configures JVM options for use building LSTs and running recipes.
  • delete: Removes configured JVM options. The CLI will no longer use custom JVM options.
  • show: Displays the configured JVM options.

mod config java options edit​

Configures JVM options for use building LSTs and running recipes.

Must be configured before you can run the build command if non-standard VM options are required.

Usage​

mod config java options edit

Examples​

mod config java options edit "\-Xmx4G"

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config java options delete​

Removes configured JVM options. The CLI will no longer use custom JVM options.

Usage​

mod config java options delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config java options show​

Displays the configured JVM options.

Usage​

mod config java options show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config java version​

Configures the JDK to use.

Configure a name like "17", "17-tem", or "17.0.6-tem" depending on the degree of control needed.

Usage​

mod config java version [subcommands]

Subcommands​

  • edit: Configures the JDK to use.
  • delete: Reverts to auto-detection of a JDK to use when building a repository.
  • show: Displays the configured JDK version.

mod config java version edit​

Configures the JDK to use.

Configure a name like "17", "17-tem", or "17.0.6-tem" depending on the degree of control needed.

Usage​

mod config java version edit [parameters]

Examples​

mod config java version edit "17-tem"

Parameters​

NameDescription
selectedJdkThe named JDK to use. If set to "auto", the CLI will revert to detecting the correct JDK to use from signals available in the repository.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config java version delete​

Reverts to auto-detection of a JDK to use when building a repository.

Usage​

mod config java version delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config java version show​

Displays the configured JDK version.

Usage​

mod config java version show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config license​

Configure a license key.

A license key allows for running recipes on private repositories without a connection to a Moderne tenant.

Usage​

mod config license [subcommands]

Subcommands​

  • delete: Removes the configured license key.
  • edit: Configure the active user.
  • generate: Generate a license key.
  • show: Displays information about the configured license key.
  • moderne: Synchronizes a Moderne license key with the CLI.

mod config license delete​

Removes the configured license key.

Usage​

mod config license delete

mod config license edit​

Configure the active user.

A license key allows for running recipes on private repositories without a connection to a Moderne tenant.

Usage​

mod config license edit [parameters]

Parameters​

NameDescription
licenseThe license key, provided by Moderne support.

mod config license generate​

Generate a license key.

Generates a signed license key for the given licensee and expiration date and prints it. The Ed25519 private key is read from the --private-key option, which is interactive: pass the flag with no value to read the Base64-encoded raw 32 bytes from stdin (masked when on a TTY). This keeps the key off argv and out of process listings.%nBy default the license is printed but NOT persisted to the active configuration — convenient when issuing a license for a prospect without overwriting your own. Pass --save to also persist (equivalent to running mod config license edit with the generated key).

Usage​

mod config license generate [parameters]

Parameters​

NameDescription
licenseeThe licensee name.
expirationDateThe expiration date in yyyyMMdd format, e.g. 20270101.

Options​

NameDescription
--private-keyBase64-encoded raw 32-byte Ed25519 private key. Pass the flag with no value to read from stdin (masked on a TTY).
--savePersist the generated license as the active configuration.

mod config license show​

Displays information about the configured license key.

Usage​

mod config license show

Options​

NameDescription
--json(INCUBATING) Output license information in JSON. The format of this JSON is unsettled at this point, and the data structuremay change.

mod config license moderne​

Synchronizes a Moderne license key with the CLI.

A license key allows for running recipes on private repositories without a connection to a Moderne tenant.

Usage​

mod config license moderne [subcommands]

Examples​

mod config license moderne sync

Subcommands​

  • sync: Synchronizes a Moderne license key with the CLI.

mod config license moderne sync​

Synchronizes a Moderne license key with the CLI.

A license key allows for running recipes on private repositories without a connection to a Moderne tenant.

Usage​

mod config license moderne sync

Examples​

mod config license moderne sync

mod config lsts​

Configures LSTs production and publishing.

Must be configured before you can run the publish command.

Usage​

mod config lsts [subcommands]

Subcommands​

  • artifacts: Configures the storage layer for LSTs to be published to and downloaded from.
  • cache-dir: (INCUBATING) Configures the directory for caching LSTs on disk.

mod config lsts artifacts​

Configures the storage layer for LSTs to be published to and downloaded from.

Must be configured before you can run the publish command.

Usage​

mod config lsts artifacts [subcommands]

Subcommands​

  • artifactory: Configures the Artifactory repository that LSTs will be published to and downloaded from.
  • show: Displays the LST artifacts repository configuration.
  • azure-blob: Configures the Azure Blob Storage container that LSTs will be published to and downloaded from.
  • gcs: Configures the Google Cloud Storage bucket that LSTs will be published to and downloaded from.
  • maven: Configures a Maven-formatted artifact repository that LSTs will be published to and downloaded from.
  • s3: Configures the S3 repository that LSTs will be published to and downloaded from.

mod config lsts artifacts artifactory​

Configures the Artifactory repository that LSTs will be published to and downloaded from.

All subsequent publish and download commands will use this Artifactory repository.

Usage​

mod config lsts artifacts artifactory [subcommands]

Subcommands​

  • add: Configures the repository that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.
  • edit: (DEPRECATED) Use mod config lsts artifacts artifactory add instead.
  • delete: Removes the Artifactory repository configuration. The publish command will no longer function until another artifact source is configured.
  • show: Displays the Artifactory repository configuration.

mod config lsts artifacts artifactory add​

Configures the repository that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.

All subsequent publish and download commands will use this artifact repository.

Usage​

mod config lsts artifacts artifactory add [parameters]

Examples​

mod config lsts artifacts artifactory add https://artifactory.company.com --user lstuser --password secret1

Parameters​

NameDescriptionExample
urlThe URL of the artifact repository that LSTs will be published to.https://artifactory.company-name.com/artifactory/moderne-ingest

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--jfrog-api-tokenThe JFrog API token to use.
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config lsts artifacts artifactory edit (deprecated)​

(DEPRECATED) Use mod config lsts artifacts artifactory add instead.

This command is deprecated. Use mod config lsts artifacts artifactory add instead.

Usage​

mod config lsts artifacts artifactory edit [parameters]

Examples​

mod config lsts artifacts artifactory add https://artifactory.company.com --user lstuser --password secret1

Parameters​

NameDescriptionExample
urlThe URL of the artifact repository that LSTs will be published to.https://artifactory.company-name.com/artifactory/moderne-ingest

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--jfrog-api-tokenThe JFrog API token to use.
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config lsts artifacts artifactory delete​

Removes the Artifactory repository configuration. The publish command will no longer function until another artifact source is configured.

If a URL is provided, only that repository is removed. Otherwise, all Artifactory repositories are removed.

Usage​

mod config lsts artifacts artifactory delete [parameters]

Parameters​

NameDescription
urlThe URL of the Artifactory repository to remove. If not provided, all Artifactory repositories are removed.

mod config lsts artifacts artifactory show​

Displays the Artifactory repository configuration.

Usage​

mod config lsts artifacts artifactory show

mod config lsts artifacts show​

Displays the LST artifacts repository configuration.

Usage​

mod config lsts artifacts show

mod config lsts artifacts azure-blob​

Configures the Azure Blob Storage container that LSTs will be published to and downloaded from.

All subsequent publish and download commands will use this Azure Blob Storage container. If neither --connection-string nor --sas-token is provided, DefaultAzureCredential is used (managed identity, workload identity, environment variables, or Azure CLI login).

Usage​

mod config lsts artifacts azure-blob [subcommands]

Subcommands​

  • edit: Configures the Azure Blob Storage container that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.
  • delete: Removes the Azure Blob LST repository configuration. The publish command will no longer function until another artifact source is configured.
  • show: Displays the Azure Blob LST repository configuration.

mod config lsts artifacts azure-blob edit​

Configures the Azure Blob Storage container that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.

All subsequent publish and download commands will use this Azure Blob Storage container.

Usage​

mod config lsts artifacts azure-blob edit [parameters]

Examples​

mod config lsts artifacts azure-blob edit https://myaccount.blob.core.windows.net/mycontainer --sas-token 'sv=...'

Parameters​

NameDescriptionExample
uriThe Azure Blob container URL that LSTs will be published to. Must be of the form https://{account}.blob.core.windows.net/{container}.https://myaccount.blob.core.windows.net/mycontainer

Options​

NameDescription
--connection-stringAzure Storage connection string (from the storage account's Access keys page).
--sas-tokenShared Access Signature token granting read+write+list access to the container. Provide the query-string portion only (without leading '?').

mod config lsts artifacts azure-blob delete​

Removes the Azure Blob LST repository configuration. The publish command will no longer function until another artifact source is configured.

Usage​

mod config lsts artifacts azure-blob delete

mod config lsts artifacts azure-blob show​

Displays the Azure Blob LST repository configuration.

Usage​

mod config lsts artifacts azure-blob show

mod config lsts artifacts gcs​

Configures the Google Cloud Storage bucket that LSTs will be published to and downloaded from.

All subsequent publish and download commands will use this Cloud Storage bucket. If --credentials-file is not provided, Application Default Credentials are used (workload identity, the GCE/GKE metadata server, GOOGLE_APPLICATION_CREDENTIALS, or gcloud auth application-default login).

Usage​

mod config lsts artifacts gcs [subcommands]

Subcommands​

  • edit: Configures the Cloud Storage bucket that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.
  • delete: Removes the Google Cloud Storage LST repository configuration. The publish command will no longer function until another artifact source is configured.
  • show: Displays the Google Cloud Storage LST repository configuration.

mod config lsts artifacts gcs edit​

Configures the Cloud Storage bucket that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.

All subsequent publish and download commands will use this Cloud Storage bucket.

Usage​

mod config lsts artifacts gcs edit [parameters]

Examples​

mod config lsts artifacts gcs edit gs://bucket

Parameters​

NameDescriptionExample
uriThe Cloud Storage bucket that LSTs will be published to. Must be of the form gs://{bucket}.gs://bucket

Options​

NameDescription
--credentials-filePath to a service account JSON key file. Defaults to Application Default Credentials.
--endpoint-urlOverride the default storage.googleapis.com endpoint, e.g. a Private Service Connect endpoint. An http (not https) endpoint is treated as an emulator and is called without credentials.
--projectThe project to bill requests to. Only needed for requester-pays buckets.

mod config lsts artifacts gcs delete​

Removes the Google Cloud Storage LST repository configuration. The publish command will no longer function until another artifact source is configured.

Usage​

mod config lsts artifacts gcs delete

mod config lsts artifacts gcs show​

Displays the Google Cloud Storage LST repository configuration.

Usage​

mod config lsts artifacts gcs show

mod config lsts artifacts maven​

Configures a Maven-formatted artifact repository that LSTs will be published to and downloaded from.

All subsequent publish and download commands will use this Maven repository.

Usage​

mod config lsts artifacts maven [subcommands]

Subcommands​

  • add: Configures the repository that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.
  • edit: (DEPRECATED) Use mod config lsts artifacts maven add instead.
  • delete: Removes the Maven artifact repository repository configuration. The publish command will no longer function until another artifact source is configured.
  • show: Displays the Maven artifact repository repository configuration.

mod config lsts artifacts maven add​

Configures the repository that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.

All subsequent publish and download commands will use this artifact repository.

Usage​

mod config lsts artifacts maven add [parameters]

Examples​

mod config lsts artifacts maven add <artifact-repository-url> --user <user> --password <password>

Parameters​

NameDescriptionExample
urlThe URL of the artifact repository that LSTs will be published to.https://repo.company-name.com/repository/moderne-ingest

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--passwordThe password to authenticate with.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config lsts artifacts maven edit (deprecated)​

(DEPRECATED) Use mod config lsts artifacts maven add instead.

This command is deprecated. Use mod config lsts artifacts maven add instead.

Usage​

mod config lsts artifacts maven edit [parameters]

Examples​

mod config lsts artifacts maven add <artifact-repository-url> --user <user> --password <password>

Parameters​

NameDescriptionExample
urlThe URL of the artifact repository that LSTs will be published to.https://repo.company-name.com/repository/moderne-ingest

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--passwordThe password to authenticate with.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config lsts artifacts maven delete​

Removes the Maven artifact repository repository configuration. The publish command will no longer function until another artifact source is configured.

If a URL is provided, only that repository is removed. Otherwise, all Maven repositories are removed.

Usage​

mod config lsts artifacts maven delete [parameters]

Parameters​

NameDescription
urlThe URL of the Maven repository to remove. If not provided, all Maven repositories are removed.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config lsts artifacts maven show​

Displays the Maven artifact repository repository configuration.

Usage​

mod config lsts artifacts maven show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config lsts artifacts s3​

Configures the S3 repository that LSTs will be published to and downloaded from.

All subsequent publish and download commands will use this S3 repository.

Usage​

mod config lsts artifacts s3 [subcommands]

Subcommands​

  • edit: Configures the repository that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.
  • delete: Removes the S3 repository configuration. The publish command will no longer function until another artifact source is configured.
  • show: Displays the S3 repository configuration.

mod config lsts artifacts s3 edit​

Configures the repository that LSTs will be published to and downloaded from. Must be configured before you can run the publish command.

All subsequent publish and download commands will use this artifactory repository.

Usage​

mod config lsts artifacts s3 edit [parameters]

Examples​

mod config lsts artifacts s3 edit s3://bucket

Parameters​

NameDescriptionExample
uriThe URL of the artifact repository that LSTs will be published to.s3://bucket

Options​

NameDescription
--endpoint-urlOverride command's default URL with the given URL.
--profileUse a specific profile from your credential file.
--regionThe region to use. Overrides config/env settings.
--skip-sslIf this parameter is included, SSL verification will be skipped.

mod config lsts artifacts s3 delete​

Removes the S3 repository configuration. The publish command will no longer function until another artifact source is configured.

Usage​

mod config lsts artifacts s3 delete

mod config lsts artifacts s3 show​

Displays the S3 repository configuration.

Usage​

mod config lsts artifacts s3 show

mod config lsts cache-dir​

(INCUBATING) Configures the directory for caching LSTs on disk.

When configured, LSTs will be downloaded to this cache directory and symlinked to organization directories.

Usage​

mod config lsts cache-dir [subcommands]

Subcommands​

  • edit: (INCUBATING) Configures the LST cache directory.
  • show: (INCUBATING) Displays the LST cache directory configuration.
  • delete: (INCUBATING) Removes the LST cache directory configuration.

mod config lsts cache-dir edit​

(INCUBATING) Configures the LST cache directory.

All subsequent operations will use this cache directory for storing LSTs.

Usage​

mod config lsts cache-dir edit [parameters]

Parameters​

NameDescription
cacheDirThe path to the directory where LSTs should be cached. Can be an absolute path or start with ~ for home directory.

mod config lsts cache-dir show​

(INCUBATING) Displays the LST cache directory configuration.

Shows the currently configured cache directory for LSTs.

Usage​

mod config lsts cache-dir show

mod config lsts cache-dir delete​

(INCUBATING) Removes the LST cache directory configuration.

LSTs will be stored directly in repository build folders instead of being cached centrally.

Usage​

mod config lsts cache-dir delete

mod config metrics​

Configures metrics publishing.

Configure where and how the CLI publishes metrics.

Usage​

mod config metrics [subcommands]

Subcommands​

  • atlas: Configures Netflix Atlas metrics publishing.

mod config metrics atlas​

Configures Netflix Atlas metrics publishing.

When configured, the CLI pushes metrics to an Atlas endpoint at a configurable interval. Common tags are added to every metric.

Usage​

mod config metrics atlas [subcommands]

Subcommands​

  • edit: Configures the Atlas metrics publishing endpoint.
  • show: Displays the configured Atlas metrics publishing settings.
  • delete: Removes Atlas metrics publishing configuration.

mod config metrics atlas edit​

Configures the Atlas metrics publishing endpoint.

Sets the Atlas publish URL, push interval, and optional common tags.

Usage​

mod config metrics atlas edit [parameters]

Parameters​

NameDescription
urlThe Atlas publish endpoint URL (e.g., https://localhost:7101/api/publish/v2).

Options​

NameDescription
--intervalHow often to push metrics, as an ISO-8601 duration (default: PT1M).
--tagCommon tag as key=value. Repeatable (e.g., --tag stack=main --tag serverGroup=sg-1).

mod config metrics atlas show​

Displays the configured Atlas metrics publishing settings.

Usage​

mod config metrics atlas show

mod config metrics atlas delete​

Removes Atlas metrics publishing configuration.

The CLI will no longer push metrics to Atlas.

Usage​

mod config metrics atlas delete

mod config moderne​

Configures the connection to Moderne. Must be configured before you can install and run recipes.

All subsequent commands will use this Moderne tenant.

Usage​

mod config moderne [subcommands]

Examples​

mod config moderne edit <host>

Subcommands​

  • delete: Removes the configured Moderne tenant.
  • edit: Configures the connection to Moderne. Must be configured before you can install and run recipes.
  • local: (DEPRECATED) Configures a connection to a Moderne DX instance running locally on the same machine.
  • login: Logs the CLI into Moderne
  • show: Displays the Moderne tenant configuration.
  • organizations: (INCUBATING) The organizational hierarchy of repository ownership.

mod config moderne delete​

Removes the configured Moderne tenant.

Usage​

mod config moderne delete

mod config moderne edit​

Configures the connection to Moderne. Must be configured before you can install and run recipes.

All subsequent commands will use this Moderne tenant.

Usage​

mod config moderne edit [parameters]

Examples​

mod config moderne edit <host> --token <token>

Parameters​

NameDescriptionExample
hostThe URL of the Moderne UI.https://app.moderne.io

Options​

NameDescriptionExample
--apiThe URL of the tenant API gateway.https://api.app.moderne.io
--password(DEPRECATED) The password to authenticate with. Use the web-based flow or with-token with the login sub-command instead.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--token(DEPRECATED) The Moderne personal access token to use. Use 'login --with-token' instead.
--user(DEPRECATED) The user to authenticate with. Use the web-based flow or with-token with the login sub-command instead.

mod config moderne local​

(DEPRECATED) Configures a connection to a Moderne DX instance running locally on the same machine.

All subsequent commands will use this instance.

Usage​

mod config moderne local

mod config moderne login​

Logs the CLI into Moderne

The default authorization mode is a web-based browser flow. After login and consent, a PAT (personal access token) will be created and stored in the configuration file.

Alternatively, use --with-token to pass in an existing token on standard input.

After a successful login, the local CLI recipe marketplace is synchronized from Moderne.

Usage​

mod config moderne login

Options​

NameDescription
--expirationThe time to expiration for the token to be created, as an ISO-8601 duration string. Example: P180D for 180 days.
--with-tokenThe Moderne personal access token to use.
-y, --yesAutomatic yes to prompts when synchronizing the recipe marketplace.

mod config moderne show​

Displays the Moderne tenant configuration.

Shows where requests to Moderne e.g., for recipe and organization information, will be directed.

Usage​

mod config moderne show

mod config moderne organizations​

(INCUBATING) The organizational hierarchy of repository ownership.

Each of these organizations is cloneable.

Usage​

mod config moderne organizations [subcommands]

Subcommands​

  • show: Displays the Moderne view of organizational hierarchy.

mod config moderne organizations show​

Displays the Moderne view of organizational hierarchy.

Usage​

mod config moderne organizations show

Options​

NameDescription
--json

mod config node​

Configures Node options used for building LSTs and running recipes.

Must be configured before you can run the commands that involve non-standard Node configurations.

Usage​

mod config node [subcommands]

Subcommands​

  • installation: Configures locations of Node that can be used by build tools.
  • version: Configures the Node.js version to use.

mod config node installation​

Configures locations of Node that can be used by build tools.

Must be configured before you can run the build command if Node is installed in non-standard locations.

Usage​

mod config node installation [subcommands]

Subcommands​

  • edit: Configures locations of Node that can be used by build tools.
  • delete: Removes the configured Node installations. The CLI will revert to using only detectable Node installations.
  • list: Displays the detected and configured Node installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config node installation edit​

Configures locations of Node that can be used by build tools.

Must be configured before you can run the build command if Node is installed in non-standard locations.

Usage​

mod config node installation edit [parameters]

Examples​

mod config node installation edit "C:\Program Files\nodejs"

mod config node installation edit /usr/local/bin/node

Parameters​

NameDescription
nodeInstallationsPaths to Node installations, given as either the installation directory (e.g. "C:\Program Files\nodejs") or the node executable itself (e.g. /usr/local/bin/node). Quote any path that contains spaces.

mod config node installation delete​

Removes the configured Node installations. The CLI will revert to using only detectable Node installations.

Usage​

mod config node installation delete

mod config node installation list​

Displays the detected and configured Node installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config node installation list

Options​

NameDescription
--namedFilter the list of Node installations to .

mod config node version​

Configures the Node.js version to use.

Configure a name like "18", "18.0.0", or "22" depending on the degree of control needed.

Usage​

mod config node version [subcommands]

Subcommands​

  • edit: Configures the Node.js version to use.
  • delete: Reverts to auto-detection of a Node.js version to use when building a repository.
  • show: Displays the configured Node.js version.

mod config node version edit​

Configures the Node.js version to use.

Configure a name like "18", "18.0.0", or "22" depending on the degree of control needed.

Usage​

mod config node version edit [parameters]

Parameters​

NameDescription
selectedNodeThe named Node.js version to use. If set to "auto", the CLI will revert to detecting the correct Node.js version to use from signals available in the repository.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config node version delete​

Reverts to auto-detection of a Node.js version to use when building a repository.

Usage​

mod config node version delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config node version show​

Displays the configured Node.js version.

Usage​

mod config node version show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config python​

Configures Python options used for building LSTs and running recipes.

Must be configured before you can run the commands that involve non-standard Python configurations.

Usage​

mod config python [subcommands]

Subcommands​

  • installation: Configures locations of Python that can be used by build tools.
  • version: Configures the Python version to use.

mod config python installation​

Configures locations of Python that can be used by build tools.

Must be configured before you can run the build command if Python is installed in non-standard locations.

Usage​

mod config python installation [subcommands]

Subcommands​

  • edit: Configures locations of Python that can be used by build tools.
  • delete: Removes the configured Python installations. The CLI will revert to using only detectable Python installations.
  • list: Displays the detected and configured Python installations in the order in which they will be selected, constrained by versions detected from a particular repository.

mod config python installation edit​

Configures locations of Python that can be used by build tools.

Must be configured before you can run the build command if Python is installed in non-standard locations.

Usage​

mod config python installation edit [parameters]

Examples​

mod config python installation edit "C:\Program Files\Python314"

mod config python installation edit /usr/local/bin/python3

Parameters​

NameDescription
pythonInstallationsPaths to Python installations, given as either the installation directory (e.g. "C:\Program Files\Python314") or the Python executable itself (e.g. /usr/local/bin/python3). Quote any path that contains spaces.

mod config python installation delete​

Removes the configured Python installations. The CLI will revert to using only detectable Python installations.

Usage​

mod config python installation delete

mod config python installation list​

Displays the detected and configured Python installations in the order in which they will be selected, constrained by versions detected from a particular repository.

Usage​

mod config python installation list

Options​

NameDescription
--namedFilter the list of Python installations to a specific version.

mod config python version​

Configures the Python version to use.

Configure a name like "3", "3.12", or "3.12.1" depending on the degree of control needed.

Usage​

mod config python version [subcommands]

Subcommands​

  • edit: Configures the Python version to use.
  • delete: Reverts to auto-detection of a Python version to use when building a repository.
  • show: Displays the configured Python version.

mod config python version edit​

Configures the Python version to use.

Configure a name like "3", "3.12", or "3.12.1" depending on the degree of control needed.

Usage​

mod config python version edit [parameters]

Parameters​

NameDescription
selectedPythonThe named Python version to use. If set to "auto", the CLI will revert to detecting the correct Python version to use from signals available in the repository.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config python version delete​

Reverts to auto-detection of a Python version to use when building a repository.

Usage​

mod config python version delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config python version show​

Displays the configured Python version.

Usage​

mod config python version show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config recipes​

Configures the recipe marketplace available to the CLI. Must be configured before you can run recipes.

You must run the mod config moderne command before running this command so that the CLI knows where to download recipes from.

Usage​

mod config recipes [subcommands]

Examples​

mod config recipes moderne sync

Subcommands​

  • active: Manage the active recipe configuration.
  • artifacts: Configures artifact repositories to resolve recipes from.
  • csv: Manage the recipe marketplace via a Recipe Marketplace CSV.
  • export: Export the recipe catalog for study by different tools.
  • import: Import recipes into the marketplace from different formats.
  • go: Adds or updates a Go module that contains recipes that should be added to the recipe marketplace in the CLI.
  • jar: Adds or updates an artifact that contains recipes that should be added to the recipe marketplace in the CLI.
  • npm: Adds or updates an npm package that contain recipes that should be added to the recipe marketplace in the CLI.
  • nuget: Adds or updates a NuGet package that contains recipes that should be added to the recipe marketplace in the CLI.
  • pip: Adds or updates a pip package that contains recipes that should be added to the recipe marketplace in the CLI.
  • moderne: Configures which Moderne recipes should be installed and used in the local CLI marketplace.
  • delete: Clear the whole recipe marketplace.
  • list: List the artifacts that are contributing recipes to the marketplace.
  • search: Finds recipes based on free form text search.
  • source: Work on the source of recipes in a working set.
  • tree: Show what a composite recipe is made of.
  • upgrade: Upgrades all installed recipe artifacts to the latest available version.
  • yaml: Adds or updates a YAML file that contains recipes that should be added to the recipe marketplace in the CLI.

mod config recipes active​

Manage the active recipe configuration.

The active recipe is a recipe under development that can be run with mod run --active-recipe.

Usage​

mod config recipes active [subcommands]

Examples​

mod config recipes active set src/main/java/com/example/MyRecipe.java

Subcommands​

  • set: Sets a recipe source file as the active recipe.
  • show: Shows the current active recipe configuration.
  • delete: Clears the active recipe configuration.

mod config recipes active set​

Sets a recipe source file as the active recipe.

Accepts a Java source file (.java), a Kotlin source file (.kt), or a YAML recipe file (.yml/.yaml). Detects the build tool (Gradle or Maven), extracts the classpath, and configures the recipe to be run with mod run --active-recipe.

Usage​

mod config recipes active set [parameters]

Examples​

mod config recipes active set src/main/java/com/example/MyRecipe.java

Parameters​

NameDescription
recipeSourceFilePath to a recipe source file (.java, .kt, .yml, or .yaml)

Options​

NameDescription
--recipeRecipe name to select (useful for source files or multi-document YAML files declaring several recipes)

mod config recipes active show​

Shows the current active recipe configuration.

Displays the recipe ID and classpath from the active.recipe file.

Usage​

mod config recipes active show

mod config recipes active delete​

Clears the active recipe configuration.

Removes the active.recipe file.

Usage​

mod config recipes active delete

mod config recipes artifacts​

Configures artifact repositories to resolve recipes from.

Defaults to resolving recipes from Maven Central and Nexus Snapshots.

Usage​

mod config recipes artifacts [subcommands]

Subcommands​

  • artifactory: Configures the artifact repository to resolve recipes from.
  • show: Displays the recipe artifacts repository configuration.
  • maven: Configures a Maven-formatted artifact repository that recipes will be resolved from.
  • npm: Configures an npm registry that recipes will be resolved from.
  • pip: Configures a pip index that recipes will be resolved from.
  • nuget: Configures a NuGet feed that recipes will be resolved from.
  • go: Configures a Go module proxy that recipes will be resolved from.

mod config recipes artifacts artifactory​

Configures the artifact repository to resolve recipes from.

All subsequent recipe installation commands will use this Artifactory repository.

Usage​

mod config recipes artifacts artifactory [subcommands]

Subcommands​

  • add: Configures the artifact repository to resolve recipes from.
  • edit: (DEPRECATED) Use mod config recipes artifacts artifactory add instead.
  • delete: Removes the Artifactory repository configuration.
  • show: Displays the Artifactory repository configuration.

mod config recipes artifacts artifactory add​

Configures the artifact repository to resolve recipes from.

All subsequent recipe installation commands will use this artifact repository.

Usage​

mod config recipes artifacts artifactory add [parameters]

Examples​

mod config recipes artifacts artifactory add <artifact-repository-url> --user <user> --password <password>

Parameters​

NameDescriptionExample
urlThe URL of the artifact repository that recipes will be resolved from.https://artifactory.company-name.com/artifactory/moderne-recipes

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--jfrog-api-tokenThe JFrog API token to use.
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts artifactory edit (deprecated)​

(DEPRECATED) Use mod config recipes artifacts artifactory add instead.

This command is deprecated. Use mod config recipes artifacts artifactory add instead.

Usage​

mod config recipes artifacts artifactory edit [parameters]

Examples​

mod config recipes artifacts artifactory add <artifact-repository-url> --user <user> --password <password>

Parameters​

NameDescriptionExample
urlThe URL of the artifact repository that recipes will be resolved from.https://artifactory.company-name.com/artifactory/moderne-recipes

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--jfrog-api-tokenThe JFrog API token to use.
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts artifactory delete​

Removes the Artifactory repository configuration.

If a URL is provided, only that repository is removed. Otherwise, all Artifactory repositories are removed.

Usage​

mod config recipes artifacts artifactory delete [parameters]

Parameters​

NameDescription
urlThe URL of the Artifactory repository to remove. If not provided, all Artifactory repositories are removed.

mod config recipes artifacts artifactory show​

Displays the Artifactory repository configuration.

Usage​

mod config recipes artifacts artifactory show

mod config recipes artifacts show​

Displays the recipe artifacts repository configuration.

Usage​

mod config recipes artifacts show

mod config recipes artifacts maven​

Configures a Maven-formatted artifact repository that recipes will be resolved from.

All subsequent recipe installation commands will use this Maven repository.

Usage​

mod config recipes artifacts maven [subcommands]

Subcommands​

  • add: Configures a repository that recipes will be resolved from.
  • edit: (DEPRECATED) Use mod config recipes artifacts maven add instead.
  • delete: Removes the Maven artifact repository repository configuration.
  • show: Displays the Maven artifact repository repository configuration.

mod config recipes artifacts maven add​

Configures a repository that recipes will be resolved from.

If a repository with the same URL already exists, it will be updated. Otherwise, the repository will be added to the list of Maven repositories.

Usage​

mod config recipes artifacts maven add [parameters]

Examples​

mod config recipes artifacts maven add <artifact-repository-url> --user <user> --password <password>

Parameters​

NameDescription
urlThe URL of the artifact repository that recipes will be resolved from.

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts maven edit (deprecated)​

(DEPRECATED) Use mod config recipes artifacts maven add instead.

This command is deprecated. Use mod config recipes artifacts maven add instead.

Usage​

mod config recipes artifacts maven edit [parameters]

Examples​

mod config recipes artifacts maven add <artifact-repository-url> --user <user> --password <password>

Parameters​

NameDescription
urlThe URL of the artifact repository that recipes will be resolved from.

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts maven delete​

Removes the Maven artifact repository repository configuration.

If a URL is provided, only that repository is removed. Otherwise, all Maven repositories are removed.

Usage​

mod config recipes artifacts maven delete [parameters]

Parameters​

NameDescription
urlThe URL of the repository to remove. If not provided, all repositories of this type are removed.

mod config recipes artifacts maven show​

Displays the Maven artifact repository repository configuration.

Usage​

mod config recipes artifacts maven show

mod config recipes artifacts npm​

Configures an npm registry that recipes will be resolved from.

All subsequent recipes npm install commands will use the configured registries.

Usage​

mod config recipes artifacts npm [subcommands]

Subcommands​

  • add: Configures an npm registry that recipes will be resolved from.
  • delete: Removes an npm registry from the recipe artifact repository configuration.
  • show: Displays the configured npm recipe artifact registries.

mod config recipes artifacts npm add​

Configures an npm registry that recipes will be resolved from.

If a registry with the same URL already exists, it will be updated. Otherwise, the registry will be appended to the list of npm registries.

Usage​

mod config recipes artifacts npm add [parameters]

Examples​

mod config recipes artifacts npm add <registry-url> --scope @myorg --user <user> --password <password>

Parameters​

NameDescription
urlThe URL of the artifact repository that recipes will be resolved from.

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--passwordThe password to authenticate with.
--scopeThe npm package scope (e.g. @myorg) that this registry serves. If omitted, this registry is configured as the default for unscoped packages.@myorg
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts npm delete​

Removes an npm registry from the recipe artifact repository configuration.

If a URL is provided, only that registry is removed. Otherwise, all npm registries are removed.

Usage​

mod config recipes artifacts npm delete [parameters]

Parameters​

NameDescription
urlThe URL of the repository to remove. If not provided, all repositories of this type are removed.

mod config recipes artifacts npm show​

Displays the configured npm recipe artifact registries.

Usage​

mod config recipes artifacts npm show

mod config recipes artifacts pip​

Configures a pip index that recipes will be resolved from.

All subsequent recipes pip install commands will use the configured indices.

Usage​

mod config recipes artifacts pip [subcommands]

Subcommands​

  • add: Configures a pip index that recipes will be resolved from.
  • delete: Removes a pip index from the recipe artifact repository configuration.
  • show: Displays the configured pip recipe artifact indices.

mod config recipes artifacts pip add​

Configures a pip index that recipes will be resolved from.

If an index with the same URL already exists, it will be updated. Otherwise, the index will be appended to the list of pip indices.

Usage​

mod config recipes artifacts pip add [parameters]

Examples​

mod config recipes artifacts pip add <index-url> --user <user> --password <password>

Parameters​

NameDescription
urlThe URL of the artifact repository that recipes will be resolved from.

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts pip delete​

Removes a pip index from the recipe artifact repository configuration.

If a URL is provided, only that index is removed. Otherwise, all pip indices are removed.

Usage​

mod config recipes artifacts pip delete [parameters]

Parameters​

NameDescription
urlThe URL of the repository to remove. If not provided, all repositories of this type are removed.

mod config recipes artifacts pip show​

Displays the configured pip recipe artifact indices.

Usage​

mod config recipes artifacts pip show

mod config recipes artifacts nuget​

Configures a NuGet feed that recipes will be resolved from.

All subsequent recipes nuget install commands will use the configured feeds.

Usage​

mod config recipes artifacts nuget [subcommands]

Subcommands​

  • add: Configures a NuGet feed that recipes will be resolved from.
  • delete: Removes a NuGet feed from the recipe artifact repository configuration.
  • show: Displays the configured NuGet recipe artifact feeds.

mod config recipes artifacts nuget add​

Configures a NuGet feed that recipes will be resolved from.

If a feed with the same URL already exists, it will be updated. Otherwise, the feed will be appended to the list of NuGet feeds. NuGet.config requires unique feed names; if --name is omitted, the URL host is used as a fallback at install time.

Usage​

mod config recipes artifacts nuget add [parameters]

Examples​

mod config recipes artifacts nuget add <feed-url> --name myfeed --user <user> --password <password>

Parameters​

NameDescription
urlThe URL of the artifact repository that recipes will be resolved from.

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--nameThe feed name used in the generated NuGet.config. Defaults to the URL host.internal
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts nuget delete​

Removes a NuGet feed from the recipe artifact repository configuration.

If a URL is provided, only that feed is removed. Otherwise, all NuGet feeds are removed.

Usage​

mod config recipes artifacts nuget delete [parameters]

Parameters​

NameDescription
urlThe URL of the repository to remove. If not provided, all repositories of this type are removed.

mod config recipes artifacts nuget show​

Displays the configured NuGet recipe artifact feeds.

Usage​

mod config recipes artifacts nuget show

mod config recipes artifacts go​

Configures a Go module proxy that recipes will be resolved from.

All subsequent recipes go install commands will use the configured feeds.

Usage​

mod config recipes artifacts go [subcommands]

Subcommands​

  • add: Configures a Go module proxy that recipes will be resolved from.
  • delete: Removes a Go feed from the recipe artifact repository configuration.
  • show: Displays the configured Go recipe artifact feeds.

mod config recipes artifacts go add​

Configures a Go module proxy that recipes will be resolved from.

If a feed with the same URL already exists, it will be updated. Otherwise, the feed will be appended to the list of Go feeds.

Usage​

mod config recipes artifacts go add [parameters]

Examples​

mod config recipes artifacts go add <feed-url> --user <user> --password <password>

Parameters​

NameDescription
urlThe URL of the artifact repository that recipes will be resolved from.

Options​

NameDescriptionExample
--authorizationThe authorization header value to use.Bearer XXXXX
--passwordThe password to authenticate with.
--skip-sslIf this parameter is included, SSL verification will be skipped.
--userThe user to authenticate with.

mod config recipes artifacts go delete​

Removes a Go feed from the recipe artifact repository configuration.

If a URL is provided, only that feed is removed. Otherwise, all Go feeds are removed.

Usage​

mod config recipes artifacts go delete [parameters]

Parameters​

NameDescription
urlThe URL of the repository to remove. If not provided, all repositories of this type are removed.

mod config recipes artifacts go show​

Displays the configured Go recipe artifact feeds.

Usage​

mod config recipes artifacts go show

mod config recipes csv​

Manage the recipe marketplace via a Recipe Marketplace CSV.

Usage​

mod config recipes csv [subcommands]

Subcommands​

  • sync: Synchronizes the local CLI recipe marketplace from a Recipe Marketplace CSV.

mod config recipes csv sync​

Synchronizes the local CLI recipe marketplace from a Recipe Marketplace CSV.

Downloads or copies a Recipe Marketplace CSV from the given URI and installs it as the local CLI marketplace, replacing any existing marketplace state. See https://docs.moderne.io/user-documentation/moderne-cli/references/recipes-csv/#csv-format.

Usage​

mod config recipes csv sync [parameters]

Examples​

mod config recipes csv sync /path/to/recipes.csv

mod config recipes csv sync https://example.com/recipes.csv

Parameters​

NameDescriptionExample
csvThe URI (local file or remote URL) of the recipes CSV./path/to/recipes.csv

mod config recipes export​

Export the recipe catalog for study by different tools.

Usage​

mod config recipes export [subcommands]

Subcommands​

  • json: (DEPRECATED) Export recipe details as JSON.
  • csv: Export recipe details as CSV.

mod config recipes export json​

(DEPRECATED) Export recipe details as JSON.

This format has been superseded by the standard Recipe Marketplace CSV format.

Usage​

mod config recipes export json [parameters]

Parameters​

NameDescription
outputThe path to the output JSON file.

mod config recipes export csv​

Export recipe details as CSV.

Usage​

mod config recipes export csv [parameters]

Parameters​

NameDescription
outputThe path to the output CSV file.

mod config recipes import​

Import recipes into the marketplace from different formats.

Usage​

mod config recipes import [subcommands]

Subcommands​

  • csv: Import recipes from a CSV file into the marketplace.

mod config recipes import csv​

Import recipes from a CSV file into the marketplace.

Reads recipes from the specified CSV file and merges them into the existing recipe marketplace. Recipes with the same name will be replaced by the imported version. See https://docs.moderne.io/user-documentation/moderne-cli/references/recipes-csv/#csv-format for the CSV format.

Usage​

mod config recipes import csv [parameters]

Parameters​

NameDescription
inputThe path to the CSV file to import.

mod config recipes go​

Adds or updates a Go module that contains recipes that should be added to the recipe marketplace in the CLI.

Allows installing and deleting recipes from Go modules.

Usage​

mod config recipes go [subcommands]

Subcommands​

  • install: Adds or updates a Go module that contains recipes that should be added to the recipe marketplace in the CLI.
  • retrieve: Reports where an installed Go recipe module is on disk.
  • delete: Removes a Go module supplying recipes from the marketplace.

mod config recipes go install​

Adds or updates a Go module that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined by this Go module will then be available to run.

Usage​

mod config recipes go install [parameters]

Examples​

mod config recipes go install github.com/openrewrite/rewrite-go-recipes@v1.0.0

Parameters​

NameDescription
MODULE[@VERSION]The Go module path with an optional version in the format module@version, where @version is optional.

mod config recipes go retrieve​

Reports where an installed Go recipe module is on disk.

Locates an installed Go module in the module cache and prints its directory. A Go recipe sidecar can load the recipes from that directory without contacting a module proxy.

Usage​

mod config recipes go retrieve [parameters]

Examples​

mod config recipes go retrieve github.com/openrewrite/rewrite-go-recipes

Parameters​

NameDescription
MODULEThe Go module path as it was installed.

Options​

NameDescription
--jsonPrint the result as JSON rather than for reading. Nothing else is written to stdout.

mod config recipes go delete​

Removes a Go module supplying recipes from the marketplace.

The recipes defined by this Go module will then no longer be available to run.

Usage​

mod config recipes go delete [parameters]

Examples​

mod config recipes go delete github.com/openrewrite/rewrite-go-recipes

Parameters​

NameDescriptionExample
modulePathA Go module path.github.com/openrewrite/rewrite-go-recipes

mod config recipes jar​

Adds or updates an artifact that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined by this artifact will then be available to run.

Usage​

mod config recipes jar [subcommands]

Examples​

mod config recipes jar install org.openrewrite:rewrite-java:LATEST

Subcommands​

  • install: Adds or updates an artifact that contains recipes that should be added to the recipe marketplace in the CLI.
  • retrieve: Retrieves an installed recipe artifact's dependencies and records its classpath.
  • delete: Removes an artifact supplying recipes to the marketplace.

mod config recipes jar install​

Adds or updates an artifact that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined by this artifact will then be available to run.

Usage​

mod config recipes jar install [parameters]

Examples​

mod config recipes jar install org.openrewrite:rewrite-java:LATEST

Parameters​

NameDescription
GAVThe group, artifact, and version of the artifact to install in the format groupId:artifactId:version. The version may be a fixed version, LATEST, or RELEASE.
The dependency will be resolved from the artifact source defined in mod config recipes artifacts

mod config recipes jar retrieve​

Retrieves an installed recipe artifact's dependencies and records its classpath.

Downloads the dependencies of an installed recipe artifact and records its classpath so that later runs do not resolve it again. Prints the recipe JAR and the number of dependencies retrieved.

Usage​

mod config recipes jar retrieve [parameters]

Examples​

mod config recipes jar retrieve org.openrewrite:rewrite-java

Parameters​

NameDescription
GAThe group and artifact of an installed recipe artifact, in the format groupId:artifactId. The version is the one mod config recipes jar install selected.
The dependencies will be resolved from the artifact source defined in mod config recipes artifacts

Options​

NameDescription
--jsonPrint the result as JSON rather than for reading. Nothing else is written to stdout.

mod config recipes jar delete​

Removes an artifact supplying recipes to the marketplace.

The recipes defined by this artifact will then no longer be available to run.

Usage​

mod config recipes jar delete [parameters]

Examples​

mod config recipes jar delete rewrite-java

Parameters​

NameDescriptionExamples
artifactAn artifact name or group and artifact name.• rewrite-java
• org.openrewrite:rewrite-java

mod config recipes npm​

Adds or updates an npm package that contain recipes that should be added to the recipe marketplace in the CLI.

Allows installing and deleting recipes from npm packages.

Usage​

mod config recipes npm [subcommands]

Subcommands​

  • install: Adds or updates an npm package that contain recipes that should be added to the recipe marketplace in the CLI.
  • retrieve: Reports where an installed npm recipe package is on disk.
  • delete: Removes an npm package supplying recipes from the marketplace.

mod config recipes npm install​

Adds or updates an npm package that contain recipes that should be added to the recipe marketplace in the CLI.

The recipes defined by this npm package will then be available to run.

Usage​

mod config recipes npm install [parameters]

Examples​

mod config recipes npm install my-recipe-package@latest

Parameters​

NameDescription
PACKAGE[@VERSION]The npm package name with an optional version in the format package@version, where @version is optional. Alternatively,a path to a compiled recipe on disk that provides an OpenRewrite activate function.

mod config recipes npm retrieve​

Reports where an installed npm recipe package is on disk.

Verifies that an installed npm package is still on disk and prints its directory. A JavaScript recipe sidecar can load the recipes from that directory without contacting the registry.

Usage​

mod config recipes npm retrieve [parameters]

Examples​

mod config recipes npm retrieve @openrewrite/recipes-nodejs

Parameters​

NameDescription
PACKAGEThe npm package name as it was installed, with its @scope if it has one.

Options​

NameDescription
--jsonPrint the result as JSON rather than for reading. Nothing else is written to stdout.

mod config recipes npm delete​

Removes an npm package supplying recipes from the marketplace.

The recipes defined by this npm package will then no longer be available to run.

Usage​

mod config recipes npm delete [parameters]

Examples​

mod config recipes npm delete my-recipe-package

Parameters​

NameDescriptionExample
packageNameAn npm package name or a compiled JavaScript file containing an OpenRewrite activate function.@openrewrite/recipes-nodejs

mod config recipes nuget​

Adds or updates a NuGet package that contains recipes that should be added to the recipe marketplace in the CLI.

Allows installing and deleting recipes from NuGet packages.

Usage​

mod config recipes nuget [subcommands]

Subcommands​

  • install: Adds or updates a NuGet package that contains recipes that should be added to the recipe marketplace in the CLI.
  • retrieve: Reports where an installed NuGet recipe package's publish output is on disk.
  • delete: Removes a NuGet package supplying recipes from the marketplace.

mod config recipes nuget install​

Adds or updates a NuGet package that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined by this NuGet package will then be available to run.

Usage​

mod config recipes nuget install [parameters]

Examples​

mod config recipes nuget install OpenRewrite.Recipes@1.0.0

Parameters​

NameDescription
PACKAGE[@VERSION]The NuGet package name with an optional version in the format package@version, where @version is optional.

mod config recipes nuget retrieve​

Reports where an installed NuGet recipe package's publish output is on disk.

Verifies that an installed NuGet package's publish output is still on disk and prints its directory. A C# recipe sidecar can load the recipes from that directory without contacting a feed.

Usage​

mod config recipes nuget retrieve [parameters]

Examples​

mod config recipes nuget retrieve OpenRewrite.Recipes

Parameters​

NameDescription
PACKAGEThe NuGet package id as it was installed.

Options​

NameDescription
--jsonPrint the result as JSON rather than for reading. Nothing else is written to stdout.

mod config recipes nuget delete​

Removes a NuGet package supplying recipes from the marketplace.

The recipes defined by this NuGet package will then no longer be available to run.

Usage​

mod config recipes nuget delete [parameters]

Examples​

mod config recipes nuget delete OpenRewrite.Recipes

Parameters​

NameDescriptionExample
packageNameA NuGet package name.OpenRewrite.Recipes

mod config recipes pip​

Adds or updates a pip package that contains recipes that should be added to the recipe marketplace in the CLI.

Allows installing and deleting recipes from pip packages.

Usage​

mod config recipes pip [subcommands]

Subcommands​

  • install: Adds or updates a pip package that contains recipes that should be added to the recipe marketplace in the CLI.
  • retrieve: Reports where an installed pip recipe package is on disk.
  • delete: Removes a pip package supplying recipes from the marketplace.

mod config recipes pip install​

Adds or updates a pip package that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined by this pip package will then be available to run.

Usage​

mod config recipes pip install [parameters]

Examples​

mod config recipes pip install rewrite-recipe-example==1.0.0

Parameters​

NameDescription
PACKAGE[==VERSION]The pip package name or local path with an optional version in the format package==version, where ==version is optional.

mod config recipes pip retrieve​

Reports where an installed pip recipe package is on disk.

Verifies that an installed pip package is still on disk and prints the directory it was installed into. A Python recipe sidecar given that directory as its recipe install directory can import the recipes without contacting the index.

Usage​

mod config recipes pip retrieve [parameters]

Examples​

mod config recipes pip retrieve rewrite-recipe-example

Parameters​

NameDescription
PACKAGEThe pip distribution name as it was installed.

Options​

NameDescription
--jsonPrint the result as JSON rather than for reading. Nothing else is written to stdout.

mod config recipes pip delete​

Removes a pip package supplying recipes from the marketplace.

The recipes defined by this pip package will then no longer be available to run.

Usage​

mod config recipes pip delete [parameters]

Examples​

mod config recipes pip delete rewrite-recipe-example

Parameters​

NameDescriptionExample
packageNameA pip package name.rewrite-recipe-example

mod config recipes moderne​

Configures which Moderne recipes should be installed and used in the local CLI marketplace.

The recipes installed will then be available to run locally.

Usage​

mod config recipes moderne [subcommands]

Examples​

mod config recipes moderne install <SEARCH_TERM>

mod config recipes moderne sync

Subcommands​

  • install: Allows you to find and install recipes from Moderne.
  • sync: Synchronizes the local CLI recipe marketplace with Moderne.

mod config recipes moderne install​

Allows you to find and install recipes from Moderne.

After providing a search term, the Moderne API will be queried to find recipes that match it. You will be provided with up to 10 possible matches and the option to select one to install. If you select to install one, the appropriate JAR will be downloaded and added to your local CLI marketplace. The recipes defined by this artifact will then be available to run.

Usage​

mod config recipes moderne install [parameters]

Examples​

mod config recipes moderne install <SEARCH_TERM>

mod config recipes moderne install FindTypes

mod config recipes moderne install "Migrate Java"

Parameters​

NameDescription
searchTermThe search term to use to find recipes to install.

mod config recipes moderne sync​

Synchronizes the local CLI recipe marketplace with Moderne.

Destroys all recipes in the local CLI marketplace and replaces them with the latest recipes available in Moderne. The recipes defined by these artifacts will then be available to run.

Usage​

mod config recipes moderne sync

Options​

NameDescription
-y, --yesAutomatically confirm replacing an existing local marketplace. Required when there is no console to prompt on.

mod config recipes delete​

Clear the whole recipe marketplace.

No recipes will be available to run until they are installed again.

Usage​

mod config recipes delete

mod config recipes list​

List the artifacts that are contributing recipes to the marketplace.

Usage​

mod config recipes list

Finds recipes based on free form text search.

The found recipes may then be set as the active recipe. Multiple word searches may, but don't need to surrounded by quotes on the command line.

Usage​

mod config recipes search [parameters]

Examples​

mod config recipes search owasp

Parameters​

NameDescription
query

Options​

NameDescription
--jsonPrint the results as JSON rather than asking which one you want. Defaults to displayName, id and recipeCount; any of id, displayName, description, recipeCount, ecosystem, package, version, options and dataTables may be named instead.
--limitThe maximum total number of results that will be returned.

mod config recipes source​

Work on the source of recipes in a working set.

A recipe project kept under .moderne/recipes/ of a working set is built from its source whenever it changed and its recipes run in place of the published ones of the same names, in every mod run on a path inside that working set. Nothing is published or installed. On a working set checked out to a changeset, each is a git repository whose commits are pushed to the changeset for the other sessions to pull.

Usage​

mod config recipes source [subcommands]

Examples​

mod config recipes source checkout . --recipe org.openrewrite.java.migrate.UpgradeToJava25

Subcommands​

  • checkout: Check out the source of a recipe into the working set.
  • new: Start a new recipe project in the working set.

mod config recipes source checkout​

Check out the source of a recipe into the working set.

Finds the repository the recipe's package was built from, in the package's own metadata, and clones it to .moderne/recipes/<name>. On a working set checked out to a changeset that already holds the repository, the changeset's copy is cloned, which has the commits other sessions pushed. Otherwise the upstream default branch is cloned with its whole history.

Usage​

mod config recipes source checkout [parameters]

Examples​

mod config recipes source checkout . --recipe org.openrewrite.java.migrate.UpgradeToJava25

mod config recipes source checkout . --url https://github.com/openrewrite/rewrite-migrate-java

Parameters​

NameDescription
pathThe working set to check the recipe's source out into.

Options​

NameDescription
--recipeThe ID of a recipe whose source to check out. A trailing portion of the ID is accepted when it matches only one recipe.
--urlThe git repository to clone, for a package that does not say where its source is kept, or to check out a repository no installed recipe came from.

mod config recipes source new​

Start a new recipe project in the working set.

Writes a recipe project to .moderne/recipes/<name> and makes it a git repository. On a working set checked out to a changeset its branch is the changeset's and its commits are pushed there. It builds as it stands, so a recipe added to it runs on the next mod run.

Usage​

mod config recipes source new [parameters]

Examples​

mod config recipes source new . rewrite-acme

mod config recipes source new . recipes-acme --ecosystem npm

Parameters​

NameDescription
pathThe working set to start the recipe project in.
nameThe name of the project and of its repository, for example rewrite-acme.

Options​

NameDescription
--ecosystemWhat builds the project, which settles the language of its recipes: gradle for recipes written in Java, npm for recipes written in TypeScript, which is how a recipe for JavaScript or TypeScript code is written. Default: gradle.
--groupThe group the project's artifact is published under, which also begins its package.

mod config recipes tree​

Show what a composite recipe is made of.

A migration recipe composes hundreds or thousands of others, and its description cannot say what all of them do. This expands one level at a time so that the size of the answer does not depend on the size of the recipe. Drill in by running this again on the ID of any line that shows a child count.

Usage​

mod config recipes tree [parameters]

Examples​

mod config recipes tree org.openrewrite.java.migrate.UpgradeToJava25

Parameters​

NameDescription
recipeThe recipe ID to expand. A trailing portion of the ID is accepted when it matches only one recipe.

Options​

NameDescription
--depthHow many levels below the recipe to expand.
--jsonPrint the tree as JSON rather than for reading. Defaults to id and instanceName; any of id, instanceName, displayName, description, distinctRecipes, ecosystem, package and version may be named instead.

mod config recipes upgrade​

Upgrades all installed recipe artifacts to the latest available version.

For each installed recipe artifact with a dynamic requested version, re-resolves the latest version from the configured artifact source and reinstalls it.

Usage​

mod config recipes upgrade

Examples​

mod config recipes upgrade

mod config recipes yaml​

Adds or updates a YAML file that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined in this YAML file will then be available to run.

Usage​

mod config recipes yaml [subcommands]

Examples​

mod config recipes yaml install /path/to/yaml

Subcommands​

  • install: Adds or updates a YAML file that contains recipes that should be added to the recipe marketplace in the CLI.
  • delete: Removes an artifact supplying recipes to the marketplace.

mod config recipes yaml install​

Adds or updates a YAML file that contains recipes that should be added to the recipe marketplace in the CLI.

The recipes defined in this YAML file will then be available to run.

Usage​

mod config recipes yaml install [parameters]

Examples​

mod config recipes yaml install /path/to/yaml

Parameters​

NameDescription
pathsThe path(s) to the YAML file to install. Each YAML file will be copied, so if further modifications to them are made, make sure to reinstall.

Options​

NameDescription
--categoryThe name of the category to install these recipes into.

mod config recipes yaml delete​

Removes an artifact supplying recipes to the marketplace.

The recipes defined by this artifact will then no longer be available to run.

Usage​

mod config recipes yaml delete [parameters]

Examples​

mod config recipes yaml delete /path/to/yml

Parameters​

NameDescription
pathThe path to the YAML file to uninstall.

mod config run​

Configures recipe run behavior.

All subsequent runs will use these settings

Usage​

mod config run [subcommands]

Subcommands​

  • polyglot-parallel: Configure how many polyglot rewrite-rpc requests may run concurrently.
  • stall-threshold: Configure how long a run may go without any repository finishing.
  • timeout: Configure the run timeout.

mod config run polyglot-parallel​

Configure how many polyglot rewrite-rpc requests may run concurrently.

Caps the number of in-flight visit/parse/generate calls to Python, JavaScript, .NET, and Go rewrite-rpc subprocesses across a single recipe run. Each subprocess is unbounded in memory; this knob caps how many can be actively executing at the same time so the host running the CLI does not exhaust RAM. Pure-Java recipes are unaffected.

Usage​

mod config run polyglot-parallel [subcommands]

Subcommands​

  • delete: Restore the polyglot rewrite-rpc concurrency cap to the default value.
  • edit: Configure the polyglot rewrite-rpc concurrency cap.
  • show: Display the configured polyglot rewrite-rpc concurrency cap.

mod config run polyglot-parallel delete​

Restore the polyglot rewrite-rpc concurrency cap to the default value.

Usage​

mod config run polyglot-parallel delete

mod config run polyglot-parallel edit​

Configure the polyglot rewrite-rpc concurrency cap.

Usage​

mod config run polyglot-parallel edit [parameters]

Parameters​

NameDescription
parallelMaximum number of polyglot rewrite-rpc requests in flight at once. Sized to host memory headroom. Allowed range: 1-64.

mod config run polyglot-parallel show​

Display the configured polyglot rewrite-rpc concurrency cap.

Usage​

mod config run polyglot-parallel show

mod config run stall-threshold​

Configure how long a run may go without any repository finishing.

When no repository in a run has finished for this long, the CLI gives up on the repository that has been running the longest and lets the rest of the run continue, rather than the whole run being killed with nothing to show for it. The clock is relative to the run as a whole, so a legitimately slow repository is never given up on while other repositories are still finishing. Set to PT0S to disable.

Usage​

mod config run stall-threshold [subcommands]

Subcommands​

  • delete: Restores the configured run stall threshold to the default value.
  • edit: Configure how long a run may go without any repository finishing.
  • show: Displays the configured run stall threshold.

mod config run stall-threshold delete​

Restores the configured run stall threshold to the default value.

Usage​

mod config run stall-threshold delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config run stall-threshold edit​

Configure how long a run may go without any repository finishing.

Usage​

mod config run stall-threshold edit [parameters]

Parameters​

NameDescription
durationThe duration expressed as an ISO-8601 duration. For example: 'PT15M' for fifteen minutes, 'PT1H' for one hour. 'PT0S' disables giving up on a repository entirely.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config run stall-threshold show​

Displays the configured run stall threshold.

Usage​

mod config run stall-threshold show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config run timeout​

Configure the run timeout.

Limits the amount of time the CLI will wait for a single execution of a recipe run.

Usage​

mod config run timeout [subcommands]

Subcommands​

  • delete: Restores the configured run timeout to the default value.
  • edit: Configure the timeout for recipe runs.
  • show: Displays the configured run timeout.

mod config run timeout delete​

Restores the configured run timeout to the default value.

Usage​

mod config run timeout delete

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config run timeout edit​

Configure the timeout for recipe runs.

Limits the amount of time the CLI will wait for a single execution of a recipe run.

Usage​

mod config run timeout edit [parameters]

Parameters​

NameDescription
durationThe duration of the timeout expressed as an ISO-8601 duration. For example: 'PT1H' for one hour, 'PT30M' for 30 minutes, 'PT1H30M' for one hour and 30 minutes.

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config run timeout show​

Displays the configured run timeout.

Usage​

mod config run timeout show

Options​

NameDescription
--localApply this command recursively to all repositories found within the specified directory path, modifying each repository's git-ignored file .moderne/moderne-uncommitted.yml
Has no impact on the global configuration.
--saveApply the operation to the file .moderne/moderne.yml which can be committed to source control as opposed to the git-ignored variant.
Can only be used with --local.
Has no effect on the global configuration.

mod config scm (deprecated)​

(DEPRECATED) Configures source code management.

Usage​

mod config scm [subcommands]

Subcommands​

  • moderne: (DEPRECATED) Configures the SCM configuration with Moderne
  • add
  • remove
  • show: (DEPRECATED) Displays the configured SCMs

mod config scm moderne (deprecated)​

(DEPRECATED) Configures the SCM configuration with Moderne

Usage​

mod config scm moderne [subcommands]

Examples​

mod config scm moderne sync

Subcommands​

  • sync: Synchronizes the SCM configuration with your Moderne instance

mod config scm moderne sync (deprecated)​

Synchronizes the SCM configuration with your Moderne instance

Usage​

mod config scm moderne sync

mod config scm add (deprecated)​

(DEPRECATED) Add an SCM configuration

Usage​

mod config scm add [parameters]

Parameters​

NameDescription
typeThe SCM type
baseUrlThe primary SCM URL

Options​

NameDescription
--alternate-urlAlternate SCM URLs

mod config scm remove (deprecated)​

(DEPRECATED) Remove an SCM configuration by type and URL

Usage​

mod config scm remove [parameters]

Parameters​

NameDescription
type
baseUrl

mod config scm show (deprecated)​

(DEPRECATED) Displays the configured SCMs

Usage​

mod config scm show

mod config secrets​

Configures how secrets in the configuration are kept.

Tokens and passwords are written to moderne.yml as null placeholders, so that reading the configuration does not reveal them.

Usage​

mod config secrets [subcommands]

Subcommands​

  • store: Configures where the secrets of the global configuration are kept.

mod config secrets store​

Configures where the secrets of the global configuration are kept.

Either the OS keychain (the macOS keychain, Windows Credential Manager, or the Secret Service of a Linux desktop through secret-tool) or a secrets.properties file beside moderne.yml. The keychain is the default on macOS and Windows, the file on Linux.

Usage​

mod config secrets store [subcommands]

Subcommands​

  • delete: Keeps secrets in the default store for this OS, moving every secret in moderne.yml there.
  • edit: Chooses where secrets are kept, moving every secret in moderne.yml there.
  • show: Displays where secrets are kept.

mod config secrets store delete​

Keeps secrets in the default store for this OS, moving every secret in moderne.yml there.

Usage​

mod config secrets store delete

mod config secrets store edit​

Chooses where secrets are kept, moving every secret in moderne.yml there.

Secrets still in plain text move too, and one that can't be moved is reported.

Usage​

mod config secrets store edit [parameters]

Parameters​

NameDescription
storeEither 'keychain' or 'file'.

mod config secrets store show​

Displays where secrets are kept.

Usage​

mod config secrets store show

mod config telemetry​

Configures CLI telemetry.

Configure how the CLI uploads telemetry to the configured Moderne tenant.

Usage​

mod config telemetry [subcommands]

Subcommands​

  • wait-for-upload: Waits for queued telemetry to upload before exiting.

mod config telemetry wait-for-upload​

Waits for queued telemetry to upload before exiting.

Telemetry uploads in the background as each command finishes. Enable this on CI runners and containers, whose filesystem does not outlive the command and so never retries the upload. Disabled by default.

Usage​

mod config telemetry wait-for-upload

Options​

NameDescription
--enabled

mod copilot​

(INCUBATING) Launches a GitHub Copilot session configured to use mod for deterministic multi-repository work.

Usage​

mod copilot [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a GitHub Copilot session configured to use mod for deterministic multi-repository work.

mod copilot chat​

(INCUBATING) Launches a GitHub Copilot session configured to use mod for deterministic multi-repository work.

Launches a GitHub Copilot session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod copilot chat [parameters]

Examples​

mod copilot chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod cursor​

(INCUBATING) Launches a Cursor session configured to use mod for deterministic multi-repository work.

Usage​

mod cursor [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a Cursor session configured to use mod for deterministic multi-repository work.

mod cursor chat​

(INCUBATING) Launches a Cursor session configured to use mod for deterministic multi-repository work.

Launches a Cursor session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod cursor chat [parameters]

Examples​

mod cursor chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod doctor​

Checks that this machine and the CLI's configuration can build and publish LSTs.

Reports on the host, the CLI's own configuration, the toolchains it found, git and its credentials, and then the services a mass-ingest run depends on: Maven settings, the LST artifact store, the Moderne tenant, the license to run on private code, and the SCM origins listed in a repos.csv. Each section lists facts first, then its checks as what was found against what a run needs. A check that says must fails the command when it is not met; one that says should only warns. What to do about each is listed at the end. Every check is read-only, and nothing is written to any remote.

Usage​

mod doctor [parameters]

Examples​

mod doctor /path/to/project

mod doctor --sync-csv --skip-remote

Parameters​

NameDescription
pathThe directory a run works in. Its free space is checked, and its .moderne/repos-lock.csv is the default list of SCM origins to probe.

Options​

NameDescription
--json(INCUBATING) Output the report in JSON. The format of this JSON is unsettled at this point, and the data structure may change.
--skip-remoteDo not contact any network service. Remote sections report a single skipped row.
--sync-csvA repos.csv whose rows are summarized and whose SCM origins are probed. Without a value, the central repos.csv of the configured LST artifact store is read, as mod publish --sync-csv would.

mod devcenter​

Generate DevCenter dashboards.

Generate a dashboard from a DevCenter recipe run for each organization.

Usage​

mod devcenter [parameters]

Examples​

mod devcenter /path/to/organization

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.

mod exec​

Execute an arbitrary shell command on selected repositories and partitions.

If you want to execute a command that contains positional parameters, please ensure that you use the end-of-options POSIX delimiter (--) before your command.

When a repository has a detected build tool (Maven, Gradle, Bazel, npm, Yarn, pnpm, Bun or uv), the command is executed from the build tool's project directory. For partitioned repositories, the command runs once per partition in each partition's build tool directory. Partitions without a detected build tool are skipped in multi-partition repositories, they lack an execution directory.

Commands can use a set of precomputed environment variables specific to each repository or partition: JAVA_HOME, MODERNE_JAVA_HOME, MODERNE_JAVA_VERSION, MODERNE_JAVA_JDK, MODERNE_BUILD_TOOL, MODERNE_BUILD_TOOL_COMPILE, MODERNE_BUILD_TOOL_CHECK, MODERNE_BUILD_TOOL_DIR and MODERNE_BUILD_TOOL_EXECUTABLE.These variables can be used as literal command arguments (they will be substituted) or as standalone commands that expand to a full build tool invocation. For Maven and Gradle that invocation is the one the build makes, with style, license and static analysis checks turned off, and it runs in each build root of the repository in turn. A JavaScript project's dependencies are installed before its test or build script runs, and a Python project's tests run with pytest in an environment uv provisions.

Open a GitHub Pull Request mod exec /path/to/project -- gh pr create --title "Test PR" --body "Test PR"

Open a GitLab Merge Request mod exec /path/to/project -- glab mr create --title "Test PR" --description "Test PR"

Execute build tool compilation tasks mod exec /path/to/project MODERNE_BUILD_TOOL_COMPILE

Execute build tool verification tasks mod exec /path/to/project MODERNE_BUILD_TOOL_CHECK

List what would run, without running it mod exec /path/to/project MODERNE_BUILD_TOOL_CHECK --dry-run --json

Usage​

mod exec [parameters]

Examples​

mod exec /path/to/project rm *.hprof

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
cmdThe shell command that you wish to run on the selected repository roots.
argsArguments for the command, if any exist.

Options​

NameDescription
--dry-runDo not run the command, but list what would run in each repository, resolved to that repository's build tool, execution directory and JDK. Detecting the build tool still invokes it, exactly as a real run would.
--json(INCUBATING) Print the result as JSON rather than as progress. The format of this JSON is unsettled at this point, and the data structure may change.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
-o, --out, --outputThe output type for the command. Accepts Console and File. If not specified, the output will be printed to a file.
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod git​

Multi-repository git operations.

Usage​

mod git [subcommands]

Subcommands​

  • add: Performs the equivalent of git add on multiple repositories.
  • apply: Performs the equivalent of git apply on multiple repositories.
  • checkout: Performs the equivalent of git checkout on multiple repositories.
  • clone: (DEPRECATED) List of repositories can be sourced from different places, like Moderne or a CSV. All clone operations can be performed in parallel by opt in via **--parallel=0 **.
  • commit: Performs the equivalent of git commit on multiple repositories.
  • compare: Compares a recipe run with what a changeset already holds.
  • pull: Performs the equivalent of git pull on multiple repositories.
  • push: Performs the equivalent of git push on multiple repositories.
  • reset: Performs the equivalent of git reset on multiple repositories.
  • rev-parse: Performs the equivalent of git rev-parse on multiple repositories.
  • rm: Performs the equivalent of git rm on multiple repositories.
  • stashset: Performs the equivalent of git stash on multiple repositories.
  • stashset: Performs the equivalent of git stash on multiple repositories.
  • sync: Synchronizing the state of an organization on disk.
  • status: Performs the equivalent of git status on multiple repositories.

mod git add​

Performs the equivalent of git add on multiple repositories.

Rather than applying git add one at a time, this operates on multiple repositories.

Usage​

mod git add [parameters]

Examples​

mod git add /path/to/project --recipe-run <recipe-run-id>

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod git apply​

Performs the equivalent of git apply on multiple repositories.

Rather than applying one patch at a time, this operates on multiple repositories.

Usage​

mod git apply [parameters]

Examples​

mod git apply /path/to/project --recipe-run 20230903164310-2qVRM

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod git checkout​

Performs the equivalent of git checkout on multiple repositories.

Rather than checking out one repository at a time, this operates on multiple repositories.

Usage​

mod git checkout [parameters]

Examples​

mod git checkout /path/to/project

mod git checkout /path/to/project --changeset --name "Java 25"

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
branchThe branch to checkout.main

Options​

NameDescription
-b, -BCauses a new branch to be created as if git-branch were called and then checked out.
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
-n, --nameWhat a new changeset is called in Moderne.
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod git clone (deprecated)​

(DEPRECATED) List of repositories can be sourced from different places, like Moderne or a CSV. All clone operations can be performed in parallel by opt in via **--parallel=0 **.

Usage​

mod git clone [subcommands]

Examples​

mod git clone moderne /path/to/folder/to/clone/into Apache

Subcommands​

  • csv: (DEPRECATED) Clones the repositories listed in a CSV file.
  • moderne: (DEPRECATED) Clones the repositories in an organization on Moderne.

mod git clone csv (deprecated)​

(DEPRECATED) Clones the repositories listed in a CSV file.

The CSV file should have a header row with the required column cloneUrl and any number of optional columns. The optional columns are branch, changeset, java, jvmOpts, mavenArgs, gradleArgs, bazelRule. All clone operations can be performed in parallel by opt in via --parallel=0.

Usage​

mod git clone csv [parameters]

Parameters​

NameDescription
cloneIntoThe directory to clone all projects into. This directory will be created if it doesn't exist.
csvThe path to a CSV file containing repositories to clone.

Options​

NameDescription
--depthEquivalent to the git clone --depth option.
--filterEquivalent to the git clone --filter option.
--limitThe maximum number of repositories to clone.
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--saveIf the CSV has per repository configuration like custom build tool options, JVM configuration, etc. save that configuration in a .moderne/moderne.yml which can be committed to source control.
--single-branchEquivalent to the git clone --single-branch option.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.
--with-lstsWhether to download LSTs for the repositories.
--with-sourcesWhether to clone the repository at the specified branch.

mod git clone moderne (deprecated)​

(DEPRECATED) Clones the repositories in an organization on Moderne.

This redirects to mod git sync moderne instead, which is a superset of the original behavior of this command.

Usage​

mod git clone moderne [parameters]

Parameters​

NameDescription
cloneIntoThe directory to clone all projects into. This directory will be created if it doesn't exist.
organizationThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.

Options​

NameDescription
--depthEquivalent to the git clone --depth option.
--filterEquivalent to the git clone --filter option.
--limitThe maximum number of repositories to clone.
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--saveIf the CSV has per repository configuration like custom build tool options, JVM configuration, etc. save that configuration in a .moderne/moderne.yml which can be committed to source control.
--single-branchEquivalent to the git clone --single-branch option.
--with-lstsWhether to download LSTs for the repositories.
--with-sourcesWhether to clone the repository at the specified branch.

mod git commit​

Performs the equivalent of git commit on multiple repositories.

Rather than applying one commit at a time, this operates on multiple repositories.

Usage​

mod git commit [parameters]

Examples​

mod git commit /path/to/project -m "commit message"

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
-a, --allStage the changes the recipe run made before committing, as mod git add would.
--allow-emptyWhether or not to allow making empty commits.
--gpg-passphrase-pathPath to a file containing the passphrase for the GPG private key.
--gpg-private-key-pathPath to an armored PGP private key file for signing. Implies --gpg-sign.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
-m, --messageThe commit message to use.
--no-gpg-signOverride commit.gpgsign configuration and create an unsigned commit.
--recipe-runA recipe run ID listed by mod run-history
-S, --gpg-signGPG sign the commit. Uses the local GPG keyring, or a key file if --gpg-private-key-path is provided.
--searchA search run ID to filter repositories to only those with matches.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod git compare​

Compares a recipe run with what a changeset already holds.

On a working set checked out to a changeset, a recipe run cannot be applied to the branch: the run works from each repository as it was before the changeset, and the branch already holds the recipe run the changeset started from and what was committed since. For each repository this puts the run's result on the commit the changeset started from, to the side, and says how it differs from the original run's commit and from the branch as it stands. The checkout, its index and its branch are left as they are. This is how to judge a change to a recipe: run the changed recipe, then compare.

Usage​

mod git compare [parameters]

Examples​

mod git compare /path/to/project --last-recipe-run

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--jsonPrint the comparison of every repository as JSON rather than for reading.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--recipe-runA recipe run ID listed by mod run-history

mod git pull​

Performs the equivalent of git pull on multiple repositories.

Rather than pulling one repository at a time, this operates on multiple repositories.

Usage​

mod git pull [parameters]

Examples​

mod git pull /path/to/project

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescriptionExample
--gpg-passphrase-pathPath to a file containing the passphrase for the GPG private key.
--gpg-private-key-pathPath to an armored PGP private key file for signing. Implies --gpg-sign.
--no-gpg-signOverride commit.gpgsign configuration and create an unsigned commit.
--rebasePull with rebase or not.github.com
-S, --gpg-signGPG sign the commit. Uses the local GPG keyring, or a key file if --gpg-private-key-path is provided.

mod git push​

Performs the equivalent of git push on multiple repositories.

Rather than pushing one repository at a time, this operates on multiple repositories.

Usage​

mod git push [parameters]

Examples​

mod git push /path/to/project -u origin feature-branch

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
repository
refspecSpecify what destination ref to update with what source object.

Options​

NameDescription
--changesetIn place of a recipe run, push each repository's changeset branch to Moderne as a new change on the changeset the working set was checked out to with mod git checkout --changeset.
-f, --forceSame as corresponding flag in git. Overwrites the remote branch with your local branch, even if it would result in losing commits that exist on the remote.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
-m, --messageWith --changeset, a message recorded with the change in Moderne.
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.
--toolWith --changeset, the tool that made the change, recorded with it in Moderne.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.
-u, --set-upstreamFor every branch that is up to date or successfully pushed, add upstream (tracking) reference.

mod git reset​

Performs the equivalent of git reset on multiple repositories.

Rather than applying one stash at a time, this operates on multiple repositories.

Usage​

mod git reset [parameters]

Examples​

mod git reset /path/to/project

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--hardResets the index and working tree.

mod git rev-parse​

Performs the equivalent of git rev-parse on multiple repositories.

Rather than applying one rev-parse at a time, this operates on multiple repositories. Arguments passed to git rev-parse must be specified after the end-of-options POSIX delimiter (--).

Usage​

mod git rev-parse [parameters]

Examples​

mod git rev-parse /path/to/project -- --show-toplevel

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
args

mod git rm​

Performs the equivalent of git rm on multiple repositories.

Rather than applying git rm one at a time, this operates on multiple repositories.

Usage​

mod git rm [parameters]

Examples​

mod git rm /path/to/project .DS_Store

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
fileFile patterns to remove.

Options​

NameDescription
--cachedOnly remove from the index, leaving working tree files in place.

mod git stashset​

Performs the equivalent of git stash on multiple repositories.

Rather than applying one stash at a time, this operates on multiple repositories.

This command does not affect the stash log of the repository, but rather stores the otherwise untracked commit in a multi-repository stash file in Moderne configuration, so the whole 'stashset' can be applied at once atomically.

Usage​

mod git stashset [subcommands]

Examples​

mod git stashset /path/to/project

Subcommands​

  • apply: Performs the equivalent of git stash apply on multiple repositories.
  • push: Performs the equivalent of git stash push on multiple repositories.

mod git stashset apply​

Performs the equivalent of git stash apply on multiple repositories.

Usage​

mod git stashset apply [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
refThe stash ref to apply.

Options​

NameDescription
--forcePop the stash after applying it, regardless of whether it made a change.

mod git stashset push​

Performs the equivalent of git stash push on multiple repositories.

Usage​

mod git stashset push [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
-u, --include-untrackedInclude untracked files.

mod git sync​

Synchronizing the state of an organization on disk.

Synchronizes the set of repositories on disk to a source of repositories and at what branch and changeset they should be.

Usage​

mod git sync [subcommands]

Subcommands​

  • csv: Synchronizes the repositories and metadata of an organization from a local repos.csv file.
  • moderne: Synchronizes the state of an organization with Moderne.

mod git sync csv​

Synchronizes the repositories and metadata of an organization from a local repos.csv file.

Synchronize repositories and metadata to path using a local repos.csv csv file. The CSV must include a cloneUrl column. A flat directory structure is used unless one or more orgN columns are present. By default, repositories do not include source code. Use --with-sources to clone sources. If a publishUri column is present, associated LSTs will also be downloaded.

Usage​

mod git sync csv [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
csvThe URI (local file or remote) to the CSV file to write the organization to.

Options​

NameDescription
--depthEquivalent to the git clone --depth option.
--filterEquivalent to the git clone --filter option.
--limitThe maximum number of repositories to clone.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--saveIf the CSV has per repository configuration like custom build tool options, JVM configuration, etc. save that configuration in a .moderne/moderne.yml which can be committed to source control.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization.
--single-branchEquivalent to the git clone --single-branch option.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.
--with-lstsWhether to download LSTs for the repositories.
--with-sourcesWhether to clone the repository at the specified branch.

mod git sync moderne​

Synchronizes the state of an organization with Moderne.

The repositories are cloned or pulled at the same branch and changeset of the LST that represents that repository in the organization in Moderne, and that LST is downloaded alongside it unless --with-lsts=false is given. If the repository has local changes or is on a different branch no changes will be made. Given --changeset with an id and no organization, the changeset's own repositories are synced at its base commits instead, and without --with-sources each repository's newest change is placed in .moderne/run for mod git apply --last-recipe-run to apply. Joining a changeset also brings its data tables, as each organization aggregates them, for mod study --changeset to read.

Usage​

mod git sync moderne [parameters]

Examples​

mod git sync moderne /path/to/organization --organization <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
organizationNameOrId(DEPRECATED) The name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs. Use --organization instead.

Options​

NameDescription
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
--depthEquivalent to the git clone --depth option.
--filterEquivalent to the git clone --filter option.
--limitThe maximum number of repositories to clone.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--saveIf the CSV has per repository configuration like custom build tool options, JVM configuration, etc. save that configuration in a .moderne/moderne.yml which can be committed to source control.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization.
--single-branchEquivalent to the git clone --single-branch option.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.
--with-lstsWhether to download LSTs for the repositories.
--with-sourcesWhether to clone the repository at the specified branch.

mod git status​

Performs the equivalent of git status on multiple repositories.

Rather than applying git status one at a time, this operates on multiple repositories.

Usage​

mod git status [parameters]

Examples​

mod git status /path/to/project

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

mod kiro​

(INCUBATING) Launches a Kiro session configured to use mod for deterministic multi-repository work.

Usage​

mod kiro [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a Kiro session configured to use mod for deterministic multi-repository work.

mod kiro chat​

(INCUBATING) Launches a Kiro session configured to use mod for deterministic multi-repository work.

Launches a Kiro session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod kiro chat [parameters]

Examples​

mod kiro chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod log​

Manages a log aggregate.

Used to understand holistically how a build performed on many repositories. In contrast to a CI build log which is designed to look at one repository at a time, a log aggregate is designed to look at many repositories at once, illuminating the common causes of failure (or success) and the overall health of the ingestion process.

Usage​

mod log [subcommands]

Subcommands​

  • builds: Adds a set of build logs to a log aggregate.
  • execs: Adds a set of exec logs to a log aggregate.
  • runs: Adds a set of run logs to a log aggregate.
  • syncs: Adds a set of sync logs to a log aggregate.

mod log builds​

Adds a set of build logs to a log aggregate.

In contrast to a CI build log which is designed to look at one repository at a time, a log aggregate is designed to look at many repositories at once, illuminating the common causes of failure (or success) and the overall health of the ingestion process.

Usage​

mod log builds [subcommands]

Subcommands​

  • add: Adds a set of build logs to a log aggregate.

mod log builds add​

Adds a set of build logs to a log aggregate.

For each repository that has a matching build, add its build log to the aggregate.

Usage​

mod log builds add [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
logPathThe absolute or relative path on disk to a log aggregate (a zip file). The file need not exist, though its containing directory is expected to exist.log.zip

Options​

NameDescription
--buildA build ID for a build that has completed previously.
--last-buildSelect whatever the last build was, whether the build ran fully to completion or terminated early.

mod log execs​

Adds a set of exec logs to a log aggregate.

In contrast to a CI log which is designed to look at one repository at a time, a log aggregate is designed to look at many repositories at once, illuminating the common causes of failure (or success) and the overall health of an exec operation.

Usage​

mod log execs [subcommands]

Subcommands​

  • add: Adds a set of exec logs to a log aggregate.

mod log execs add​

Adds a set of exec logs to a log aggregate.

For each repository that has a matching exec, add its exec log to the aggregate.

Usage​

mod log execs add [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
logPathThe absolute or relative path on disk to a log aggregate (a zip file). The file need not exist, though its containing directory is expected to exist.log.zip

Options​

NameDescription
--execAn exec ID for an exec that has completed previously.
--last-execSelect whatever the last exec was, whether the exec ran fully to completion or terminated early.

mod log runs​

Adds a set of run logs to a log aggregate.

In contrast to a CI log which is designed to look at one repository at a time, a log aggregate is designed to look at many repositories at once, illuminating the common causes of failure (or success) and the overall health of a recipe run.

Usage​

mod log runs [subcommands]

Subcommands​

  • add: Adds a set of run logs to a log aggregate.

mod log runs add​

Adds a set of run logs to a log aggregate.

For each repository that has a matching run, add its run log to the aggregate.

Usage​

mod log runs add [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
logPathThe absolute or relative path on disk to a log aggregate (a zip file). The file need not exist, though its containing directory is expected to exist.log.zip

Options​

NameDescription
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-run(DEPRECATED) use (DEPRECATED) use @
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
--recipe-runA recipe run ID listed by mod run-history
--run(DEPRECATED) use (DEPRECATED) use @
--searchA search run ID to filter repositories to only those with matches.

mod log syncs​

Adds a set of sync logs to a log aggregate.

In contrast to a CI log which is designed to look at one repository at a time, a log aggregate is designed to look at many repositories at once, illuminating the common causes of failure (or success) and the overall health of a sync operation.

Usage​

mod log syncs [subcommands]

Subcommands​

  • add: Adds a set of sync logs to a log aggregate.

mod log syncs add​

Adds a set of sync logs to a log aggregate.

For each repository that has a matching sync, add its sync log to the aggregate.

Usage​

mod log syncs add [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
logPathThe absolute or relative path on disk to a log aggregate (a zip file). The file need not exist, though its containing directory is expected to exist.log.zip

Options​

NameDescription
--last-syncSelect whatever the last sync was, whether the sync ran fully to completion or terminated early.
--syncA sync ID for a sync that has completed previously.

mod list​

Lists the repositories that can be built and published.

Usage​

mod list [parameters]

Examples​

mod list /path/to/project

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--json(INCUBATING) Output the repository listing in JSON. The format of this JSON is unsettled at this point, and the data structuremay change.

mod login​

Logs the CLI into Moderne

The default authorization mode is a web-based browser flow. After login and consent, a PAT (personal access token) will be created and stored in the configuration file.

Alternatively, use --with-token to pass in an existing token on standard input.

After a successful login, the local CLI recipe marketplace is synchronized from Moderne.

Usage​

mod login

Options​

NameDescription
--expirationThe time to expiration for the token to be created, as an ISO-8601 duration string. Example: P180D for 180 days.
--with-tokenThe Moderne personal access token to use.
-y, --yesAutomatic yes to prompts when synchronizing the recipe marketplace.

mod monitor​

(INCUBATING) Launches an HTTP server used to monitor the CLI.

This command will launch an HTTP server and block, so should be used in combination with backgrounding the process and redirecting its output as needed. The server will respond to GET requests on http://localhost:<PORT>/prometheus in the Prometheus exposition format.

Usage​

mod monitor

Options​

NameDescription
--portThe port to listen on. Default is 8080.

mod opencode​

(INCUBATING) Launches an opencode session configured to use mod for deterministic multi-repository work.

Usage​

mod opencode [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches an opencode session configured to use mod for deterministic multi-repository work.

mod opencode chat​

(INCUBATING) Launches an opencode session configured to use mod for deterministic multi-repository work.

Launches an opencode session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod opencode chat [parameters]

Examples​

mod opencode chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv
--unattendedRun the prompt to completion and exit instead of starting an interactive session, with the agent's tool use approved automatically. Requires --prompt.

mod prebuild​

Extracts build metadata without parsing source files.

Populates .moderne/prebuild/ — a directory tree (mirroring the V3 LST shape) where each BuildStep writes whatever files it needs. A subsequent 'mod build' walks that tree and parses sources without re-running the build tool.

This command is useful for:

  • Diagnosing build issues (inspect what each step discovered)
  • Pre-warming builds (run prebuild on CI, then build locally)
  • Custom build tools (populate the prebuild tree yourself, then run 'mod build')

Usage​

mod prebuild [parameters]

Examples​

mod prebuild /path/to/project

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--offlineWhen an underlying build tool has an offline mode, enable it.
--refreshForce a rebuild of prebuild results, ignoring any cached metadata.

mod publish​

Publishes the LST artifacts for one or more projects.

Once published to your artifact repository, Moderne will be able to ingest them and they will, in turn, be usable inside of Moderne.

You must run mod build before you can run this command. You also must set up an artifact repository connection by running mod config lsts artifacts before this command will work.

Usage​

mod publish [parameters]

Examples​

mod publish /path/to/project

mod publish /path/to/ws --sync-csv --organization Payments

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--shard(INCUBATING) Work through only shard i of M of the repository list, for example 3/8 (i counts from 1, and 0 is read as M, so a job index that counts from 0 still covers the list), so M tasks split one repos.csv without coordinating. A repository's shard is the SHA-256 of `origin
--sync-csv(INCUBATING) Work through a repos.csv one repository at a time: clone, build, publish, record the result in the artifact store's repos-lock.csv, and delete the repository directory before moving to the next, so the workspace never holds more than the repository in flight. A repository is skipped when its repos-lock.csv row already records the remote HEAD, was built by this CLI version, and was a reproducible build. A repository listed under several organizations is built once, and every one of its rows records that publish. Without a value, the csv is the repos.csv in the configured artifact store, which must exist either way. Put the path before this option.
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod run​

Runs an OpenRewrite recipe locally on pre-built LSTs.

You must run the mod build command before this command will work. You also must set up a connection to moderne (mod config moderne) and install recipes (mod config recipes) for this command to work.

Usage​

mod run [parameters]

Examples​

mod run /path/to/project \
--recipe=org.openrewrite.java.search.FindMethods \
-P methodPattern='java.util.List add(..)'

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescriptionExample
--active-recipeIf this flag is included, the recipe specified as the active recipe in your IDE will be run (assuming you have the Moderne plugin installed and configured). Executes the recipe in parallel by default.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
--last-searchSelect the ID of the last search run to filter repositories. Only repositories that had search matches will be processed.
--no-patch(INCUBATING) Do not generate patch files on disk at the conclusion of a recipe run that makes changes. This is useful when you are looking to only use data table outputs and don't wish to incur the cost of writing patch files when they will be unused.
-P, --recipe-optionRecipe options, if any. If a recipe accepts more than one option, you can include this argument multiple times.mod run . --recipe=<recipe> -P methodPattern='java.util.List add(..)' -P moreOptions='moreOptions'
--parallel(INCUBATING) Run the command in parallel. Setting this option to 2 or more causes the command to run with a fixed-size thread pool with that many threads. Setting this to 1 causes the command to run sequentially. Setting this to 0 runs the command with a thread pool sized to the number of CPU cores on your machine. Setting this to a negative number runs the command with a fixed-size thread pool equal to the number of CPU cores minus the absolute value of that number. For example, -1 runs the command with (cores-1) threads.
--recipeThe recipe ID of the recipe that should be run. Executes the recipe in parallel by default; pass --parallel 1 to run sequentially.org.openrewrite.java.search.FindMethods
--recipe-runA recipe run ID listed by mod run-history
--searchA search run ID to filter repositories to only those with matches.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. Takes effect with --sync-csv.
--streaming(INCUBATING) Stream results from the recipe run to the console as they are produced. This is intended to be machine readable for the creation of incremental experiences like usage search in the IDE. Executes the recipe in parallel by default.
--sync-csvResolve repositories from a local repos.csv and sync their published LSTs before running, instead of requiring a prior mod git sync. Repositories whose csv row has no published LST are skipped.mod run ./ws --sync-csv ./repos.csv --recipe=<recipe>
--trace-tagTags to add as extra columns to the trace.csv emitted by this command. Each tag becomes a column with header tag.<key> and the supplied value. Repeat the option to add multiple tags.

mod run-history​

Get information about the most recent recipe runs. This will be transitioning to mod audit runs list eventually. A deprecation notice will be added here when we suggest adopting the alternative.

Usage​

mod run-history [parameters]

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--json(INCUBATING) Output the run history in JSON. The format of this JSON is unsettled at this point, and the data structuremay change.
--most-recentOnly show the most recent run of each recipe.

Search repositories using trigram indexes.

Searches the trigram index each repository's latest build carries, the index/ that mod build assembles with every type name resolved. A repository with a V2 LST is converted to V3 in place first, which assembles its index; one with no LST, or whose LST was built before its index was assembled, is skipped — rebuild it with mod build.%n%nQuery parts are joined with spaces (implicit AND) and passed straight to the query parser. To search for a literal phrase containing spaces, preserve the quotes through your shell, e.g. '"phrase search"'.

Usage​

mod search [parameters]

Examples​

mod search /path/to/working-set "@Autowired"

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project
queryPartsSearch query (supports Sourcegraph syntax)

Options​

NameDescription
-m, --maxMaximum number of matching files to show across the whole search (default: 100). An explicit count: filter in the query overrides this.
--outputOutput mode: rich (default, highlighted diffs with run directory) or plain (fast text output)
--syntaxQuery syntax: sourcegraph (default) or zoekt
-y, --yesProceed without confirmation for a search that cannot use the trigram index and must scan every file. Required when there is no console to prompt on.

mod study​

Produces studies from OpenRewrite recipe data tables locally.

Data tables are an important part of performing large scale impact analyses on source code.

Usage​

mod study [parameters]

Examples​

mod study /path/to/project --last-recipe-run --data-table <DATA-TABLE-NAME>

mod study /path/to/project --changeset --data-table <DATA-TABLE-NAME> --csv

Parameters​

NameDescriptionExample
pathThe absolute or relative path on disk to a directory containing one or more checked-out Git repositories that you want to operate on. This typically takes the form of targeting a single, checked-out copy of a Git repository or it can be a folder containing a collection of Git repositories that will be discovered by recursively scanning the initial provided directory./path/to/project

Options​

NameDescription
--changesetIn place of a recipe run, the data tables of the changeset the working set is checked out to: the ones noted in each repository under refs/notes/moderne/, aggregated the way Moderne shows them, every row prefixed with the repository it was noted in. Repositories with nothing noted here, those of other working sets included, keep the rows the changeset has for them, which are fetched again on each study.
--csvOutput in CSV format
--data-tableThe name of the data table to study.
--groupWhen multiple data tables share a fully-qualified name, disambiguate by group. A null/absent value matches ungrouped tables.
--gzipGzip-compress the CSV output (.csv.gz).
--jsonOutput the data table in JSON format with the specified fields. If no value is provided, all columns from the data table will be kept.
--last-recipe-runSelect the ID of the last recipe run. The last recipe run is determined from the whole repository group, not on an individual repository basis.
-o, --output-fileThe location to output the data table. When neither --csv nor --json is given, the format is inferred from this file's extension (.csv, .json, or .xlsx), defaulting to Excel.
--recipe-runA recipe run ID listed by mod run-history
--template

mod telemetry​

Manage CLI telemetry pushed to the configured Moderne tenant.

Telemetry pushes automatically when the CLI refreshes its license lease. Use subcommands to flush the local queue on demand.

Usage​

mod telemetry [subcommands]

Subcommands​

  • publish: Push queued CLI telemetry to the configured Moderne tenant.

mod telemetry publish​

Push queued CLI telemetry to the configured Moderne tenant.

Drains the local telemetry queue at ~/.moderne/cli/trace/ to the tenant gateway. Telemetry normally pushes automatically when the CLI refreshes its license lease — use this command to flush on demand.%n%nExits non-zero if the gateway permanently rejects any traces (moved to rejected/ as unpublishable).

Usage​

mod telemetry publish

Examples​

mod telemetry publish

mod trace​

Manages trace analysis tools.

Analyze build and run traces with failure classification using ML-powered techniques (not AI or LLM based) and interactive visualization.

Usage​

mod trace [subcommands]

Subcommands​

  • builds: Build trace analysis tools.
  • execs: Exec trace analysis tools.
  • runs: Run trace analysis tools.
  • syncs: Sync trace analysis tools.

mod trace builds​

Build trace analysis tools.

Analyze build traces to understand common failure patterns and build health metrics.

Usage​

mod trace builds [subcommands]

Subcommands​

  • analyze: Launch interactive build trace analyzer.

mod trace builds analyze​

Launch interactive build trace analyzer.

Launches a web-based trace analyzer with ML-powered failure classification. The analyzer pre-processes all build failures, clusters similar issues, and provides an interactive interface to explore build patterns and failure root causes.

Usage​

mod trace builds analyze [parameters]

Parameters​

NameDescriptionExamples
pathsA project directory, or one or more log.zip files containing trace data.• /path/to/project
• log.zip
• log-1.zip log-2.zip

Options​

NameDescription
--buildA build ID for a build that has completed previously.
--last-buildSelect whatever the last build was, whether the build ran fully to completion or terminated early.

mod trace execs​

Exec trace analysis tools.

Analyze exec traces to understand command execution patterns and results.

Usage​

mod trace execs [subcommands]

Subcommands​

  • analyze: Launch interactive exec trace analyzer.

mod trace execs analyze​

Launch interactive exec trace analyzer.

Launches a web-based trace analyzer for exec results. The analyzer provides an interactive interface to explore exec patterns, command operations, and execution metrics.

Usage​

mod trace execs analyze [parameters]

Parameters​

NameDescriptionExamples
pathsA project directory, or one or more log.zip files containing trace data.• /path/to/project
• log.zip
• log-1.zip log-2.zip

Options​

NameDescription
--execAn exec ID for an exec that has completed previously.
--last-execSelect whatever the last exec was, whether the exec ran fully to completion or terminated early.

mod trace runs​

Run trace analysis tools.

Analyze run traces to understand recipe execution patterns and results.

Usage​

mod trace runs [subcommands]

Subcommands​

  • analyze: Launch interactive run trace analyzer.

mod trace runs analyze​

Launch interactive run trace analyzer.

Launches a web-based trace analyzer for recipe run results. The analyzer provides an interactive interface to explore run patterns, recipe distributions, and execution metrics.

Usage​

mod trace runs analyze [parameters]

Parameters​

NameDescriptionExample
pathPath to a project directory containing run trace data./path/to/project

Options​

NameDescription
--last-runSelect whatever the last run was, whether the run completed fully or terminated early.
--runA run ID for a run that has completed previously.

mod trace syncs​

Sync trace analysis tools.

Analyze sync traces to understand repository synchronization patterns and results.

Usage​

mod trace syncs [subcommands]

Subcommands​

  • analyze: Launch interactive sync trace analyzer.

mod trace syncs analyze​

Launch interactive sync trace analyzer.

Launches a web-based trace analyzer for sync results. The analyzer provides an interactive interface to explore sync patterns, clone operations, and synchronization metrics.

Usage​

mod trace syncs analyze [parameters]

Parameters​

NameDescriptionExamples
pathsA project directory, or one or more log.zip files containing trace data.• /path/to/project
• log.zip
• log-1.zip log-2.zip

Options​

NameDescription
--last-syncSelect whatever the last sync was, whether the sync ran fully to completion or terminated early.
--syncA sync ID for a sync that has completed previously.

mod vscode​

(INCUBATING) Launches a Visual Studio Code Chat session configured to use mod for deterministic multi-repository work.

Usage​

mod vscode [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a Visual Studio Code Chat session configured to use mod for deterministic multi-repository work.

mod vscode chat​

(INCUBATING) Launches a Visual Studio Code Chat session configured to use mod for deterministic multi-repository work.

Launches a Visual Studio Code Chat session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod vscode chat [parameters]

Examples​

mod vscode chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--promptStart the session with this prompt already submitted.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv

mod windsurf​

(INCUBATING) Launches a Windsurf session configured to use mod for deterministic multi-repository work.

Usage​

mod windsurf [subcommands]

Subcommands​

  • chat: (INCUBATING) Launches a Windsurf session configured to use mod for deterministic multi-repository work.

mod windsurf chat​

(INCUBATING) Launches a Windsurf session configured to use mod for deterministic multi-repository work.

Launches a Windsurf session configured to use mod for deterministic work on a synced multi-repository organization. This is the fundamental building block of an agent factory making changes to and studying entire code estates.

Usage​

mod windsurf chat [parameters]

Examples​

mod windsurf chat /path/to/organization --org <ORG_NAME>

Parameters​

NameDescriptionExample
pathThe directory holding the organization the agent works on. Without --org or --sync-csv, it must already contain a synced organization./path/to/organization

Options​

NameDescriptionExample
--changesetA changeset in Moderne, a new one when no id is given or the existing one with this id. Every repository with sources is checked out to the branch that pushes to it, which needs a login from mod config moderne login.
-n, --nameWhat a new changeset is called in Moderne.
--organization, --orgThe name of an organization in Moderne. All repositories in that organization will be cloned at the branch and commit of their current LSTs.
--shard(INCUBATING) Sync only shard i of M of the repositories, for example 3/8 (i counts from 1, and 0 is read as M), so M working sets split one organization or changeset without coordinating. A repository's shard depends on its repos.csv row alone, the way it does for mod publish --sync-csv --shard, so it is the same on every machine. Applied after --organization. With --changeset <ID> and no organization, the changeset's own repositories are what is split, so M agents each take a share of it.mod codex chat ./ws --changeset 20260924153000-Ab1cD --shard 3/8 --unattended --prompt "..."
--sync-csvSynchronize the organization defined by a repos.csv (local file or remote URI) before starting the agent, exactly as mod git sync csv does with sources and LSTs, without needing a Moderne tenant to resolve --org against. Given both, --org selects an organization within the CSV.mod copilot chat ./ws --sync-csv ./repos.csv

mod wrapper​

Create or configure a Moderne wrapper.

Creates a project-local wrapper (modw, modw.cmd, moderne/wrapper/moderne-wrapper.properties) or configures the global CLI installation with --global.

Usage​

mod wrapper

Options​

NameDescription
--auto-updateSet version to RELEASE (track the latest stable release from the Code Genome Project).
--auto-update-snapshotSet version to LATEST (track the latest snapshot from the Code Genome Project).
--distribution-passwordPassword for authenticated distribution downloads (stored in plaintext in moderne/wrapper/moderne-wrapper.properties, or ~/.moderne/cli/dist/moderne-wrapper.properties with --global).
--distribution-tokenBearer token for authenticated distribution downloads (stored in plaintext in moderne/wrapper/moderne-wrapper.properties, or ~/.moderne/cli/dist/moderne-wrapper.properties with --global).
--distribution-urlWhere to download the CLI distribution from: the root of a Maven repository, which RELEASE is then also resolved against, or a URL template. A template supports null, null, null and null placeholders. null is the Maven directory, which for a snapshot keeps the -SNAPSHOT suffix while null is the timestamped file version.
--distribution-url-cache-ttlHow long the wrapper caches the resolved RELEASE version before re-checking the distribution repository, as an ISO-8601 duration (e.g. PT1H, PT10M). PT0S disables caching. Avoids a metadata lookup on every invocation.
--distribution-url-early-access-cache-ttlHow long the wrapper caches the resolved LATEST/snapshot version before re-checking the early-access repository, as an ISO-8601 duration (e.g. PT1H, PT10M). PT0S disables caching.
--distribution-usernameUsername for authenticated distribution downloads (stored in moderne/wrapper/moderne-wrapper.properties, or ~/.moderne/cli/dist/moderne-wrapper.properties with --global).
--globalConfigure the global CLI installation instead of creating a project-local wrapper.
--jdk-urlURL template for a JDK archive, used when no bundled JRE or system JDK is found. Supports null and null placeholders. Set to 'skip' to disable JDK auto-download (useful for air-gapped environments where Java is available via MODERNE_JAVA_HOME or PATH).
--versionCLI version to pin in the wrapper properties. Defaults to the currently-running CLI version.