Statamic
Local Statamic development for Mac.
Bothy is a native Mac app that runs PHP, MySQL or MariaDB and HTTPS for your local sites. The Statamic starter gives you a flat-file site with no database to set up, served from public/ at https://studio.test, with the control panel at /cp.
Flat files first, database optional
Statamic is a Laravel package. Out of the box its content (entries, globals, navigation, users) lives as Markdown and YAML files under content/ and users/, and blueprints and fieldsets are YAML files in resources/. That means your whole site, content included, can be versioned in git, and a fresh clone runs with no database import at all.
Plenty of Statamic sites stay that way. Bigger ones sometimes move content or users into a database with Statamic's Eloquent driver, or the underlying Laravel app needs tables of its own. Bothy covers both: a site can start with no database and have one assigned later.
What Bothy does for a Statamic site
Bothy runs Caddy, php-fpm and (when you need them) MySQL or MariaDB as ordinary Mac services. Each site gets its own https://name.test, PHP version and FPM pool, and public/ is detected as the document root automatically. The Statamic starter needs no database, so there's nothing to configure before you open the control panel.
HTTPS on .test with a locally trusted certificate means the control panel, Live Preview and any asset URLs behave the same as on your production domain.
php please and artisan on the right PHP
Statamic's CLI is php please, alongside Laravel's php artisan. Run both through bothy site exec so they use the PHP version the site is served with:
bothy site exec studio -- php please make:user
bothy site exec studio -- php please stache:clear
bothy site exec studio -- php please stache:warm
bothy site exec studio -- php please static:clear
bothy site exec studio -- composer update statamic/cms --with-dependencies
The Stache is Statamic's index of your flat files. If you edit content files by hand or switch git branches and the control panel looks out of date, stache:clear is usually the fix.
Cloning a Statamic site from git
Because content is in the repository, cloning is usually the whole job:
bothy site add studio --git git@github.com:you/studio.git --composer
bothy site exec studio -- cp .env.example .env
bothy site exec studio -- php artisan key:generate
If the GitHub CLI is installed and signed in, the app can list your repositories to pick from. The site's Git tab shows the content files you've changed, which for Statamic includes edits made in the control panel, so you can see exactly what an editor session touched before you commit.
Adding a database when you need one
When a project does need MySQL (the Eloquent driver, or a Laravel feature with its own migrations), create a database and assign it to the site:
bothy site db studio assign studio_db --create
Then set the usual Laravel keys in .env: DB_CONNECTION=mysql, DB_HOST=127.0.0.1, DB_PORT=3306, DB_DATABASE=studio_db, DB_USERNAME=root and an empty DB_PASSWORD. Snapshots, imports and phpMyAdmin work as for any other site; see MySQL and MariaDB.
Forms, email, assets and debugging
Statamic form notifications go through Laravel's mailer. Point it at Mailpit with MAIL_MAILER=smtp, MAIL_HOST=127.0.0.1 and MAIL_PORT=1025, and every message appears at mail.test instead of a client's inbox.
Current Statamic projects usually build their CSS and JS with Vite. Enable the Node add-on (bothy addon enable node) and node and npm are on PATH in bothy site exec:
bothy site exec studio -- npm install
bothy site exec studio -- npm run build
Redis is an add-on too, if you move Laravel's cache or queues onto it. For errors, the site's Logs tab follows its PHP and access logs live, and bothy site xdebug studio on enables Xdebug for that site only, on port 9003.
AI assistants and flat files
Flat-file content suits AI-assisted work: an assistant can read and edit your entries and blueprints directly, and Bothy's MCP server lets it create sites, run commands, read logs and check mail. Connect it to Claude, Codex or Cursor from the app's Integrations screen. See AI development.
Set it up in a minute
- 1Install Bothy
Open the app and let setup install PHP, Caddy, dnsmasq and MySQL. See installation.
- 2New site: use the Statamic starter
Choose the Statamic starter when you add a new site in the app. No database is needed.
- 3Create your control panel user
bothy site exec studio -- php please make:user
- 4Open it
bothy site open studio # then /cp
Questions
No. The Statamic starter is flat-file and needs no database. You can assign one later with bothy site db studio assign studio_db --create.
Yes. Bothy auto-detects public/, web/ and htdocs/, and you can set another folder in the site's General tab.
bothy site exec studio -- php please … runs them in the site folder with the site's PHP version first on PATH.
Set Laravel's mailer to SMTP on 127.0.0.1:1025 and they're caught by Mailpit at mail.test.
$69 once, including every 1.x update. See pricing.