DDEV Starter-Vorlage für Kirby CMS Projekte
- Shell 100%
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. |
||
|---|---|---|
| .ddev | ||
| .gitignore | ||
| README.md | ||
🚀 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.1–8.3) und Node.js (18–22) 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:
- Docker Desktop (oder OrbStack/Colima)
- DDEV (v1.22 oder neuer)
- 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/*/*.