{
  "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
    },
    "subcommand": [
      {
        "path": [
          "search"
        ],
        "label": "Search packages",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://mpm.run/cli-parameters/",
            "evidence": "Usage: mpm search [OPTIONS] QUERY\n  --extended / --id-name-only  Extend search to description, instead of\n  --exact / --fuzzy            Only keep packages whose ID or name matches the\n  --columns COLUMNS            Restrict and reorder table columns, SQL SELECT-\n"
          }
        ],
        "field": [
          {
            "id": "query",
            "label": "Query",
            "type": "string",
            "position": 0,
            "sources": [
              "doc"
            ]
          },
          {
            "id": "extended",
            "label": "Search descriptions too",
            "type": "boolean",
            "option": [
              "--extended"
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "exact",
            "label": "Exact match only",
            "type": "boolean",
            "option": [
              "--exact"
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "columns",
            "label": "Columns",
            "type": "string",
            "option": [
              "--columns"
            ],
            "description": "Comma-separated column IDs.",
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "search",
            "label": "Search",
            "fields": [
              "query"
            ],
            "required": [
              "query"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "query",
              "extended",
              "exact"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "columns"
            ]
          }
        ]
      },
      {
        "path": [
          "outdated"
        ],
        "label": "List outdated packages",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://mpm.run/cli-parameters/",
            "evidence": "Usage: mpm outdated [OPTIONS] [QUERY]\n  --exact / --fuzzy  With a QUERY, only keep packages whose ID or name matches\n  --columns COLUMNS  Restrict and reorder table columns, SQL SELECT-\n"
          }
        ],
        "field": [
          {
            "id": "query",
            "label": "Query",
            "type": "string",
            "position": 0,
            "sources": [
              "doc"
            ]
          },
          {
            "id": "exact",
            "label": "Exact match only",
            "type": "boolean",
            "option": [
              "--exact"
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "columns",
            "label": "Columns",
            "type": "string",
            "option": [
              "--columns"
            ],
            "description": "Comma-separated column IDs.",
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "outdated",
            "label": "List outdated",
            "fields": [
              "query"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "query",
              "exact"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "columns"
            ]
          }
        ]
      },
      {
        "path": [
          "upgrade"
        ],
        "label": "Upgrade packages",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://mpm.run/cli-parameters/",
            "evidence": "Usage: mpm upgrade [OPTIONS] [PACKAGES_SPECS]...\n  PACKAGES_SPECS...  A mix of plain <package_id>, simple <package_id@version>\n  -A, --all            Upgrade all outdated packages. Will make the command\n  --columns COLUMNS    Restrict and reorder table columns, SQL SELECT-\n"
          }
        ],
        "field": [
          {
            "id": "packages",
            "label": "Packages",
            "type": "string",
            "position": 0,
            "multiple": true,
            "sources": [
              "doc"
            ]
          },
          {
            "id": "all",
            "label": "Upgrade all outdated packages",
            "type": "boolean",
            "option": [
              "--all",
              "-A"
            ],
            "effect": "exec",
            "sources": [
              "doc"
            ]
          },
          {
            "id": "columns",
            "label": "Columns",
            "type": "string",
            "option": [
              "--columns"
            ],
            "description": "Comma-separated column IDs.",
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "upgrade_all",
            "label": "Upgrade everything",
            "fields": [
              "all"
            ],
            "required": [
              "all"
            ],
            "set": {
              "all": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "packages",
              "all"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "columns"
            ]
          }
        ]
      },
      {
        "path": [
          "install"
        ],
        "label": "Install packages",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://mpm.run/cli-parameters/",
            "evidence": "Usage: mpm install [OPTIONS] PACKAGES_SPECS...\n  PACKAGES_SPECS...  A mix of plain <package_id>, simple <package_id@version>\n  --columns COLUMNS  Restrict and reorder table columns, SQL SELECT-\n"
          }
        ],
        "field": [
          {
            "id": "packages",
            "label": "Packages",
            "type": "string",
            "position": 0,
            "multiple": true,
            "effect": "exec",
            "sources": [
              "doc"
            ]
          },
          {
            "id": "columns",
            "label": "Columns",
            "type": "string",
            "option": [
              "--columns"
            ],
            "description": "Comma-separated column IDs.",
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "install",
            "label": "Install",
            "fields": [
              "packages"
            ],
            "required": [
              "packages"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "packages"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "columns"
            ]
          }
        ]
      }
    ]
  }
}
