Ahoy

screenshot of Ahoy

Create shareable, self-documenting command-line tools from simple YAML files. Easily wrap shell, npm, docker... anything, to standardize your processes and make the lives of the people working on your project better.

Overview

Ahoy is a command line tool designed to automate and organize workflows by creating a CLI app for each project without any code or dependencies. It simplifies the process by allowing users to write commands in a YAML file, offering features such as command listing, help text per command, tab completion, and the ability to run commands from any subdirectory.

Features

  • Non-invasive: Integrates seamlessly into existing workflows by wrapping commands and scripts already in use.
  • Consistent: Commands run relative to the .ahoy.yml file but can be executed from any subfolder.
  • Visual: Provides a comprehensive list of commands with descriptions for easy reference.
  • Flexible: Commands are specific to each folder tree, enabling unique commands for different repos or workspaces.
  • Command templates: Allows users to insert arguments into commands using {{args}}.
  • Fully interactive: Supports interactive shells like MySQL and prompts while working with commands.
  • Self-documenting: Command help and shell completion are automatically generated from .ahoy.yml declarations.

macOS

Using Homebrew: If ahoy is in homebrew-core, run the following command to install:

brew install <ahoy>

Linux

Download the latest release from GitHub, move the appropriate binary to a location in your $PATH, and rename it ahoy.
Example:

mv ahoy /usr/local/bin/

Windows

For WSL2, use the Linux binary for your architecture and follow the same installation steps.

Summary

Ahoy is a versatile command line tool that streamlines workflow automation by providing a simple yet powerful interface to run commands across projects. With its intuitive YAML-based configuration and a range of features like tab completion, command templates, and aliases, Ahoy proves to be a valuable asset for developers working on various technologies and environments. Additionally, its non-invasive nature and support for existing workflows make it a go-to tool for enhancing productivity and maintaining consistency in command execution.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.