Mk
mk - Interactive Task Runner for Makefile(Taskfile.yml)
Install / Use
/learn @orangekame3/MkREADME
mk - Interactive Task Runner for Makefile (Taskfile)
mk is a command-line interface (CLI) tool designed to interactively execute make commands from a Makefile (GNU Make) or tasks from a Taskfile.yml go-task. It provides a user-friendly interface to select and run predefined commands, making it easier to manage and execute build tasks.

Features
- Interactive Interface: Browse and select from available
makecommands using arrow keys or filter by typing. - Documentation: View the description of each command to understand its purpose and usage.
- Vim like keybindings: Use
jandkto navigate,Enterto execute, andqto quit. - Filtering: Quickly search for commands by typing part of the command name. check
?for help. - Remote Makefile: Load a Makefile from a remote URL and execute commands.
- Any Local Makefile: Load a Makefile from any directory and execute commands.
- Taskfile.yml Support: Load a Taskfile.yml from a remote URL or local path and execute tasks.
Installation
mk can be installed using the following methods:
Homebrew
brew install orangekame3/tap/mk
Go Install
go install github.com/orangekame3/mk@latest
Manual Installation
- Download the latest release from the Releases
- Extract the archive and navigate to the extracted directory.
- Move the
mkbinary to a directory in yourPATH.
mv mk /usr/local/bin
Usage
Prepare a Makefile with predefined commands and descriptions. Each command should be documented using a comment starting with ## to provide a description of the command.
SHELL := bash
.SHELLFLAGS := -eu -o pipefail -c
.DEFAULT_GOAL := help
.PHONY: test fmt
## Run tests
test:
go test ./...
## Format source code
fmt:
go fmt ./...
or you can set MK_DESC_POSITION=side in your .bashrc or .zshrc to show the description on the right side of the command.
SHELL := bash
.SHELLFLAGS := -eu -o pipefail -c
.DEFAULT_GOAL := help
.PHONY: test fmt
test: ## Run tests
go test ./...
fmt: ## Format source code
go fmt ./...
Run mk in your terminal to start the interactive interface. Select a command using arrow keys or filter by typing part of the command name. Press Enter to execute the selected command.
mk
This will display a list of available commands from the Makefile. Use the arrow keys to navigate and select a command, then press Enter to execute it.
Options
mk supports the following options:
mk is a CLI tool for executing make commands interactively.
Usage:
mk [flags]
Flags:
-f, --file string Specify an input file other than Makefile (URL is also supported)
-h, --help help for mk
-t, --taskfile Use Taskfile.yml instead of Makefile
-v, --version version for mk
Load Makefile from a Remote URL
Use the -f or --file flag to load a Makefile from a remote URL. This allows you to execute commands from a Makefile hosted on a remote server.
mk -f https://raw.githubusercontent.com/orangekame3/mk/main/Makefile
[!NOTE] command executed at current directory.
Load Makefile from a Local File
Use the -f or --file flag to load a Makefile from a local file. This allows you to execute commands from a Makefile located in any directory.
mk -f /path/to/Makefile
[!NOTE] command executed at path/to directory, and return to the original directory after the command is executed.
Load Taskfile
Prepare a Taskfile.yml with predefined tasks and descriptions.
version: 3
tasks:
test:
cmds:
- go test ./...
description: Run tests
fmt:
cmds:
- go fmt ./...
description: Format source code
Use the -t or --taskfile flag to load a Taskfile.yml instead of a Makefile. This allows you to execute tasks from a Taskfile.yml.
mk -t
[!NOTE] It is usefule set alias in your
.bashrcor.zshrclikealias tk='mk -t'.
Contact For questions or feedback, please contact at @orangekame3
License
This project is licensed under the MIT License. See the LICENSE file for more information.
Acknowledgements
This project was inspired by fzf-make by @kyu08, make2help by @Songmu, and glow Thank you for the inspiration!
Author
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
342.0kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
