Skip to content

ras0q/cute

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Cute

Cute compatible

A CLI tool that exeCUTEs commands from Markdown files.

Demo

$ source <(curl -fsSL https://raw.githubusercontent.com/ras0q/cute/main/cute)
$ cute -h
Cute: A CLI tool that exeCUTEs commands from Markdown files.

Usage:
  cute [-h] [-l] [-v] [TASK_NAME|SLUG ...]

Options:
  -h: Show this help message and exit
  -l: List tasks
  -L: Limit search depth for Markdown files (default: 1)
  -v: Enable verbose mode

Arguments:
  TASK_NAME|SLUG: Task name or slug to execute. If specified, fuzzy search will be skipped.
                  Multiple tasks can be specified to execute them in order.

Example:
  cute -l                # List tasks
  cute build             # Execute task with slug "build"
  cute "Build Project"   # Execute task by name
  cute build test deploy # Execute multiple tasks in order
  cute $(cute -l | fzf)  # Fuzzy search and execute a task using fzf

Features

  • Pure shell script with no dependencies
  • Tasks defined in Markdown files with standard code blocks
  • Discovers tasks from all Markdown files in current directory
  • Execute tasks written in sh, bash, zsh, or shell
  • Shell completion through bash, zsh, and fish integration files
  • No configuration required
  • Opt-in adoption for teams

Comparison with Other Task Runners

vs Make

Make is a build system for managing file dependencies, not a task runner.

Cute requires no Node.js installation and uses standard Markdown instead of JSON configuration.

vs Task

Cute is pure shell requiring no binary installation, uses natural Markdown formatting instead of YAML, and works on any POSIX shell environment. Developers can opt-in to using the cute command without forcing adoption across the team.

vs xc

Cute scans all Markdown files in the project instead of a single dedicated file (e.g. README.md), and any Markdown heading becomes a task without needing a ## Tasks section.

Installation

Basic Usage

Download the script to a directory in your PATH, e.g. ~/.local/bin:

CUTE_PATH=~/.local/bin/cute
mkdir -p $(dirname $CUTE_PATH)
curl -fsSL https://raw.githubusercontent.com/ras0q/cute/main/cute -o $CUTE_PATH
chmod +x $CUTE_PATH
cute -h

Execute Without Installation

Cute is a pure shell script. You can try it out without installation:

source <(curl -fsSL https://raw.githubusercontent.com/ras0q/cute/main/cute)
cute -h

Zsh

Using a plugin manager like antidote:

antidote install ras0q/cute

Or follow the Basic Usage.

Bash

Follow the Basic Usage.

To enable Bash completion, place cute.bash next to cute and source it from your shell startup file:

source ~/.local/bin/cute.bash

Fish

Using Fisher:

fisher install ras0q/cute

Or follow the Basic Usage.

npm registry

Install @ras0q/cute from npm:

npx @ras0q/cute
# bun x @ras0q/cute
# deno run npm:@ras0q/cute

GitHub Actions

Use ras0q/cute directly as a GitHub Actions step:

- uses: ras0q/cute@main
  with:
    tasks: | # required, newline-separated task names or slugs
      build
      test
      Bash Shell
    working-directory: ./  # optional, defaults to current directory

Nix (home-manager)

You can install Cute using home-manager.

# flake.nix
{
  inputs.cute.url = "github:ras0q/cute";
  inputs.home-manager.url = "github:nix-community/home-manager";

  outputs =
# ...
    home-manager.nixosModules.home-manager {
      home-manager.users.me = {
        imports = [
          cute.homeModules.default
          ({...}: {
            programs.cute.enable = true;
            programs.cute.installation = "basic"; # or "zsh-plugin"
          })
        ];
      };
    }
}

Nix (standalone)

You can also use Cute as a single package.

nix run github:ras0q/cute

Want Another Way?

If your preferred package manager or installation method isn't listed, open an issue and let us know!

Agent Skills

If you're using an agent that supports skills, you can add the ras0q/cute skill to enable task execution from Markdown files in your projects.

npx skills add ras0q/cute
# gh skill install ras0q/cute

Show Your Love for Cute! 💖

If you like Cute, please consider adding the following badge to your project's README to show compatibility and support:

Cute compatible

[![Cute compatible](https://raw.githubusercontent.com/ras0q/cute/refs/heads/main/badge.svg)](https://github.com/ras0q/cute)

Thank you for supporting Cute!

Acknowledgements

About

Cute: A CLI tool that exeCUTEs commands from markdown files — also works as a zsh/fish plugin.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors