Together
A tool to run multiple commands in parallel selectively by an interactive prompt. Inspired by concurrently.
Installation
The easiest way to install together is to use cargo. If you don't have cargo installed, you can install it by following the instructions on the Rust official website.
Alternatively, together can be installed using the pre-built binaries for your platform. You can find the latest release on the releases page. Download the binary for your platform and add it to your PATH.
# For example, on macOS
Usage
Getting Started
To start the interactive prompt:
This allows you to select which of the commands to run in parallel.
To run all commands in parallel:
Example
In the example below we are using yarn workspace to run multiple package.json scripts, forwarding stdout/stderr to the terminal:
Running the above command will start together and you will see the following interactive prompt:
You can select which commands to run by pressing spacebar to toggle the selection. Press enter to start the selected commands.
together works well with monorepos, allowing you to run all of your required executables in the same terminal window.
Need to kill or restart a single command? Press ? at any time to see options on managing commands (see below).
Managing Commands
While the interactive prompt is running, you can manage the commands by pressing the following keys while together is running:
t: Trigger another command to startk: Kill a running commandr: Restart a running commandhor?: Show the help message, which also lists all running commands, and more interactive options
Configuration
Every time you run together, it saves the configuration to local disk.
You can use the together load [yml_path] option to specify a configuration file to use. Or use the following command to start together with the last saved configuration:
Contributing
If you're interested in contributing to the project, you can start by cloning the repository and building the project:
Please follow standard Rust community guidelines and submit a PR on our repository.
License
This project is licensed under the MIT License - see the LICENSE file for details.