spatie / mailcoach-cli
CLI tool for interacting with the Mailcoach API
Requires
- php: ^8.4
Requires (Dev)
- illuminate/http: ^12.0
- larastan/larastan: ^3.0
- laravel-zero/framework: ^12.0
- laravel/pint: ^1.25
- mockery/mockery: ^1.6
- pestphp/pest: ^3.8|^4.0
- spatie/laravel-openapi-cli: ^1.0
README
A command-line tool to interact with the Mailcoach API from your terminal. Built on top of the Mailcoach OpenAPI spec, so all API endpoints are available as commands automatically.
Installation
composer global require spatie/mailcoach-cli
Getting started
1. Authenticate
Connect the CLI to your Mailcoach instance:
mailcoach login
You'll be prompted for:
- Your Mailcoach instance URL (e.g.
https://example.mailcoach.app) - An API token — create one at
https://example.mailcoach.app/account/api-tokens
2. Run commands
Once authenticated, all API endpoints are available as commands:
mailcoach list-email-lists mailcoach show-email-list --email-list-id=1 mailcoach list-campaigns mailcoach show-campaign --campaign-id=1
Run mailcoach without arguments to see all available commands.
3. Other commands
mailcoach logout # Remove stored credentials mailcoach clear-cache # Clear the cached API spec (refreshes every 24h)
AI Agent Skill
This CLI ships with an agent skill so AI agents can manage your Mailcoach instance on your behalf.
Install via Laravel Boost
In a Laravel project using Boost:
composer require spatie/mailcoach-cli --dev php artisan boost:install
Install via skills.sh
Works with Claude Code, Cursor, GitHub Copilot, and 40+ other agents:
npx skills add spatie/mailcoach-cli
Manual installation
Copy the resources/boost/skills/mailcoach/ directory into your agent's skill directory:
- Claude Code:
.claude/skills/mailcoach/ - Cursor:
.cursor/skills/mailcoach/ - Generic:
.ai/skills/mailcoach/
Credentials
Your API token and instance URL are stored in ~/.mailcoach/config.json. Running mailcoach logout removes this file.
Development
git clone git@github.com:spatie/mailcoach-cli.git cd mailcoach-cli composer install php mailcoach # Run locally vendor/bin/pest # Run tests vendor/bin/phpstan analyse # Static analysis vendor/bin/pint # Code style