PHPackages                             zizther/craftcms-ddev - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. zizther/craftcms-ddev

ActiveProject[Utility &amp; Helpers](/categories/utility)

zizther/craftcms-ddev
=====================

A Craft CMS starter project using DDEV for local hosting and Vite for front-end bundling and HMR.

1.2.15(3mo ago)069MITPHP

Since Dec 18Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/zizther/craftcms-ddev)[ Packagist](https://packagist.org/packages/zizther/craftcms-ddev)[ RSS](/packages/zizther-craftcms-ddev/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependenciesVersions (10)Used By (0)

A Craft CMS starter project using DDEV for local hosting and Vite for front-end bundling and HMR.

> Going from zero to Vite HMR on a fresh Craft install, with only 4 CLI commands:
>
> 1. `composer create-project...`
> 2. `make init`
> 3. `make setup`
> 4. `make dev`

Notable Features:
-----------------

[](#notable-features)

- [DDEV](https://ddev.readthedocs.io/) for local development
- [Vite 2.x](https://vitejs.dev/) for front-end bundling &amp; HMR
- [Tailwind 3.x](https://tailwindcss.com) for utility-first CSS
- [Alpine 3.x](https://alpinejs.dev/) for lightweight reactivity
- [Makefile](https://www.gnu.org/software/make/manual/make.html) for common CLI commands

Local machine prerequisites:
----------------------------

[](#local-machine-prerequisites)

1. [Docker](https://www.docker.com/)
2. [DDEV](https://ddev.readthedocs.io/), minimum version 1.19
3. Optional, but recommended, [Composer](https://getcomposer.org/)

Getting Started
---------------

[](#getting-started)

### Option 1: With Composer (recommended)

[](#option-1-with-composer-recommended)

If you have [Composer](https://getcomposer.org/) installed on your local machine, you can use `create-project` to pull the latest tagged release.

Open terminal prompt, and run:

```
composer create-project zizther/craftcms-ddev PATH --no-install
```

Make sure that `PATH` is a **new** or **existing and empty** folder.

### Option 2: With Git CLI

[](#option-2-with-git-cli)

Alternatively you can clone the repo via the Git CLI. [degit](https://github.com/Rich-Harris/degit) is the easiest way:

```
degit git@github.com:zizther/craftcms-ddev.git PATH
```

Make sure that `PATH` is a **new** *or* **existing and empty** folder.

Last, clean up and set some default files for use:

```
make init
```

#### If you are using `git clone`

[](#if-you-are-using-git-clone)

You'll want to discard the existing `/.git` directory. In the terminal, run:

```
cd PATH
rm -rf .git
```

### Option 3: Manual Download

[](#option-3-manual-download)

Download a copy of the repo to your local machine and move to where you want to your project to run. Similar to above, you'll then want to clean up and set some default files for use. In the terminal, run:

```
make init
```

Configuring DDEV
----------------

[](#configuring-ddev)

*Note: This section is optional. If you are simply test-driving this project, feel free to skip to the next section. ⚡*

To configure your project to operate on a domain other than `https://craftcms.test`, run:

```
ddev config
```

Follow the prompts.

- **Project name:** e.g. `mysite` would result in a project URL of `https://mysite.test` (make note of this for later in the installation process)
- **Docroot location:** defaults to `web`, keep as-is
- **Project Type:** defaults to `php`, keep as-is

Installing Craft
----------------

[](#installing-craft)

To install a clean version of Craft, run:

```
make setup
```

Follow the prompts.

This command will:

1. Set the project name and domain
2. Copy your local SSH keys into the container (handy if you are setting up [craft-scripts](https://github.com/nystudio107/craft-scripts/))
3. Start your DDEV project
4. Install Composer
5. Install npm
6. Do a one-time build of Vite
7. Generate `CRAFT_APP_ID` and save to your `.env` file
8. Generate `CRAFT_SECURITY_KEY` and save to your `.env` file
9. Installing Craft for the first time, allowing you to set the admin's account credentials
10. Install some of the Craft plugins

Once the process is complete, type `ddev launch` to open the project in your default browser. 🚀

Local development with Vite
---------------------------

[](#local-development-with-vite)

To begin development with Vite's dev server &amp; HMR, run:

```
make dev
```

This command will:

1. Copy your local SSH keys into the container (handy if you are setting up [craft-scripts](https://github.com/nystudio107/craft-scripts/))
2. Start your DDEV project
3. Install Composer
4. Install npm
5. Do a one-time build of Vite
6. Spin up the Vite dev server

Open up a browser to your project domain to verify that Vite is connected. Begin crafting beautiful things. ❤️

Makefile
--------

[](#makefile)

A Makefile has been included to provide a unified CLI for common development commands.

- `make install` - Runs a complete one-time process to set the project up and install Craft.
- `make up` - Starts the DDEV project, ensuring that SSH keys have been added, and npm &amp; Composer have been installed.
- `make dev` - Runs a one-time build of all front-end assets, then starts Vite's server for HMR.
- `make build` - Builds all front-end assets.
- `make composer xxx` - Run Composer commands inside the container, e.g. `make composer install`
- `make craft xxx` - Run Craft commands inside the container, e.g. `make craft project-config/touch`
- `make npm xxx` - Run npm commands inside the container, e.g. `make npm install`
- `make clean` - Removes the `composer.lock`, `package-lock.json` and the entire `node_modules` &amp; `vendor` directory
- `make nuke` - Restarts the project from scratch by running `make clean` (above), then reinstalls composer and node packages
- `make pull` - Pull remote db &amp; assets (requires setting up [craft-scripts](https://github.com/nystudio107/craft-scripts/)

**Tip**: If you try a command like `make craft project-config/apply --force` you’ll see an error, because the shell thinks the `--force` flag should be applied to the `make` command. To side-step this, use the `--` (double-dash) to disable further option processing, like this: `make -- craft project-config/apply --force`

Craft CMS Plugins
-----------------

[](#craft-cms-plugins)

1. [AWS S3](https://plugins.craftcms.com/aws-s3?craft4)
2. [CKEditor](https://plugins.craftcms.com/ckeditor?craft4)
3. [CP Clear Cache](https://plugins.craftcms.com/cp-clearcache?craft4)
4. [CP Field Inspect](https://plugins.craftcms.com/cp-field-inspect?craft4)
5. [Craft Autocomplete](https://github.com/nystudio107/craft-autocomplete)
6. [Hyper](https://plugins.craftcms.com/hyper?craft4)
7. [Navigation](https://plugins.craftcms.com/navigation?craft4)
8. [Neo](https://plugins.craftcms.com/neo?craft4)
9. [Quick Field](https://plugins.craftcms.com/quick-field?craft4)
10. [Ray](https://plugins.craftcms.com/craft-ray?craft4)
11. [Retour](https://plugins.craftcms.com/retour?craft4)
12. [SEOmatic](https://plugins.craftcms.com/seomatic?craft4)
13. [Vite](https://plugins.craftcms.com/vite?craft4)

Javascript Libraries
--------------------

[](#javascript-libraries)

1. [Alpine](https://alpinejs.dev/)
2. [Body Scroll Locking](https://github.com/willmcpo/body-scroll-lock)
3. [Splide](https://splidejs.com/)
4. [GSAP](https://greensock.com/gsap/)
5. [Quicklink](https://getquick.link/)
6. [Reframe](https://dollarshaveclub.github.io/reframe.js/)
7. [Vanilla Lazyload](https://github.com/verlok/vanilla-lazyload)

Kudos
-----

[](#kudos)

Thanks to Andrew (nystudio107) and johndwells for the inspiration

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance78

Regular maintenance activity

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~68 days

Total

8

Last Release

113d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1436378?v=4)[Nathan Reed](/maintainers/zizther)[@zizther](https://github.com/zizther)

---

Top Contributors

[![zizther](https://avatars.githubusercontent.com/u/1436378?v=4)](https://github.com/zizther "zizther (101 commits)")

---

Tags

cmsCraftcraftcmsddev

### Embed Badge

![Health badge](/badges/zizther-craftcms-ddev/health.svg)

```
[![Health](https://phpackages.com/badges/zizther-craftcms-ddev/health.svg)](https://phpackages.com/packages/zizther-craftcms-ddev)
```

###  Alternatives

[pennebaker/craft-architect

CraftCMS plugin to generate content models from JSON/YAML data.

72148.8k5](/packages/pennebaker-craft-architect)[supercool/buttonbox

A collection of utility field types.

8953.3k1](/packages/supercool-buttonbox)[superbig/craft3-mobiledetect

Use Mobile\_Detect for detecting mobile devices (including tablets)

1953.6k](/packages/superbig-craft3-mobiledetect)[wbrowar/craft-grid

A field that lets you content manage CSS Grid in Craft CMS.

171.1k](/packages/wbrowar-craft-grid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
