# Multirun CLI tool for running multiple commands at once and multiplexing the output ## Installation First install the Rust compiler via https://rustup.rs, then run `cargo install multirun` ## Usage Create a `multirun.json` file then run `multirun`. Sample `multirun.json`: ```json { "paths": { "DEV_ENV_FILE": "./admin/.dev.env", }, "services": { "accounts": { "directory": "./accounts", "command": "npm run start", "environment": { "ENV_FILE": "${paths.DEV_ENV_FILE}", "FORCE_COLOR": "1" } }, "compliance": { "directory": "./compliance", "command": "npm run start", "environment": { "ENV_FILE": "${paths.DEV_ENV_FILE}", "FORCE_COLOR": "1" } }, "hasura": { "directory": ".", "command": "graphql-engine serve", "environment": { "HASURA_GRAPHQL_DATABASE_URL": "postgres://cw:cw@localhost/cw", "HASURA_GRAPHQL_AUTH_HOOK": "http://localhost:3401/hasura/auth-webhook", "HASURA_GRAPHQL_SERVER_PORT": "3399", "HASURA_GRAPHQL_ADMIN_SECRET": "amazing", "HASURA_GRAPHQL_ENABLE_CONSOLE": "true", "HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE": "true" } } } } ``` Values of variables in the `paths` section and the `directory` field of services are resolved as paths relative to the location of the `multirun.json` files itself.