BonsaiPress

Das CMS das Dein KI-Assistent wirklich versteht.

BonsaiPress ist ein kostenloses, quelloffenes PHP-CMS ohne Datenbank: Inhalte liegen als XML- und HTML-Dateien vor, verwaltet über Git und eine Shell-CLI statt über ein Admin-Backend. Jede Seite wird als statisches HTML exportiert und per FTPS deployed — kein PHP läuft zur Laufzeit auf dem Server, was Ladezeit und KI-Crawler-Lesbarkeit maximiert. Weil der gesamte Zustand in Klartext-Dateien steckt, kann ein KI-Assistent wie Claude Code den kompletten Inhalt direkt lesen und schreiben, ohne verstecktes Datenbank-Wissen oder Klicks durch ein UI. BonsaiPress selbst ist unter GPL-3.0 lizenziert und für jeden frei nutzbar, veränderbar und selbst hostbar. Wer die Einarbeitung überspringen will, kann optional einmalig eine Claude-Code-Skill kaufen, die dem Assistenten die CMS-spezifischen Fallstricke direkt mitgibt. Wer sich um Domain, DNS, E-Mail und Betrieb nicht selbst kümmern will, kann bei Agundur zusätzlich betreutes Hosting in Deutschland ab 19 Euro im Monat dazubuchen — beides unabhängig vom kostenlosen CMS.

Live-Demo

So entsteht eine Seite mit BonsaiPress

Warum KI-Assistenten BonsaiPress lieben

  • Shell-native — jede Operation läuft über die bonsai-CLI. Kein Klicken durch Menüs, die der KI unsichtbar sind.
  • Flat files — Inhalt ist XML + HTML. Der KI-Assistent liest, schreibt und versteht alles direkt — kein versteckter State.
  • Kein Admin-UI — kein WordPress-Backend das Claude nicht sehen kann.
  • Statischer Output — reines HTML, maximale Sichtbarkeit für KI-Crawler (GEO-optimiert by design).
  • Claude Code Skill — strukturierte Anleitung die Claude sofort proficient macht.

Built for the shell. Built for AI.

Google PageSpeed Insights für agundur.de (Mobile): Leistung 100, Barrierefreiheit 96, Best Practices 100, SEO 100, Agentisches Browsing 3/3

Google PageSpeed Insights (Mobile) für diese Seite — statisches HTML ohne Laufzeit-PHP lädt schnell und lässt sich zuverlässig von KI-Agenten auslesen.

Installation — ein Befehl

Nur Docker nötig. Kein git clone, kein Build-Step.

# compose.yml herunterladen
curl -O https://raw.githubusercontent.com/Agundur-KDE/BonsaiPress2/main/compose.yml
curl -O https://raw.githubusercontent.com/Agundur-KDE/BonsaiPress2/main/bonsai

chmod +x bonsai
./bonsai install   # macht 'bonsai' systemweit verfügbar
bonsai start       # Docker-Images werden automatisch gezogen — Demo auf :8080

Produktiv-Betrieb — welcher Ordner muss persistent sein?

Ein einziges Docker-Volume reicht: current/. Dort liegt nach bonsai switch der komplette Projektstand — Inhalte, site_structure.xml, Templates, SASS. Dieser Ordner sollte bei jedem produktiven Setup als Volume gemountet werden.

Workflow

bonsai new meinprojekt   # neues Projekt
bonsai static            # HTML generieren
bonsai deploy            # nur geänderte Dateien per FTPS
bonsai switch andere     # Projekt wechseln

Funktionen

  • Kein PHP zur Laufzeit — statisches HTML auf dem Server
  • Multi-Client — ein CMS, beliebig viele Projekte
  • Hash-Diff-Deploy — nur geänderte Dateien werden übertragen
  • Server-Auto-Init — web/ und include/ werden beim ersten Deploy angelegt
  • SASS + Live-Reload über integrierten Watcher
  • PHP 8.4, Symfony Console, PHPUnit

Versionierung & Deploy-Technik

  • Versionierung über GitHub Releasesv1.0.0, v2.0.0, taggt und dokumentiert direkt im Repo, kein separates Versionsschema.
  • Hash-Diff statt State-Dateibonsai deploy lädt kurzzeitig ein hashme.php auf den Server, holt darüber die Git-Blob-Hashes aller Remote-Dateien per HTTP, vergleicht sie mit dem lokalen Stand und überträgt nur das Delta per FTPS. Der Server bleibt die einzige Quelle der Wahrheit, kein Drift durch eine lokal mitgeführte State-Datei.
  • Dieselbe Technik als eigenständige GitHub ActionFTP Hash Deploy Action extrahiert genau diesen Hash-Diff-Mechanismus für jede CI/CD-Pipeline, die statische Seiten per FTP ausliefert — auch außerhalb von BonsaiPress.
  • Post-Deploy: automatischer IndexNow-Ping — nur die im Diff tatsächlich geänderten Seiten werden nach dem Deploy per IndexNow-Protokoll an Bing, Yandex, Naver, Seznam und Yep gemeldet. Google unterstützt IndexNow nicht und wird separat über die Sitemap erreicht.

Was kostet was?

Drei getrennte Ebenen — kein Abo-Zwang, keine Kopplung aneinander.

BonsaiPress — das CMS
Kostenlos
  • Frei nutzbar, selbst hosten
  • Open Source (GPL-3.0)
  • Kein Abo, keine Kopplung
Zum GitHub-Repository
Claude Code Skills — optional
ab €38
  • Kennt die CMS-Fallstricke schon
  • Einmalig, kein Abo
  • Updates per E-Mail
Skills ansehen →
Managed Hosting — optional
ab €19/Monat
  • Domain, DNS, E-Mail
  • Hosting in Deutschland nach DSGVO
  • Laufende Updates & Support
Hosting-Angebot ansehen →

Credits

Basierend auf einer Idee von sebastiany.net.

Logo githubMy Github
mastodon logoFollow me
Logo hire meHire me
Logo EmailEmail