id = "meta-package-manager"
name = "Meta Package Manager"
homepage = "https://mpm.run/"
description = "A CLI for multi-package manager upgrades."
executables = ["mpm"]
[dotfiles]
paths = ["[appData]/mpm/", "[configHome]/mpm/", "%APPDATA%/mpm/"]
secret = []
[commands]
format = 1
label = "Meta Package Manager"
description = "Search, list outdated, upgrade and install packages across managers. Manager selectors (--brew, --no-apt, ...) and global options such as --dry-run are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["search"]
label = "Search packages"
[[commands.subcommand.source]]
id = "doc"
kind = "manual"
url = "https://mpm.run/cli-parameters/"
evidence = """
Usage: mpm search [OPTIONS] QUERY
--extended / --id-name-only Extend search to description, instead of
--exact / --fuzzy Only keep packages whose ID or name matches the
--columns COLUMNS Restrict and reorder table columns, SQL SELECT-
"""
[[commands.subcommand.field]]
id = "query"
label = "Query"
type = "string"
position = 0
sources = ["doc"]
[[commands.subcommand.field]]
id = "extended"
label = "Search descriptions too"
type = "boolean"
option = ["--extended"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "exact"
label = "Exact match only"
type = "boolean"
option = ["--exact"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "columns"
label = "Columns"
type = "string"
option = ["--columns"]
description = "Comma-separated column IDs."
sources = ["doc"]
[[commands.subcommand.task]]
id = "search"
label = "Search"
fields = ["query"]
required = ["query"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["query", "extended", "exact"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["columns"]
[[commands.subcommand]]
path = ["outdated"]
label = "List outdated packages"
[[commands.subcommand.source]]
id = "doc"
kind = "manual"
url = "https://mpm.run/cli-parameters/"
evidence = """
Usage: mpm outdated [OPTIONS] [QUERY]
--exact / --fuzzy With a QUERY, only keep packages whose ID or name matches
--columns COLUMNS Restrict and reorder table columns, SQL SELECT-
"""
[[commands.subcommand.field]]
id = "query"
label = "Query"
type = "string"
position = 0
sources = ["doc"]
[[commands.subcommand.field]]
id = "exact"
label = "Exact match only"
type = "boolean"
option = ["--exact"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "columns"
label = "Columns"
type = "string"
option = ["--columns"]
description = "Comma-separated column IDs."
sources = ["doc"]
[[commands.subcommand.task]]
id = "outdated"
label = "List outdated"
fields = ["query"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["query", "exact"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["columns"]
[[commands.subcommand]]
path = ["upgrade"]
label = "Upgrade packages"
[[commands.subcommand.source]]
id = "doc"
kind = "manual"
url = "https://mpm.run/cli-parameters/"
evidence = """
Usage: mpm upgrade [OPTIONS] [PACKAGES_SPECS]...
PACKAGES_SPECS... A mix of plain <package_id>, simple <package_id@version>
-A, --all Upgrade all outdated packages. Will make the command
--columns COLUMNS Restrict and reorder table columns, SQL SELECT-
"""
[[commands.subcommand.field]]
id = "packages"
label = "Packages"
type = "string"
position = 0
multiple = true
sources = ["doc"]
[[commands.subcommand.field]]
id = "all"
label = "Upgrade all outdated packages"
type = "boolean"
option = ["--all", "-A"]
effect = "exec"
sources = ["doc"]
[[commands.subcommand.field]]
id = "columns"
label = "Columns"
type = "string"
option = ["--columns"]
description = "Comma-separated column IDs."
sources = ["doc"]
[[commands.subcommand.task]]
id = "upgrade_all"
label = "Upgrade everything"
fields = ["all"]
required = ["all"]
set = { all = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["packages", "all"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["columns"]
[[commands.subcommand]]
path = ["install"]
label = "Install packages"
[[commands.subcommand.source]]
id = "doc"
kind = "manual"
url = "https://mpm.run/cli-parameters/"
evidence = """
Usage: mpm install [OPTIONS] PACKAGES_SPECS...
PACKAGES_SPECS... A mix of plain <package_id>, simple <package_id@version>
--columns COLUMNS Restrict and reorder table columns, SQL SELECT-
"""
[[commands.subcommand.field]]
id = "packages"
label = "Packages"
type = "string"
position = 0
multiple = true
effect = "exec"
sources = ["doc"]
[[commands.subcommand.field]]
id = "columns"
label = "Columns"
type = "string"
option = ["--columns"]
description = "Comma-separated column IDs."
sources = ["doc"]
[[commands.subcommand.task]]
id = "install"
label = "Install"
fields = ["packages"]
required = ["packages"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["packages"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["columns"]