# open-cli-tools/concurrently

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/open-cli-tools-concurrently).**

7,677 stars · 255 forks · TypeScript · mit

## Links

- GitHub: https://github.com/open-cli-tools/concurrently
- Homepage: https://www.npmjs.com/package/concurrently
- awesome-repositories: https://awesome-repositories.com/repository/open-cli-tools-concurrently.md

## Topics

`cli` `command-line` `concurrently` `parallel` `process` `spawn`

## Description

Concurrently is a Node.js process manager and concurrent process runner designed to execute multiple shell commands simultaneously within a single terminal session. It provides core primitives for managing the lifecycles of child processes, coordinating parallel tasks, and establishing communication bridges to exchange data between parent and child processes.

The tool features an ANSI terminal output formatter that styles process logs using custom prefixes, timestamps, and colors to differentiate between multiple output streams. It includes utilities for detecting terminal color depth and converting various color formats into supported ANSI colors to ensure consistent text styling and highlights.

Process governance capabilities include the ability to set execution limits, define working directories, and trigger automatic restarts upon failure. The system can also coordinate process lifecycles by automatically terminating active sibling processes when a related command exits.

## Tags

### Development Tools & Productivity

- [Process Runners](https://awesome-repositories.com/f/development-tools-productivity/process-runners.md) — Executes multiple shell commands simultaneously within a single terminal session to perform parallel tasks.
- [Development Environment Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/development-environment-orchestrators.md) — Allows launching multiple components of a local development stack, such as frontend and backend servers, simultaneously.
- [Parallel Execution](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution.md) — Runs multiple shell commands concurrently to improve development productivity. ([source](https://cdn.jsdelivr.net/gh/open-cli-tools/concurrently@main/README.md))
- [Process Lifecycle Managers](https://awesome-repositories.com/f/development-tools-productivity/process-lifecycle-managers.md) — Manages the lifecycle of child processes, including coordinated termination when a sibling task fails.
- [Terminal Output Formatters](https://awesome-repositories.com/f/development-tools-productivity/terminal-output-formatters.md) — Formats concurrent process logs using unique colors and prefixes to distinguish between different command streams.

### Programming Languages & Runtimes

- [Node.js Process Managers](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-process-managers.md) — Coordinates the lifecycles of child processes with specific support for the Node.js runtime environment.

### Software Engineering & Architecture

- [Process Execution Controllers](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-task-runners/concurrent-task-limiters/process-execution-controllers.md) — Controls task execution via defined working directories and automatic restart rules upon failure. ([source](https://cdn.jsdelivr.net/gh/open-cli-tools/concurrently@main/README.md))
- [Process Coordinators](https://awesome-repositories.com/f/software-engineering-architecture/process-coordinators.md) — Automatically terminates active sibling processes based on the exit status of a related command. ([source](https://cdn.jsdelivr.net/gh/open-cli-tools/concurrently@main/README.md))
- [Custom Log Formatting](https://awesome-repositories.com/f/software-engineering-architecture/custom-log-formatting.md) — Provides configurable log formatting with prefixes and timestamps to differentiate output streams. ([source](https://www.npmjs.com/package/concurrently))

### User Interface & Experience

- [Terminal Styling](https://awesome-repositories.com/f/user-interface-experience/terminal-styling.md) — Applies colors, background highlights, and text modifiers like bold or underline to terminal output. ([source](https://www.npmjs.com/package/chalk))

### Part of an Awesome List

- [Package Management](https://awesome-repositories.com/f/awesome-lists/devtools/package-management.md) — Runs commands in parallel.
