Skip to content

Welcome to Ahoy

Give every project its own CLI - zero code, zero dependencies, just YAML.

Ahoy is a command-line tool that turns your project’s scripts and commands into a self-documenting CLI. You write a .ahoy.yml file, and Ahoy gives your whole team a consistent, discoverable interface to run things - from any project subdirectory, with tab completion and help text built in.

It turns something like this:

Terminal window
docker-compose exec --user=82 web drush cache:rebuild --uri=https://example.com

Into this:

Terminal window
ahoy cr

No programming required. No dependencies to install. It works with Docker, SSH, local scripts, or anything you can run from a shell.

Zero setup

Write some YAML and you’re done. Commands are defined once and work the same way for everyone on the team.

Self-documenting

Running ahoy lists all available commands with their descriptions. Your README doesn’t need a commands section anymore.

Works anywhere

Run commands from any subdirectory - Ahoy finds the config and always executes relative to it.

Docker-friendly

Turn verbose Docker and docker-compose commands into short, memorable aliases your whole team can use.

Terminal window
# Install (macOS)
brew install ahoy
# Initialise a project with example commands
cd my-project
ahoy config init
# See what's available
ahoy

The examples file includes 30+ ready-to-use commands for environment management, testing, databases, and Drupal. Customise it or start fresh - either way, you’re up and running in minutes.

Get Started →

Writing Commands

Practical patterns for arguments, aliases, multi-line scripts, chaining, and real-world examples.

Writing Commands →

Environment Variables

Load .env files per-command or globally, and manage configuration across environments safely.

Environment →

YAML Schema Reference

Complete technical reference for every field in .ahoy.yml.

YAML Schema →