## [1.10.0](https://github.com/timo-reymann/bash-tui-toolkit/compare/1.9.0...1.10.0) (2025-08-01) ### Features * [[#38](https://github.com/timo-reymann/bash-tui-toolkit/issues/38)] Add possibility to preselect checkbox items ([ |
||
---|---|---|
.circleci | ||
.development | ||
.github/images | ||
docs | ||
scripts | ||
src | ||
.gitignore | ||
.pre-commit-config.yaml | ||
.releaserc.json | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
renovate.json | ||
test.sh |
Bash TUI Toolkit
Toolkit to create interactive and shiny terminal UIs using plain bash builtins
Features
- clean and standardized API
- provide a simple and clear default set of elements to use creating an interactive terminal UI
- clean and minimalistic design
- zero dependencies to be installed
- parts can be used modular
Requirements
Installation
Download and include in your scripts
- Download the bundle (entire lib) or single compoennt from releases
- Source the bundle in your script or embed, e.g.
or simply copy it into your script.source ./lib/bundle.bash
Source directly from release
Note that this is not a recommended approach and only intended for quick testing or trying out another version.
- Choose the bundle in the version you want to use from the available releases in the docs.
- Source it to your script on runtime:
- Using
wget
source <(wget -qO- https://bash-tui-toolkit.timo-reymann.de/latest/bundle.bash)
- Using
curl
source <(curl -qsS https://bash-tui-toolkit.timo-reymann.de/latest/bundle.bash)
- Using
Usage
For a list of available modules and their documentation please check the docs.
For a complete playground demo check test.sh.
Motivation
Providing a clean bash UI sometimes becomes a mess and interactivity is hard to achieve especially when it should be portable.
The target is to provide a simple-to-use toolkit that can be dropped into any bash script and is compatible no matter the target system.
Documentation
- GitHub Pages - Versioned releases, documentation and compability matrix
- Modules - Modules available and their usage
- Compability table - Known combinations of OS/Bash Version/Terminal emulators that work guaranteed
Contributing
I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the configuration
- Submitting a fix
- Proposing new features
- Becoming a maintainer
To get started please read the Contribution Guidelines.
Development
Requirements
Build
make build
Update documentation
To update the module documentation you just need to run
make generate-docs
This builds the documentation inside a docker container and updates the repo locally. Afterwards just commit the docs with your code changes
Credits
- Logo
- Bash logo from pngegg
- Toolbox logo from IconExperience.com
Alternatives
- kahkhang/Inquirer.sh - List, Checkbox and Text Input with more advanced validation