DDEV Playlist Standard (Bluefly)¶
Intent¶
Playlists are curated, version-pinned compositions of DDEV add-ons. They are not feature packs and not runtimes.
Project types¶
Every Drupal DDEV project declares exactly one type:
| Type | Use |
|---|---|
drupal-site |
Full application (e.g. ContextControl.ai) |
drupal-distribution |
Product / CMS distribution |
drupal-contrib |
Single contrib module repository |
drupal-theme |
Theme repository |
drupal-profile |
Install profile repository |
Do not treat “Drupal” as one playlist. Wrong type + wrong add-on caused the ddev-drupal-contrib full-site failure mode.
Playlist Admission Rule¶
Every add-on in a Bluefly playlist must declare (in docs and, for Bluefly add-ons, in bluefly.addon.yaml):
supports:
- drupal-site
# ...
conflicts:
- drupal-site # example: ddev-drupal-contrib
Refuse install when:
- Project type ∉
supports, or - Project type ∈
conflicts.
Operators and future playlist tooling enforce this before ddev add-on get.
Required playlists¶
| Playlist | Default project type | Notes |
|---|---|---|
core-drupal-site |
drupal-site |
ContextControl reference |
core-drupal-contrib |
drupal-contrib |
Mutually exclusive with site core |
drupal-ai |
any supported | Composed onto a core playlist |
Opt-in: testing, search, performance, enterprise, and future named lists (government, accessibility, bluefly) — same admission rule.
Activation¶
- Reference full site installs only
core-drupal-site+drupal-ai. - Installing all playlists at once violates the minimal standard.
- Pin with
ddev add-on get <repo> --version <tag>.
Capability¶
| Capability | Reference Provider | Deployment Provider |
|---|---|---|
| Developer Distribution | DDEV | Bluefly DDEV Distribution (playlists + thin adapters) |
Composition source of truth for operators: Applications/__DRUPAL/DDev-Addons/ (add-on repos) + BluCity-Docs architecture/Ddev/. A dedicated bluefly-ddev-distribution composition repo may be created later; it must contain no runtime, no containers, no Claude/OpenCode install — only playlists, templates, examples, docs, tests.