madebyshape / craft-cms
Requires
- craftcms/ckeditor: ^5.4.0
- craftcms/cloud: *
- craftcms/cms: ^5.9.18
- craftcms/mailgun: ^3.1.0
- nystudio107/craft-minify: ^5.0.0-beta.2
- nystudio107/craft-seomatic: ^5.1.21
- nystudio107/craft-vite: ^5.0.0-beta.3
- putyourlightson/craft-blitz: ^5.12.8
- putyourlightson/craft-sprig: ^3.7.2
- servd/craft-asset-storage: ^4.2.4.2
- spacecatninja/imager-x: ^5.2.1
- spacecatninja/imager-x-craft-cloud-transformer: ^1.0.1
- verbb/formie: ^3.1.19
- vlucas/phpdotenv: ^5.4.0
Requires (Dev)
- craftcms/generator: ^2.0.0
- yiisoft/yii2-shell: ^2.0.3
- dev-master
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.16
- 5.1.15
- 5.1.14
- 5.1.13
- 5.1.12
- 5.1.11
- 5.1.10
- 5.1.9
- 5.1.8
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.0
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/vite-8.0.5
- dev-dependabot/npm_and_yarn/minimatch-3.1.5
- dev-dependabot/npm_and_yarn/picomatch-4.0.4
- dev-chore/vite-8-upgrade
- dev-dependabot/composer/psy/psysh-0.12.19
- dev-dependabot/composer/symfony/process-6.4.33
- dev-dependabot/composer/paragonie/sodium_compat-2.5.0
- dev-dependabot/composer/aws/aws-sdk-php-3.368.2
- dev-dependabot/npm_and_yarn/multi-74f7c1f85a
- dev-dependabot/npm_and_yarn/min-document-2.19.2
- dev-dependabot/npm_and_yarn/tar-fs-2.1.4
- dev-dev-tests
- dev-dev
- dev-craft-cms-5-ddev-tailwind-3
- dev-craft-cms-4-webpack
- dev-craft-cms-5-ddev
- dev-craft-cms-3-webpack
This package is auto-updated.
Last update: 2026-04-08 08:58:33 UTC
README
Craft CMS 5 Starter
This is a Craft CMS 5.x starter that MadeByShape use internally for projects. We open sourced it so anybody can use it.
The Stack
- Craft CMS 5.x Content management system
- DDEV Local development environment
- Vite 8.x Front-end build tool with HMR
- Tailwind CSS 4.x Utility-first CSS framework
- Alpine.js 3.x Minimal JS framework
- Mailgun Email API
- Servd Craft CMS first hosting provider
- Craft Cloud Craft CMS hosting provider
- Tailscale Device testing via secure tunnels
Requirements
Features
- Templates
- Layout templates setup ready with header and footer globals
- Exception templates for 404, offline/maintenance and generic errors
- Page templates setup for use with matrix fields
- Email template for sending prettier system emails (Forgot password etc)
- Config
- Configs for all Craft CMS plugins
- Customised general config with required features that hook into .env vars
- Env
- Customised .env file with Servd and Mailgun included
- Building
- HMR
- CSS and JS minified and purged
- Favicon is generated and auto-inserted into the template
- Images compressed
- Sourcemaps generated
- Servd
- Setup to be used with Servd hosting platform
- Enabled for using static caching
- Craft Cloud
- Setup to be used with Craft Cloud hosting provider
- Enabled for using artifacts with Vite JS and Imager X
- Caching
- Uses Blitz to handle server caching and warming
- Device Testing
- Test on phones and tablets via Tailscale Share or Funnel
- Vite dev server assets served through the tunnel
Plugins
Craft CMS
- Blitz
- CKEditor
- Formie
- Imager X
- Mailgun
- Minify
- SEOMatic
- Servd Assets and Helpers
- Craft Cloud Extension
- Imager X Craft Cloud Transformer
- Sprig
- Vite
Install
Create an empty folder and cd to it in your terminal (if you plan to use Option 1 or 2).
1a. Option 1: Composer
If you have Composer installed locally, open your terminal and run:
composer create-project madebyshape/craft-cms
1b. Option 2: Git
You can clone the repo from GitHub using the Git CLI:
git clone git@github.com:madebyshape/craft-cms.git
1c. Option 3: Manual
Download a copy of this repo to your computer using the Code button above, and choosing Download ZIP. Move these files to your empty folder.
2. Start DDEV, Install Craft CMS and dependencies
Firstly, edit .ddev/config.yaml and change the name to your project name.
Then, there are a few CLI commands (See more) we've created that allow starting DDEV, installing Craft CMS and installing dependencies (Node particularly). The one to get you started:
make install
3. Starting Vite
Once step 2 has successfully completed, start Vite for front-end tooling:
make dev
Production
When you're ready to go live, make sure you have npm installed on the server, then run the production command to minify, compress and build the front-end assets:
npm run build
# or
make prod
CLI commands
We've created a few commands to make development easier. All commands are run in your terminal:
| Command | Description |
|---|---|
make install |
Full install (DDEV, Craft CMS, npm) |
make setup |
Pull latest + install dependencies |
make start |
Start DDEV + Vite |
make dev |
Start Vite dev server |
make prod |
Build front-end assets for production |
make update |
Update Craft CMS + plugins |
make up |
Apply project config + migrations |
make npm-install |
Install npm packages |
make keys |
Generate Craft security keys |
make pull-db |
Pull remote database (Servd) |
make import-db file=... |
Import a SQL dump |
make update-search-index |
Rebuild search index |
make l |
Open site in browser |
make tp |
Open TablePlus |
make mp |
Open Mailpit |
make share |
Share site via Tailscale (private) |
make funnel |
Share site via Tailscale Funnel (public) |
make clean |
Reset vendor + node_modules |
make clean-logs |
Clear log files |
make kill-vite |
Kill Vite processes |
Nice to know
Device Testing with Tailscale
You can test your local site on other devices (phones, tablets) using Tailscale. This gives you a real HTTPS URL that works on any device.
- Tailscale installed and running on your Mac (the standalone or Homebrew version, not the Mac App Store version)
- Funnel requires HTTPS certificates and the
funnelnode attribute enabled in your Tailscale admin console
The Tailscale commands (see CLI commands) automatically register the Tailscale hostname with DDEV's router and expose the Vite dev server so CSS/JS assets load correctly on remote devices. You'll need two terminals: one for the Tailscale tunnel and one for Vite.
File system type
The file system type is set in the .env file. It can be set to either local, servd or craftCloud depending on where you are hosting your project. local is good for local and also production if the files are hosted on the same server.
FILESYSTEM_TYPE=local
Database
To access the database inside the DDEV environment, you can use TablePlus. You can use the following command to open TablePlus to export/import:
ddev tableplus
# or
make tp
To access the email inside the DDEV environment, you can use Mailpit. You can use the following command to open Mailpit:
ddev mailpit
# or
make mp
HTTPS recommended
There are a few issues getting Vite, DDEV and Craft CMS running nicely together over HTTP, so always make sure you are using HTTPS. For DDEV just run:
ddev stop --all mkcert -install ddev start ddev launch