In México, the task or collective work that each person owes to their community is known as tequio.
A task orchestration CLI that runs shell commands with dependency resolution and displays live output in an interactive terminal UI.
- INI-based configuration — define tasks, dependencies, and readiness checks in a simple config file
- Dependency resolution — tasks are topologically sorted and wait for their dependencies before starting
- Ready checks — a task can declare a substring pattern that signals when it's ready, so dependents don't have to wait for full completion
- Interactive TUI — real-time output from all tasks displayed in a terminal interface powered by a vendored fork of turborepo-ui
- Graceful shutdown — press
Ctrl+Cto kill all running processes and exit cleanly
tequio <your-tasks.ini>
If no config file is given, it defaults to tequio.ini in the current directory.
| Key | Action |
|---|---|
Up / Down |
Switch between tasks |
q |
Stop all tasks and exit |
Tasks are defined in an INI file. Each section is a task:
[build]
command = cargo build --release
[serve]
command = ./target/release/myapp
depends_on = build
ready_check = listening on port
[test]
command = cargo test
depends_on = build| Field | Required | Description |
|---|---|---|
command |
yes | Shell command to execute (run via sh -c) |
work_dir |
no | Set the working directory for the executed task |
depends_on |
no | Name of another task(s) that must be ready first (comma-separated list for one or more tasks) |
ready_check |
no | Substring to look for in stdout to signal readiness. If omitted, the task is considered ready as soon as it starts |
Requires Rust nightly (nightly-2025-12-05, configured in rust-toolchain.toml).
make build # cargo build --release
make run # cargo run -- tequio.ini
make install # copy binary to ~/.local/bin/tequio
MIT