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] # The project's official legacy README documents the global config locations; # mprocs.yaml in a checkout is a local project config and is intentionally not # cataloged. # https://github.com/pvolok/dekit/blob/master/README-mprocs.md#config 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 } [[commands.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"`) `mprocs --config ./cfg/mprocs.yaml` If you run _mprocs_ with an `--npm` argument, it will load scripts from `package.json`. mprocs --procfile ./Procfile.dev # default: Profile mprocs --procfile """ [[commands.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"] [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config"] path = { kind = "file", role = "input" } sources = ["readme"] [[commands.field]] id = "npm" label = "Load package.json scripts" type = "boolean" option = ["--npm"] sources = ["readme"] [[commands.field]] id = "procfile" label = "Procfile" type = "path" option = ["--procfile"] path = { kind = "file", role = "input" } sources = ["readme"] [[commands.task]] id = "adhoc" label = "Run commands side by side" fields = ["commands"] required = ["commands"] [[commands.task]] id = "npm_scripts" label = "Run package.json scripts" fields = ["npm"] required = ["npm"] set = { npm = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["commands", "config"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["npm", "procfile"]