Kaspar Allenbach

rss

Wann man Vibecoden kann… UND WANN NICHT!

TLDR: Kleine Microservices auf Github Pages gehostet: Ja.
SQL Migrationsskripte: Nein!

Erfahrungen, die man nicht selber gemacht hat, sind keine.

Wozu Vibecoding geeignet ist

Ich verkaufe meine Plakate auch über den Shop Support your local Artist. Wenn ich eine Bestellung erhalte, kriege ich eine E-Mail mit einem PDF. Die Versandadresse ist aber am falschen Ort um meine Dokumenttaschen zu verwenden.

Darum habe ich den Address Mover Vibegecodet. Damit kann man die Versandadresse auf dem PDF nehmen und irgendwo anders hinschieben.

Das könnte man auch mit Adobe Acrobat machen. Aber auf Adobe Acrobat habe ich so gar keine Lust.

Bildschirmfoto 2026 03 31 um 13 51 21

Ein simpler Microservice, der nur eine Funktion hat und auch nicht weiterentwickelt oder erweitert wird. Dazu ist Vibecoding tipptop geeignet.

Wozu Vibecoding nicht geeignet ist

Um in meinem Shopsystem Versandkosten fürs Ausland berechnen zu können, müssen alle Produktvarianten einer Versandkategorie zugeordnet sein. Das ist sehr zeitaufwendig, deshalb habe ich mir gedacht, dies mit einer Coding-Lösung zu machen, anstatt im CMS-ControlPanel alles von Hand zuzuweisen.

Der geneigte Programmierer sieht schon die dunklen Wolken am Horizont.

Craft CMS bietet eine Migrationsfunktion, mit der man die Datenbank umschreiben kann.

Size to category

Das PHP Array welches die Produktgrösse mit der Versandkategorie abgleicht

  • Gedacht getan: Migrationsskript mit ClaudeAI vibegecodet.
  • Natürlich zuerst lokal getestet.
  • Stichprobenartig überprüft.
  • Alles gut, alles super!

Deploy to Live (Am freitag abend)

Dann das Ganze auf dem Live System ausgeführt. Und auch hier scheint alles zu funktionieren. Alles Wunderbar.

Error: 504 Gateway Timeout
2026-03-30 15:16:47 [web.ERROR] [TypeError] craft\commerce\services\LineItems::resolveLineItem(): Argument #2 (purchasableId) must be of type int, string given, called

Der Fehler sagt mir gar nichts, auf jeden Fall geht auf der Website auch nichts mehr, also Claude gefragt was das für ein Fehler ist.

Die Update Cart funktion steht unter einer DDOS Attacke,
sofort nötige Massnahmen einleiten!!

Nach weiterem Suchen und Suchen dann die Lösung des Problems: Wie die meisten Online-Shops hat auch CraftCMS eine Donation Funktion. Diese Funktion wurde mit einer Versandkategorie null definiert, weil der Migrationsskript dieses Produkt nicht zuweisen konnte. Da Donation ein spezielles Produkt ist, weil nicht physisch, und in meinem Shop auch gar nicht vorkommt, aber im System per Standard drin ist, crashte die ganze Seite, weil ein Produkt mit null gar nicht vorkommen kann (Ausser man manipuliert die DB von Hand).

Ausser Spesen nix gewesen

Da ich natürlich vorher db Backups gemacht habe konnte ich das ganze ohne Probleme rückgängig machen und habe die Versandkategorien dann doch von Hand zugewiesen. Ehrlich gesagt habe ich auch nur halb daran geglaubt dass das funktioniert.

Fazit: In produktiven System kein Vibe Coding verwenden und schon gar nicht mit Code, den man selber nicht lesen kann.