tutti-cli

Crates.iotutti-cli
lib.rstutti-cli
version0.1.5
created_at2025-09-30 16:04:54.172665+00
updated_at2025-10-28 15:00:53.94843+00
descriptionCommand-line interface for Tutti
homepage
repositoryhttps://github.com/ya7on/tutti
max_upload_size
id1861320
size41,706
Suprun (ya7on)

documentation

https://ya7on.github.io/tutti

README

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

Commit count: 0

cargo fmt