muxa

muxa

Latest Release Weekly Downloads on NPM CI Status codecov

Run your entire dev stack in multiple virtual terminals with one concise command instead of long config files. Built-in monorepo support, preserved interactivity, and clean output.

                                                ┌───────┬────────────────────────────────────┐
  ███╗   ███╗  ██╗   ██╗  ██╗  ██╗   █████╗     │  api  │ VITE v5.4.19  ready in 691 ms      │
  ████╗ ████║  ██║   ██║  ╚██╗██╔╝  ██╔══██╗    ├───────┤                                    │
  ██╔████╔██║  ██║   ██║   ╚███╔╝   ███████║    │ [web] │ ➜  Local:   http://localhost:5173/ │
  ██║╚██╔╝██║  ██║   ██║   ██╔██╗   ██╔══██║    ├───────┤ ➜  Network: use --host to expose   │
  ██║ ╚═╝ ██║  ╚██████╔╝  ██╔╝ ██╗  ██║  ██║    │  db   │ ➜  press h + enter to show help    │
  ╚═╝     ╚═╝   ╚═════╝   ╚═╝  ╚═╝  ╚═╝  ╚═╝    └───────┴────────────────────────────────────┘
# Before:
concurrently -n "api,web,db" "npm run dev --workspace=api" "npm run dev --workspace=web" "docker-compose up postgres"

# After:
muxa -s api dev -s web dev -c "docker-compose up postgres" db

Why muxa?

When developing in a monorepo with multiple services, you need to run multiple processes simultaneously. While concurrently provides a simple CLI interface, it has output formatting issues and loses interactive features. mprocs handles output better but requires complex shell syntax or configuration files.

muxa combines the best of both worlds:

  • Simple CLI interface like concurrently
  • Superior output handling from mprocs
  • Built-in workspace support for monorepos
  • Preserves rich interactive features (Expo QR codes, Vite shortcuts, etc.)
  • No configuration files required

Quick Example

Run multiple commands in parallel:

# Run multiple commands
muxa 'npm run dev' 'npm run test:watch'
# Run scripts in specific packages
muxa -s backend dev -s frontend start
# Mix workspace scripts and regular commands
muxa -s backend dev -c 'docker-compose up' db

Features

  • 🚀 Zero config - Works out of the box
  • 📦 Monorepo native - Understands your workspace structure
  • 🎯 Smart detection - Auto-detects npm/yarn/pnpm/bun
  • 🖥️ Interactive - Preserves all terminal features
  • 🎨 Clean output - Beautiful, organized terminal UI
  • Fast - Minimal overhead, powered by mprocs

Getting Started

Check out the installation guide to get started, or jump straight to usage examples.

Contributing

Contributions are welcome! Please check out the GitHub repository.

License

MIT