koddr / yatr

πŸƒ Yet Another Task Runner (or yatr for a short) allows you to organize and automate your routine operations that you normally do in Makefile (or else) for each project.

Home Page:https://github.com/koddr/yatr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

yatr – A modern alternative to Makefile with a few little bells and whistles

Go version Go report Wiki License

Yet Another Task Runner (or yatr for a short) allows you to organize and automate your routine operations that you normally do in Makefile (or else) for each project.

Features:

  • 100% free and open source.
  • Can run any task in async mode (in separated goroutines).
  • Supports popular formats of the task file (JSON, YAML, TOML, HCL).
  • Has a beautiful appearance and understandable output.

⚑️ Quick start

First, download and install Go. Version 1.20 (or higher) is required.

Installation is done by using the go install command:

go install github.com/koddr/yatr@latest

πŸ’‘ Note: See the repository's Release page, if you want to download a ready-made deb, rpm, apk or Arch Linux package.

GNU/Linux and macOS users available way to install via Homebrew:

# Tap a new formula:
brew tap koddr/tap

# Installation:
brew install koddr/tap/yatr

Next, run yatr with -i option to generate initial tasks.yml file in the current dir:

yatr -i

Prepare your task file in one of the supported formats: JSON (example), YAML (example), TOML (example), HCL/Terraform (example).

πŸ’‘ Note: See the repository's Wiki page to understand structure of the task file.

And now, run yatr with options:

yatr -p ./path/to/tasks.yml

Done! πŸŽ‰ Your tasks have been executed.

🐳 Docker-way to quick start

If you don't want to physically install yatr to your system, you feel free to using our official Docker image and run it from isolated container:

docker run --rm -it -v ${PWD}:${PWD} -w ${PWD} koddr/yatr:latest [OPTIONS]

🧩 Options

Option Description Is required? Type Default value
-i generate an example tasks.yml file in the given format no bool false
-p set a path to the file with tasks in any of the supporting format (see Wiki) yes string ""

πŸ† A win-win cooperation

And now, I invite you to participate in this project! Let's work together to create the most useful tool for developers on the web today.

  • Issues: ask questions and submit your features.
  • Pull requests: send your improvements to the current.

Your PRs & issues are welcome! Thank you 😘

⚠️ License

yatr is free and open-source software licensed under the Apache 2.0 License, created and supported with 🩡 for people and robots by Vic Shóstak.

About

πŸƒ Yet Another Task Runner (or yatr for a short) allows you to organize and automate your routine operations that you normally do in Makefile (or else) for each project.

https://github.com/koddr/yatr

License:Apache License 2.0


Languages

Language:Go 99.6%Language:Dockerfile 0.4%