{
  "id": "mprocs",
  "name": "mprocs",
  "homepage": "https://github.com/pvolok/dekit",
  "description": "mprocs runs multiple commands in parallel and shows output of each command separately.",
  "executables": [
    "mprocs"
  ],
  "dotfiles": {
    "paths": [
      "~/.config/mprocs/mprocs.yaml",
      "%APPDATA%/mprocs/mprocs.yaml"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Run processes",
    "description": "Run several commands side by side, from mprocs.yaml, package.json scripts or a Procfile. Other flags are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "readme",
        "kind": "help",
        "url": "https://raw.githubusercontent.com/pvolok/dekit/HEAD/README-mprocs.md",
        "revision": "2026-10",
        "evidence": "Run `mprocs cmd1 cmd2 …` (example: `mprocs \"yarn test -w\" \"webpack serve\"`)\n`mprocs --config ./cfg/mprocs.yaml`\nIf you run _mprocs_ with an `--npm` argument, it will load scripts from `package.json`.\nmprocs --procfile ./Procfile.dev\n# default: Profile\nmprocs --procfile\n"
      }
    ],
    "field": [
      {
        "id": "commands",
        "label": "Commands",
        "description": "Each entry is one shell command line to run as a process. Leave empty to use mprocs.yaml.",
        "type": "string",
        "position": 0,
        "multiple": true,
        "effect": "exec",
        "sources": [
          "readme"
        ]
      },
      {
        "id": "config",
        "label": "Config file",
        "type": "path",
        "option": [
          "--config"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "readme"
        ]
      },
      {
        "id": "npm",
        "label": "Load package.json scripts",
        "type": "boolean",
        "option": [
          "--npm"
        ],
        "sources": [
          "readme"
        ]
      },
      {
        "id": "procfile",
        "label": "Procfile",
        "type": "path",
        "option": [
          "--procfile"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "readme"
        ]
      }
    ],
    "task": [
      {
        "id": "adhoc",
        "label": "Run commands side by side",
        "fields": [
          "commands"
        ],
        "required": [
          "commands"
        ]
      },
      {
        "id": "npm_scripts",
        "label": "Run package.json scripts",
        "fields": [
          "npm"
        ],
        "required": [
          "npm"
        ],
        "set": {
          "npm": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "commands",
          "config"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "npm",
          "procfile"
        ]
      }
    ]
  }
}
