Skip to content
On this page

Quick Start

Know what you're doing and using a Unix-like system? Make sure you have all the prerequisites in place, then follow the steps below.

If you need more detailed instructions, we have in-depth explanations on setting up your local environment, base WordPress installation and plugins/themes.

Prerequisites

All setups require:

For Valet: macOS and Valet (also requires PHP >= 8.3 as server)

For Docker: Docker Desktop (macOS/Linux/WSL)

For plugins/themes: Git, Git Cliff (optional)

Base Install With Valet

  1. Set up a new MySQL database and make a note of the credentials

  2. Change to your sites directory:

bash
cd ~/sites
  1. Install and configure a new WordPress site (you'll be prompted for database credentials):
bash
forme base new hello-world
  1. Change into the new site directory:
bash
cd hello-world
  1. Add the Valet driver if you haven't already:
bash
cp utils/FormeServerValetDriver.php ~/.config/valet/Drivers/FormeServerValetDriver.php
  1. Enable HTTPS:
bash
valet secure
  1. Visit the site e.g. https://hello-world.test and set up the admin user

Base Install With Docker

  1. Change to your sites directory:
bash
cd ~/sites
  1. Install and configure a new WordPress site:
bash
forme base new hello-world
  1. Change into the new site directory:
bash
cd hello-world
  1. Initialise Docker configuration:
bash
forme ketch init
  1. Launch Docker:
bash
forme ketch up
  1. Visit the site at http://localhost and set up the admin user

New Plugin / Theme

  1. Change to your repos directory:
bash
cd ~/repos
  1. Create a new plugin or theme:
bash
# plugin
forme new plugin hello-world
# theme
forme new theme hello-world
  1. Change to your base WordPress installation directory:
bash
cd ~/sites/hello-world
  1. Symlink the repo into your base installation:
bash
# valet
forme base link ~/repos/hello-world-plugin/
# docker
forme ketch link ~/repos/hello-world-theme/
forme ketch restart
  1. Update PHP dependencies:
bash
composer update

Made by Moussa Clarke @ Sanders Web Works with ❤️