CLI Reference

The equivalence-engine command processes files and applies SDL migration rules.

Basic Usage

Run a migration by specifying the source path, version jump boundaries, and library binding name:

equivalence-engine --path ./src --rules-dir ./rules/qt --from 5.15 --to 6.0

Usage with Remote Ruleset

You can fetch rulesets directly from remote Git repositories. The engine will clone the repository to a temporary workspace, resolve and apply the required migration files, and clean up automatically.

equivalence-engine --rules-repo https://github.com/dev-centr/equivalence-rules-code --from 5.15 --to 6.0 --path ./src

CLI Options Reference

Option Description

--path, -p <path>

Path to the directory or file containing the code to transform.

--rules-dir, -R <dir>

Path to a local directory containing .sdl rules files.

--rules-repo <url>

Git URL to a remote ruleset repository.

--rules-repo-branch <branch>

Branch of the rules repository (defaults to main).

--from, -f <version>

Starting version boundary (e.g. 5.15).

--to, -t <version>

Target version boundary (e.g. 6.0).

--extensions, -e <exts>

Comma-separated list of file extensions to process (defaults to .py,.cpp,.h).

--dry-run, -d

Perform dry run; prints replacements to stdout instead of overwriting files in-place.

--domain, -D

code (default), filesystem, or cli.

--list

With --domain cli, print every compatible install method for the tool id (do not pick one). --to stays a host alias; do not put a shell in it.

--format

With --domain cli, keep only methods with this format facet (winget, deb, nix, …).

CLI domain (install commands)

Pick one method for a host context:

equivalence-engine --domain cli \
  --rules-repo https://github.com/dev-centr/equivalence-rules-cli \
  --to linux/nix/default gh

List every method this catalog knows (filter later in PlayTime by host capabilities):

equivalence-engine --domain cli --list gh \
  --rules-repo https://github.com/dev-centr/equivalence-rules-cli

--to is windows/winget, never windows/pwsh/msi. Format is a column, not a path segment. See Host Awareness.