| Crates.io | tickbox |
| lib.rs | tickbox |
| version | 0.1.4 |
| created_at | 2025-05-05 15:03:17.680938+00 |
| updated_at | 2025-06-08 16:20:19.068306+00 |
| description | Simple tui workflow executor. |
| homepage | |
| repository | https://github.com/ThomasHabets/tickbox |
| max_upload_size | |
| id | 1660828 |
| size | 63,963 |
A simple workflow executor, for presubmits and similar things.
See a simple demo here: https://asciinema.org/a/VPzajFCTE3Wk1LvDqDavZrZst
Assuming you have cargo (Rust) installed, you can just run:
$ cargo install tickbox
If you don't already have Rust installed, you can either run apt-get install cargo or (preferably) use the rustup installer.
tickbox in your source
code repository.10-setup.sh, 20-test.sh.chmod +x tickbox/pre-commit/*.sh.tickbox.json file with local settings. See below.tickbox --dir tickbox/pre-commit --wait. The
--wait prevents tickbox disappearing if everything succeeded, so that you
can look around a bit.$ cat > .git/hooks/pre-commit
set -euo pipefail
ROOT_DIR="$(pwd)"
exec tickbox --dir "$ROOT_DIR/extra/pre-commit/" --cwd "$ROOT_DIR"
^D
$ chmod +x .git/hooks/pre-commit
See this repository, as well as:
The tickbox.json config file has a few settings that will apply to all scripts
in the workflow. Here's an example config:
{
"envs": {
"RUSTFLAGS": "--deny warnings",
"CARGO_TERM_COLOR": "always"
}
}
The UI has two main parts: The top part shows all the steps in the workflow, and how they're going. The bottom part shows the output of all steps.
j / Down — Scroll down by one line.k / Up — Scroll up by one line.q — Exit, whether the workflow has completed or not.l — Redraw the screen, in case it got some ugly garbage.l key sometimes.