A lightweight CLI tool for orchestrating local processes. Start multiple services with one command, handle dependencies automatically, and see all logs in one place.
Install:
cargo install tutti-cliCreate 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.tomlTutti 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.
cargo install tutti-cligit clone https://github.com/ya7on/tutti
cd tutti
cargo build --release
# Binary will be at target/release/tutti-cliStart all services:
tutti-cli run -f tutti.tomlStart specific services (and their dependencies):
tutti-cli run -f tutti.toml frontend apiExample output:
[database] Starting PostgreSQL on port 5432
[api] Server listening on http://localhost:3000
[frontend] Development server started on port 8080
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 rundeps(optional) - List of service dependenciesenv(optional) - Environment variablescwd(optional) - Working directoryrestart(optional) - Restart policy (default: "never")
Full documentation with examples and advanced configuration options:
Licensed under MIT License