/taskui

TaskUI is a lightweight terminal user interface for executing tasks defined using taskfile.dev.

Primary LanguageRustMIT LicenseMIT

TaskUI - Simple Terminal UI for Task / taskfile.dev

TaskUI is a lightweight terminal user interface for executing tasks defined using taskfile.dev. It provides an easy way to navigate through tasks using arrow keys or Vim-like shortcuts.

Current features are task execution, search and preview.

taskui-example

Usage

  • Navigate through tasks using arrow keys up and down, or use j and k to move.
  • Press Enter to execute the selected task.
  • Press q to exit the program without executing a task.
  • Press / to toggle the search bar. Use Esc to reset the search or Enter to get back to selection mode.
  • Press p to toggle the preview of a selected task. Use p again or q to close the preview.

Configuration

TaskUI can be configured using environment variables.

Available configuration options are:

Environment Variable Description Default
TASKUI_LIST_INTERNAL Show internal tasks in the task list false
TASKUI_HIGHLIGHT_STYLE_BG Background color for highlighted task #ffffff
TASKUI_HIGHLIGHT_STYLE_FG Foreground/text color for highlighted task #4c4f69

Installation

  1. Clone the repository:
git clone https://github.com/thmshmm/taskui.git
  1. Build the binary

using cargo:

cd taskui
cargo build --release

using Nix:

nix build
  1. Create a shell alias for easy access:
alias tui="/path/to/taskui"

Example Taskfile.yml

version: '3'

includes:
  k8s: ./k8s.yml
  docker: ./docker # requires ./docker/Taskfile.yml to exits
  helm:
    taskfile: ./helm.yml
    optional: true

tasks:
  uptime:
    cmds:
      - uptime
  date:
    cmds:
      - date

Contributing

If you have any suggestions, improvements, or bug fixes, feel free to open an issue or submit a pull request.