Skip to content
 
 

Latest commit

 

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cove 🏝️

Local Development Powered by Caddy

Cove is a command-line tool that simplifies the creation and management of local development websites. It leverages Caddy, MariaDB, and Mailpit to provide a robust environment for both WordPress and plain static sites.

✨ Features

  • Simple CLI: Manage everything from your terminal with simple commands.
  • Web Dashboard: A handy web interface to view and manage your sites.
  • Automatic HTTPS: All sites are automatically served over HTTPS locally using internal certificates.
  • WordPress & Static Sites: Quickly create a new WordPress installation or a plain static site.
  • Database Management: Includes Adminer for database management and a command for easy backups.
  • Email Catching: Built-in Mailpit service catches all outgoing emails for easy inspection.
  • Pretty Errors: Uses Whoops for beautiful and informative PHP error pages.
  • Custom Rules: Easily add site-specific Caddy directives.

Core Technologies

Installation

Run the following in your terminal to install cove.

bash <(curl -sL https://cove.run/cove-install.sh)

💻 Usage

Cove provides a simple set of commands to manage your local environment.

Command Description
cove add <name> [--plain] ➕ Creates a new WordPress site (<name>.localhost). Use --plain for a static site.
cove delete <name> [--force] 🗑️ Deletes a site's directory and its associated database.
cove rename <old-name> <new-name> 🔄 Renames a site, its directory, database, and updates its URL in the database.
cove list [--totals] 📝 Lists all sites managed by Cove. Use --totals to show disk usage.
cove login <site> [<user>] 🔑 Generates a one-time login link for a WordPress site.
cove path <name> 📁 Outputs the full system path to a site's public directory.
cove url <name> 🌐 Prints the full https://<name>.localhost URL for a site.
cove enable ✅ Starts the Caddy, MariaDB, and Mailpit background services.
cove disable 🛑 Stops all Cove background services.
cove status 🔎 Checks the status of all background services.
cove reload 🔄 Regenerates the Caddyfile and reloads the Caddy server gracefully.
cove db <backup|list> 💾 backup creates a .sql backup for every WordPress site. list shows database credentials.
cove directive <add|update|delete|list> ⚙️ Manages custom Caddyfile rules for a specific site.
cove install 🛠️ Installs and configures all required dependencies.
cove upgrade ⬆️ Upgrades Cove to the latest available version from GitHub.
cove version ℹ️ Displays the current version of Cove.

You can get help for any command by running cove <command> --help.

🖥️ The Dashboard

The web dashboard, available at https://cove.localhost, provides a quick and easy way to:

  • View all your managed sites.
  • Add new WordPress or Plain sites via a simple form.
  • Delete existing sites with a click.
  • Access quick links to Adminer and Mailpit.
  • See your database connection credentials.

🛠️ Development

If you're contributing to Cove, the watch.sh script is helpful. It uses fswatch to monitor file changes and automatically runs the compile.sh script for you.

./watch.sh

📜 License

Cove is open-source software licensed under the MIT License. Copyright (c) 2025-present, Austin Ginder.

About

CLI for managing WordPress locally using the Franken stack: Caddy, FrankenPHP, MariaDB, Mailpit, whoops, WordPress and WP-CLI.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages