DDEV Starter-Vorlage für Kirby CMS Projekte
Find a file
Björn Engelhardt e780a8d9fe Adds Kirby CMS DDEV starter
Adds a comprehensive DDEV starter for Kirby CMS, including an interactive wizard for project setup, flexible stack selection, addon installation, code quality tools, and headless mode configuration.

This allows users to quickly create and configure new Kirby CMS projects with DDEV.
2026-01-19 11:30:55 +01:00
.ddev Adds Kirby CMS DDEV starter 2026-01-19 11:30:55 +01:00
.gitignore Adds Kirby CMS DDEV starter 2026-01-19 11:30:55 +01:00
README.md Adds Kirby CMS DDEV starter 2026-01-19 11:30:55 +01:00

🚀 Kirby CMS DDEV Ultimate Starter

Dieses Repository beinhaltet ein leistungsstarkes Automatisierungs-Tool für DDEV, um neue Kirby CMS Projekte in Sekunden aufzusetzen.

Es bietet einen interaktiven Wizard (ddev create-kirby), der dich durch die Konfiguration führt von der PHP-Version über Datenbank-Tools bis hin zu vollwertigen Headless-Setups mit Vue/React und Storybook.

Features

  • Interaktives Setup: Keine manuelle Config-Bearbeitung nötig.
  • Flexible Stacks: Wähle PHP (8.18.3) und Node.js (1822) Versionen.
  • Kirby Editionen: Wähle zwischen Starterkit (Demo) oder Plainkit (Leer).
  • Addons on demand: Installiere per Klick:
    • Bun (JS Runtime)
    • 🗄 Redis (Caching)
    • 🐘 phpMyAdmin (Datenbank GUI)
    • 🔎 Elasticsearch (Suche)
  • Code Quality & Testing: Automatische Einrichtung von PestPHP, PHPStan und CS-Fixer.
  • Headless Mode: Automatische Installation von Kirby KQL + Frontend App (Vue, React oder Svelte) inkl. Vite & Storybook.
  • Git Integration: Initialisiert das Repo und pusht den ersten Stand automatisch.

📋 Voraussetzungen

Stelle sicher, dass folgende Tools auf deinem Rechner installiert sind:

  1. Docker Desktop (oder OrbStack/Colima)
  2. DDEV (v1.22 oder neuer)
  3. Git

🛠 Installation & Start

1. Projekt erstellen

Nutze dieses Repository als Vorlage oder kopiere den .ddev Ordner in ein leeres Verzeichnis.

# Beispiel: In einen neuen Ordner klonen
git clone <URL-ZU-DIESEM-REPO> mein-projekt
cd mein-projekt

# Optional: Git-Historie des Templates entfernen
rm -rf .git


### DDEV Starten
Starte den Container, damit die Befehle verfügbar werden.

```bash
ddev start

### 3. Wizard ausführen

Starte den Installations-Assistenten. Dieser führt dich durch alle Schritte (PHP-Version, Addons, Headless-Modus, etc.).
Bash

ddev create-kirby

🎮 Verfügbare Befehle

Nachdem der Wizard durchgelaufen ist, stehen dir  je nach deiner Auswahl  neue DDEV-Befehle zur Verfügung.
Standard Befehle
Befehl	Beschreibung
ddev launch	Öffnet die Website im Browser.
ddev ssh	Loggt dich in den Web-Container ein.
ddev describe	Zeigt alle URLs und Zugangsdaten (Datenbank, Mailpit etc.) an.
Code Qualität & Testing

(Nur verfügbar, wenn im Wizard ausgewählt)
Befehl	Beschreibung
ddev analyze	Führt PHP CS Fixer (Code Style) und PHPStan (Statische Analyse, Level 5) aus.
ddev test	Startet die Unit- und Feature-Tests mit PestPHP.
Frontend & Headless

(Nur verfügbar, wenn "Headless" ausgewählt wurde)
Befehl	Beschreibung
ddev frontend	Startet den Vite Dev Server für deine JS-App.
ddev storybook	Startet Storybook auf Port 6006 (https://projekt.ddev.site:6006).
🏗 Projektstruktur

Das Setup passt die Ordnerstruktur dynamisch an.
Klassisches Setup

Standard Kirby Struktur.
Plaintext

/
├── content/
├── site/
├── kirby/
├── public/ (oder Root)
└── .ddev/

Headless Setup

Trennt Backend (Kirby) und Frontend (JS-Framework).
Plaintext

/
├── frontend/           # Deine Vue/React/Svelte App
│   ├── src/
│   ├── package.json
│   └── vite.config.ts
├── content/            # Kirby Content (verwaltet via Panel)
├── site/               # Kirby Config & Blueprints
├── kirby/              # Kirby Core (Headless API via KQL)
└── .ddev/

### ⚙️ Manuelle Konfiguration

Das Skript erstellt/bearbeitet folgende Dateien, die du später anpassen kannst:

    DDEV Config: .ddev/config.yaml (PHP Version, Ports, Projekttyp).

    Custom Commands: .ddev/commands/web/ (Hier liegen die Skripte für analyze, test, frontend etc.).

    Wizard Script: .ddev/commands/host/create-kirby (Das Installations-Skript selbst).

### 🆘 Troubleshooting

    Git Push Fehler: Wenn du eine Repo-URL angibst, die nicht leer ist (z.B. schon eine README enthält), schlägt der automatische Push fehl. Löse dies manuell: git pull origin main --rebase oder git push -u origin main --force.

    Storybook Port: Storybook läuft auf Port 6006. Sollte dieser Port auf deinem Host belegt sein, ändere ihn in .ddev/commands/web/storybook und in .ddev/config.yaml.

    Berechtigungen: Sollten Skripte nicht ausführbar sein: chmod +x .ddev/commands/*/*.