Skip to content

ras0q/cute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cute

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
  • Built-in completion for bash and zsh
  • 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

Let's give it a try!

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

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 add to your ~/.zshrc:

# In ~/.zshrc

# Cute
CUTE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/cute"
if [ ! -d "$CUTE_DIR" ]; then
  git clone https://github.com/ras0q/cute "$CUTE_DIR"
fi
source "$CUTE_DIR/cute"

Bash

Add to your ~/.bashrc:

# In ~/.bashrc

# Cute
CUTE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/cute"
if [ ! -d "$CUTE_DIR" ]; then
  git clone https://github.com/ras0q/cute "$CUTE_DIR"
fi
source "$CUTE_DIR/cute"

Fish

Using Fisher:

fisher install ras0q/cute

Or install the function manually:

set -l cute_functions_dir ~/.config/fish/functions
mkdir -p $cute_functions_dir
curl -fsSL https://raw.githubusercontent.com/ras0q/cute/main/functions/cute.fish -o $cute_functions_dir/cute.fish

The cute command will automatically download the script on first use.

Acknowledgements

About

Cute: A CLI tool that exeCUTEs commands from markdown files.

Resources

License

Contributing

Stars

Watchers

Forks

Languages