Command API

The published package provides the mods executable. Package-manager execution can run it without a global installation.

mods

mods [--game <id>] [--game-root <directory>]
text

Opens the interactive game picker or the manager for an explicitly selected game. --game is required in a non-interactive environment.

mods games

mods games
text

Lists every registered game, its stable ID, detected state, and installation paths.

mods init

mods --game <id> [--game-root <directory>] init
text

Creates the canonical mods directory when the adapter permits initialization and its parent directory exists. The command requires --game.

mods install

mods --game <id> [--game-root <directory>] install <archive>
text

Inspects and installs complete triplets from <archive>. Interactive use can omit --game and select the target through the picker; non-interactive use requires it.

Global options

--game <id> selects a registered adapter. --game-root <directory> overrides Steam discovery and requires --game; it accepts the installation root, not the final mods directory.

Shell completion

The CLI provides a completion command for Bash, Zsh, Fish, and PowerShell. Generated completion files are also bundled in the package. Both forms derive commands, options, paths, and registered game IDs from the Commander command graph.

Errors and unsupported input

An unknown game ID, command, or option is an error. A missing game root, archive path, or unsupported archive extension is also rejected. Non-interactive list and install operations require --game, while init always requires it. If a selected installation is not ready, the CLI requires initialization before continuing non-interactively.

Built and maintained by Sabin Marcu

(2025 -2026)

Table of contents

Experiments