Crates.io | together-rs |
lib.rs | together-rs |
version | 0.3.1 |
source | src |
created_at | 2024-02-18 21:35:32.180337 |
updated_at | 2024-09-12 15:59:56.634405 |
description | A simple tool for running multiple commands together |
homepage | |
repository | https://github.com/michaelblawrence/together-rs |
max_upload_size | |
id | 1144414 |
size | 87,696 |
A tool to run multiple commands in parallel selectively by an interactive prompt. Inspired by concurrently.
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.
cargo install together-rs
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
curl -L https://github.com/michaelblawrence/together-rs/releases/download/0.3.0/together-rs_0.3.0_x86_64-apple-darwin.zip -o together.zip
unzip together.zip
mv together /usr/local/bin
To start the interactive prompt:
together run -- "echo 'hello'" "echo 'world'"
This allows you to select which of the commands to run in parallel.
To run all commands in parallel:
together run --all -- "echo 'hello'" "echo 'world'"
In the example below we are using yarn workspace to run multiple package.json scripts, forwarding stdout/stderr to the terminal:
together run --raw -- \
"yarn workspace server dev" \
"yarn workspace client dev" \
"yarn workspace event-processor dev" \
"yarn workspace api-types watch"
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).
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 commandh
or ?
: Show the help message, which also lists all running commands, and more interactive optionsEvery time you run together
, it saves the configuration to local disk.
You can use the together load [toml_path]
option to specify a configuration file to use. Or use the following command to start together
with the last saved configuration:
together rerun
If you're interested in contributing to the project, you can start by cloning the repository and building the project:
git clone https://github.com/michaelblawrence/together-rs.git
cd together
cargo build
Please follow standard Rust community guidelines and submit a PR on our repository.
This project is licensed under the MIT License - see the LICENSE file for details.