mk streamlines your workflow by transforming complex Makefile and Taskfile.yum execution into an interactive experience. With user-friendly navigation, command descriptions, and support for remote files, mk makes managing build tasks swift and intuitive. Spend less time scripting and more time executing with this simple command-line tool.
mk is an innovative command-line interface (CLI) tool designed to streamline the execution of tasks defined in Makefiles or Taskfiles (Taskfile.yml). With mk, you can effortlessly manage and run build commands in an interactive environment, enhancing your productivity in software development.
Key Features
- Interactive Command Selection: Easily browse through available
make
commands using intuitive arrow keys or filter them by typing. - In-Depth Command Documentation: View descriptions for each command to gain insights into their functionality and how to use them effectively.
- Vim-like Keybindings: Navigate seamlessly with
j
andk
keys, execute commands withEnter
, and exit withq
. - Quick Filtering: Find commands swiftly by typing part of their names; simply check
?
for additional help. - Remote Makefile Support: Load Makefiles from online sources and execute commands without hassle.
- Versatile Local Makefile Loading: Use any local Makefile from your file system to run commands.
- Taskfile.yml Compatibility: Load and execute tasks from a Taskfile.yml, whether from a remote URL or local path.
Usage Overview
To use mk, start by preparing a Makefile or Taskfile with your defined commands:
Example Makefile
SHELL := bash
.SHELLFLAGS := -eu -o pipefail -c
.DEFAULT_GOAL := help
.PHONY: test fmt
## Run tests
test:
go test ./...
## Format source code
fmt:
go fmt ./...
Run the command:
mk
This brings up an interactive interface where you can navigate through available commands and execute them with a simple keystroke.
Command Options
mk provides various command flags to customize your execution experience:
mk [flags]
- -f, --file string: Specify an alternate input file (local or remote URL).
- -t, --taskfile: Use a Taskfile.yml instead of a Makefile.
- -v, --version: Display the current version of mk.
For instance, load a remote Makefile:
mk -f https://raw.githubusercontent.com/orangekame3/mk/main/Makefile
Or, to execute your defined tasks from a Taskfile:
mk -t
Conclusion
mk brings a user-friendly interface to the world of Makefiles and Taskfiles, making the execution of predefined tasks an engaging, quick, and efficient process. Say goodbye to cumbersome command lines and hello to a more manageable way to run your builds and tasks!
No comments yet.
Sign in to be the first to comment.