Skip to content
/ tutti Public

Lightweight CLI tool for orchestrating processes – run, coordinate, and monitor multiple local processes with ease.

License

Notifications You must be signed in to change notification settings

ya7on/tutti

tutti

Crates.io Version GitHub License CI Docs codecov Ask DeepWiki MVP GitHub top language Deps.rs Crate Dependencies (latest) Crates.io Total Downloads GitHub code size in bytes

A lightweight CLI tool for orchestrating local processes. Start multiple services with one command, handle dependencies automatically, and see all logs in one place.

Quick Start

Install:

cargo install tutti-cli

Create a tutti.toml config:

version = 1

[services.api]
cmd = ["python", "app.py"]
env = { PORT = "3000" }

[services.frontend]
cmd = ["npm", "start"]
deps = ["api"]
cwd = "./frontend"

Run:

tutti-cli run -f tutti.toml

What is Tutti

Tutti solves the common developer problem of managing multiple local services. Instead of opening several terminals and remembering which services to start in what order, you define everything in a simple config file.

Installation

From crates.io

cargo install tutti-cli

From source

git clone https://github.com/ya7on/tutti
cd tutti
cargo build --release
# Binary will be at target/release/tutti-cli

Basic Usage

Start all services:

tutti-cli run -f tutti.toml

Start specific services (and their dependencies):

tutti-cli run -f tutti.toml frontend api

Example output:

[database] Starting PostgreSQL on port 5432
[api] Server listening on http://localhost:3000
[frontend] Development server started on port 8080

Configuration Format

Services are defined in TOML format:

version = 1

[services.database]
cmd = ["postgres", "-D", "./data"]

[services.api]
cmd = ["python", "server.py"]
deps = ["database"]
env = { DATABASE_URL = "postgresql://localhost/mydb" }
cwd = "./backend"
restart = "always"

[services.frontend]
cmd = ["npm", "run", "dev"]
deps = ["api"]
cwd = "./frontend"

Configuration options:

  • cmd (required) - Command and arguments to run
  • deps (optional) - List of service dependencies
  • env (optional) - Environment variables
  • cwd (optional) - Working directory
  • restart (optional) - Restart policy (default: "never")

Documentation

Full documentation with examples and advanced configuration options:

https://ya7on.github.io/tutti

License

Licensed under MIT License

About

Lightweight CLI tool for orchestrating processes – run, coordinate, and monitor multiple local processes with ease.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •