← All tools

ahoy

Popularity 85 Updated Development & Build

Creates self documenting CLI programs from commands in YAML files

homebrewauto-collected

Installation

Homebrew
brew install ahoy

Install with Homebrew.

<div align="center"

<picture <source srcset="img/rect/ahoy-logo-rect-v2.webp" type="image/webp" <img src="img/rect/ahoy-logo-rect-v2.svg" alt="Ahoy logo" width="300" </picture

<h1Ahoy!</h1

<h3Automate and organise your workflows, no matter what technology you use.</h3

</div

Ahoy is a command line tool that gives each of your projects its own CLI app with zero code and dependencies.

Write your commands in a YAML file and then Ahoy gives you lots of features like:

  • a command listing
  • per-command help text
  • command tab completion
  • run commands from any subdirectory

Ahoy makes it easy to create aliases and templates for commands that are useful. It was created to help with running interactive commands within Docker containers, but it's just as useful for local commands, commands over ssh, or really anything that could be run from the command line in a single clean interface.

Examples

Say you want to import a MySQL database running in docker-compose using another container called cli. The command could look like this:

docker exec -i $(docker-compose ps -q cli) bash -c 'mysql -u$DBENVMYSQLUSER -p$DBENVMYSQLPASSWORD -h$DBPORT3306TCPADDR $DBENVMYSQLDATABASE' < some-database.sql

With Ahoy, you can turn this into:

ahoy mysql-import < some-database.sql

Quick Start

Get started immediately with our comprehensive examples file:

# Create a new project with example commands
ahoy init

# Or download the examples file directly
curl -o .ahoy.yml https://raw.githubusercontent.com/ahoy-cli/ahoy/master/examples/examples.ahoy.yml

The examples file includes 30+ usable example commands for: