All Projects → rliebz → Tusk

rliebz / Tusk

Licence: mit
The modern task runner

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Tusk

Run When
Run tasks based on "Git diff" changes 🏃 ➕ ➖
Stars: ✭ 63 (-65.19%)
Mutual labels:  cli, task-runner
Ten Hands
⚡ Simplest way to organize and run command-line tasks
Stars: ✭ 228 (+25.97%)
Mutual labels:  cli, task-runner
Redrun
✨🐌 🐎✨ fastest npm scripts runner
Stars: ✭ 85 (-53.04%)
Mutual labels:  cli, task-runner
Mask
🎭 A CLI task runner defined by a simple markdown file
Stars: ✭ 495 (+173.48%)
Mutual labels:  cli, task-runner
Sparrow
Sparrow - script distribution platform for Linux OS
Stars: ✭ 77 (-57.46%)
Mutual labels:  cli, task-runner
Dog
Dog wants to be a very good task runner
Stars: ✭ 84 (-53.59%)
Mutual labels:  cli, task-runner
Foy
A simple, light-weight and modern task runner for general purpose.
Stars: ✭ 157 (-13.26%)
Mutual labels:  cli, task-runner
Youtubeshop
Youtube autolike and autosubs script
Stars: ✭ 177 (-2.21%)
Mutual labels:  cli
Cointop
A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies 🚀
Stars: ✭ 2,912 (+1508.84%)
Mutual labels:  cli
You Dont Need Gui
Stop relying on GUI; CLI **ROCKS**
Stars: ✭ 4,766 (+2533.15%)
Mutual labels:  cli
Pubs
Your bibliography on the command line
Stars: ✭ 176 (-2.76%)
Mutual labels:  cli
Webpack Serve
Takes your webpack config and creates a development server with hot module reloading and error overlay
Stars: ✭ 177 (-2.21%)
Mutual labels:  cli
Delta
Delta is a command-line diff tool implemented in Go.
Stars: ✭ 178 (-1.66%)
Mutual labels:  cli
Redis Rdb Cli
Redis rdb CLI : A CLI tool that can parse, filter, split, merge rdb and analyze memory usage offline. It can also sync 2 redis data and allow user define there own sink service to migrate redis data to somewhere.
Stars: ✭ 176 (-2.76%)
Mutual labels:  cli
Fzy
🔍 A simple, fast fuzzy finder for the terminal
Stars: ✭ 2,295 (+1167.96%)
Mutual labels:  cli
Wrangler
🤠 wrangle your Cloudflare Workers
Stars: ✭ 2,632 (+1354.14%)
Mutual labels:  cli
Emuto
manipulate JSON files
Stars: ✭ 180 (-0.55%)
Mutual labels:  cli
Ni
💡 Use the right package manager
Stars: ✭ 179 (-1.1%)
Mutual labels:  cli
Magicli
Automagically generates command-line interfaces (CLI) for any module. Expected options and help sections are created automatically based on parameters names, with support to async.
Stars: ✭ 178 (-1.66%)
Mutual labels:  cli
Kafkactl
Command Line Tool for managing Apache Kafka
Stars: ✭ 177 (-2.21%)
Mutual labels:  cli

Tusk

GitHub release CircleCI AppVeyor license Gitter

Tusk is a yaml-based task runner. By creating a tusk.yml in the root of a repository, Tusk becomes a custom command line tool with minimal configuration.

Details on the usage and configuration options can be found in the project documentation.

Features

  • Customizable: Specify your own tasks and options with support for command-line flags, environment variables, conditional logic, and more.
  • Explorable: All the help you need to get started is available straight from the command line. Help documentation is generated dynamically, and support for Bash and Zsh tab completion is available.
  • Accessible: Built for usability with a simple YAML configuration, familiar syntax for passing options, Bash-like variable interpolation, and a colorful terminal output.
  • Zero Dependencies: All you need is a single binary file to get started on Linux, macOS, or Windows.

Getting Started

Installation

The latest version can be downloaded from the releases page.

Installation Script

To install automatically, or for use in CI, run the following command:

curl -sL https://git.io/tusk | bash -s -- -b /usr/local/bin latest

To pin to a specific version, replace latest with the tag for that version. This is recommended for automated scripts.

To install to another directory, change the path passed to -b.

Homebrew

On macOS, installation is also available through homebrew:

brew install rliebz/tusk/tusk

With Homebrew, tab completion is installed automatically.

Tab Completion

For bash:

tusk --install-completion bash

For zsh:

tusk --install-completion zsh

Completions can be uninstalled as well with the --uninstall-completion flag.

Usage

Create a tusk.yml file in the root of a project repository:

tasks:
  greet:
    usage: Say hello to someone
    options:
      name:
        usage: A person to say "Hello" to
        default: World
    run: echo "Hello, ${name}!"

As long as there is a tusk.yml file in the working or any parent directory, tasks can be run:

$ tusk greet --name friend
Running: echo "Hello, friend!"
Hello, friend!

Help messages are dynamically generated based on the YAML configuration:

$ tusk --help
tusk - the modern task runner

Usage:
   tusk [global options] <task> [task options]

Tasks:
   greet  Say hello to someone

Global Options:
   -f, --file <file>  Set file to use as the config file
   -h, --help         Show help and exit
   ...

Individual tasks have help messages as well:

$ tusk greet --help
tusk greet - Say hello to someone

Usage:
   tusk greet [options]

Options:
   --name <value>  A person to say "Hello" to

Additional information on the configuration spec can be found in the project documentation.

For more detailed examples, check out the project's own tusk.yml file.

Contributing

Set-up instructions for a development environment and contribution guidelines can be found in CONTRIBUTING.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].