This repo is a Composer "project" intended for use with the composer create-project
command.
Our starter uses DDEV for local development. Install it before doing any of the following steps.
- Local development powered by DDEV
- Vite based front-end build tooling.
- Automatic linting, formatting and typechecking
- Runs on git pre-commit hook with Husky
- Only processes staged files using lint-staged
- Prettier, eslint, PHPStan, PHP Easy Coding Standard
- Common plugins come pre-installed
- Local email is routed through Mailpit ( never worry about emailing a client or user)
-
Choose a folder for your project and move into it:
cd /path/to/web/projects mkdir my-project cd my-project
-
Create The Project If you already have PHP and Composer running on your host machine (your computer, not Docker container or DDEV instance), you can run the following command
composer create-project viget/craft-site-starter=^5.0.0 ./ --ignore-platform-reqs
If you'd rather not set up PHP, you can create the project with a desposable Docker image (Thanks nystudio107).
docker run --rm -it -v "$PWD":/app -v ${COMPOSER_HOME:-$HOME/.composer}:/tmp composer create-project viget/craft-site-starter=^5.0.0 ./ --ignore-platform-reqs
-
Start DDEV & Install Craft
ddev start ddev craft install
-
Run
ddev launch
to open the project in your browser
This starter includes common plugins that we use on most of our sites. This provides consistency and familiarly between client projects. You may not need every plugin, but avoid replacing standard plugins with similar alternatives (unless absolutely necessary).
Name | Composer | Usage | Year 1 Price | Renewal Price |
---|---|---|---|---|
Amazon S3 | craftcms/aws-s3 |
This plugin integrates Craft CMS and Amazon S3 cloud storage service. | Free | Free |
Autocomplete | nystudio107/craft-autocomplete |
Provides Twig template IDE autocomplete of Craft CMS & plugin variables. Requires the PHPStorm Symphony Support Plugin | Free | Free |
CKEditor | craftcms/ckeditor |
Craft CMS’s official rich text plugin | Free | Free |
Classnames | viget/craft-classnames |
Conditionally join css class names together in Twig | Free | Free |
CP Field Inspect | mmikkel/cp-field-inspect |
CP Field Inspect is a tiny utility plugin, that makes content modelling a little bit easier in Craft. | Free | Free |
Empty Coalesce | nystudio107/craft-emptycoalesce |
Adds the ??? operator to Twig that will return the first thing that is defined, not null, and not empty. |
Free | Free |
Imager X | spacecatninja/imager-x |
Image optimization and Imgix connector. Provides useful Twig shortcuts for generating transforms and placeholders. | $99.00 | $59.00 |
Navigation | verbb/navigation |
Simplifies management of complex navigation groups (main menus, footer menus, etc.) | $19.00 | $5.00 |
Retour | nystudio107/craft-retour |
Provides an Craft admin UI to set up redirects. Will automatically create redirects when URLs of entries change. | $59.00 | $29.00 |
SEOMatic | nystudio107/craft-seomatic |
A turnkey SEO plugin that follows modern SEO best practices. | $99.00 | $49.00 |
Vite | nystudio107/craft-vite |
Loads front-end files that are compiled by Vite. | Free | Free |
Ideally, you should be able to clone this repo and make modifications to plugin & build tool configs with minimal fuss.
Run ddev start
and make edits in a feature branch.
See ARCHITECTURE.md for details on technical goals & decisions.