Claude AI als Aufräumhilfe
Vor ein paar Jahren baute ich mir ja ein paar Tools für die private Verwendung. Ich hatte gerade eine neue Liebe für Laravel und Livewire entdeckt, wollte aufräumen, ein paar selbstentwickelte Sachen modernisieren, ein paar Subscription-Services absägen, und so Kram halt. Es machte ne Menge Spaß und ich versuchte alles so aufzusetzen, dass ich später sogar noch eine Übersicht habe, wie alles funktioniert. Ich hab sogar diverse Sachen in eine Library ausgelagert, damit Kram wie Authentifizierung einfach in allen Apps gleich läuft.
Jahre später zeigte sich jetzt, welche Apps ich wirklich nutze, und was eigentlich weg kann.
Mein last.fm-Ersatz zum Beispiel hat sich eigentlich erledigt. Seit Jahren höre ich viel weniger Musik, da ich viel mehr Podcasts und Hörbücher in meine Gehörgänge jage. Zudem höre ich einfach viel mehr auf Youtube, weil mir die ganzen Live, Akustik, Whatever-Versionen, die verschiedene Künstler:innen da veröffentlichen meistens viel besser gefallen als die Studio-Versionen. Früher hätte ich mir das alles runtergeladen, die Audiospur rausgezogen und als MP3 in mein Foobar2000 gezogen, aber die Zeiten sind halt vorbei. Youtube auf und los. Jedenfalls fällt das Scrobbling damit natürlich schwer und ist teilweise natürlich einfach nicht mehr möglich. Dieses Video enthält einfach fünf Songs, keine Ahnung wie man das scrobbeln sollte. Abgesehen davon, dass es einfach nur ein lustiges Gimmick ist und letztendlich einfach egal.
Auf der anderen Seite benutze ich Sachen wie meine Tagebuch-App und die Rezepte-Verwaltung sehr intensiv. Oder mein GPS-Tracking. Wobei letzteres etwas löchrig ist, da die externe iOS-App dafür sehr unzuverlässig geworden ist.
Letztens wollte ich auf jeden Fall mal was ändern, was mich aber direkt an den Rand des Wahnsinns brachte. Ich weiß nicht mehr genau, was es war, aber ich musste dafür auf Livewire 3 updaten. In dem Zuge dachte ich, das man ja auch mal auf Laravel 12 gehen könnte. An sich kein größeres Problem, aber natürlich müssen auch alle Sachen in der Library, die alle meine Projekte verbindet, aktualisiert werden. Was bedeutet, dass ich alle anderen Codebases auch anfassen müsste…
Also natürlich könnte ich da irgendwie eine neue Version machen und die anderen Projekte einfach mit dem alten Code weiter laufen lassen, aber die Entwicklung mit einem lokalen Composer-Package ist so schon ein Pain, das will man ja alles nicht. Das brachte mich also mal wieder ein paar Monate lang in eine Art Schockstarre, da ein Feature, das wahrscheinlich fünf Minuten in der Implementierung gebraucht hätte, einen riesigen Rattenschwanz von Updates und Scheiße hinter sich her zog. Ich entschied mich also für das einzig richtige in dieser Situation: Nichts tun.
Ich tappe leider immer wieder in die Falle, dass ich mir kurz etwas selber baue, und dabei vergesse, dass es am Ende immer Stress ist, den Kram am Leben zu halten, wenn man doch nochmal neue Features haben will. Es war sicher nicht so sinnvoll einfach fünf oder sechs unabhängige Laravel-Apps zu bauen, in der Hoffnung, dass ich sie bestimmt regelmäßig update.
Vielleicht wäre es sinnvoller gewesen, alles in eine App zu packen, aber im Hinterkopf hat man ja immer den Gedanken so ein Ding vielleicht doch für die Allgemeinheit freizugeben und was bringt es dann, wenn es das ganze “knuspermagiers Web-App-Taschenmesser” ist.
Nun trat allerdings auch die Claude CLI in mein Leben, und was soll ich sagen, es funktioniert verdammt gut.
”Please update this project to Laravel 12 and Livewire 3 and update all Livewire components to use the new syntax. Adjust the project structure to the new Laravel 12 default project structure"
Nach ein paar Minuten war er fertig. Ich musste noch ein paar Kleinigkeiten fein-tunen, weil eine Dependency nicht kompatibel war, aber ansonsten klappte das super. Zugegebenermaßen war die App, an der ich es probierte wirklich nicht komplex, aber trotzdem hätte es mich manuell sicher ein paar Stunden gekostet, diese geistig zermürbende und langweilige Arbeit auszuführen. Puh.
Auch wenn es dank der AI nun vielleicht leichter wäre, alles up-to-date zu halten, werde ich doch nochmal schauen, welche meiner Apps ich wirklich brauche und benutze und großzügig Kram wegwerfen. Beim Rest muss ich nochmal überlegen, wie ich mir die weitere Entwicklung möglichst leicht machen kann. Der Vorteil, dass man bei Eigenentwicklungen alles selber so machen kann, wie man will, ist natürlich einfach hinfällig, wenn man sich selber direkt so ein technical debt-Loch geschaufelt hat, dass man wochenlang kein Bock hat, drei Zeilen für ein kleines Feature zu schreiben.