Gladys‘ Stärke ist ihr Team: Wie wir wachsen 🙂

Hallo zusammen,

Das Forum war noch nie so aktiv: neue Mitglieder, neue Integrationen, die jeden Tag veröffentlicht werden, spannende Diskussionen. Danke an euch, dank euch kommt Gladys so schnell voran! :tada:

Mit diesem schönen Wachstum gibt es ein Thema, über das ich offen mit euch sprechen möchte: die Tags :sweat_smile:

Ich werde immer häufiger im ganzen Forum getaggt, sowohl von neuen als auch von alten Mitgliedern, oft für Fragen, die mich nicht brauchen. Ich verstehe den Reflex völlig, aber er hat den gegenteiligen Effekt: Wenn ich Dutzende von Erwähnungen erhalte, gehen die Nachrichten, die mich wirklich brauchen, in der Masse unter.

Das Ergebnis ist, dass ich nicht mehr so schnell auf alle antworte, manchmal gar nicht mehr.

:seedling: Mein Ziel: weniger unersetzlich werden

Meine ganze Mission in den letzten 6 Monaten war es, für das Projekt weniger unersetzlich zu werden. Das ist kein Rückzug, es ist das Gegenteil: Ein Projekt, das von einer einzigen Person abhängt, ist ein fragiles Projekt, und ich möchte, dass Gladys für die kommenden Jahre solide ist.

Genau in diesem Sinne haben die externen Integrationen das Projekt in wenigen Monaten völlig befreit: Jeder ist frei, Integrationen, Widgets, Aktionen und Szenenauslöser hinzuzufügen.

Es ist auch eine sehr konkrete Notwendigkeit: Ich werde während meines Elternurlaubs :baby: abwesend sein, und das Projekt muss lernen, ohne mich weiterzugehen. Und die gute Nachricht ist, dass es das schon kann! Ich sehe jeden Tag Fragen, die von der Community in wenigen Stunden gelöst werden, ohne dass ich eingreifen muss. Genau das habe ich mir erhofft. :flexed_biceps:

:hammer: Was ich mit der freigewordenen Zeit mache

Jede Erwähnung weniger bedeutet mehr Zeit, um Gladys voranzubringen.

Konkrekt im Moment:

Ich lese natürlich weiter das Forum, ich verschwinde nicht, ich konzentriere mich dort, wo ich den größten Einfluss habe :wink:

:bullseye: Wofür ich wirklich gebraucht werde

Es gibt nur zwei Arten von Themen, für die es sinnvoll ist, mich zu taggen:

  • Langfristige Überlegungen zur Philosophie des Projekts: Die Richtung von Gladys, die großen architektonischen und visionären Entscheidungen.
  • Ein echtes Hindernis aufgrund eines Berechtigungsproblems: Wenn ihr blockiert seid, weil niemand die notwendigen Zugriffe hat, löse ich die Situation, indem ich anderen Personen die Rechte gebe. Nur für diesen Typ von Blockade haben @cicoub13 und @bertrandda oft die gleichen Rechte wie ich und können euch genauso gut helfen :wink:

:handshake: Für alles andere

Sprecht mit der Community, macht eure eigenen Recherchen im Forum und in der Dokumentation und nutzt die KI. Ich werde sehr ehrlich sein: Claude Code ist intelligenter als ich, und er ist besser als ich, um eure Fragen zu Gladys zu beantworten :robot:

Er hat Zugang zu allem Code, er schläft nie und antwortet in wenigen Sekunden.

Für diejenigen, die sich Claude Code nicht leisten können, fragt diejenigen, die es haben :wink:

Verwendet aber auf keinen Fall kostenlose KI ohne Zugang zum Gladys-Code, deren Nutzung ist kontraproduktiv: Ohne den Code vor Augen, raten sie: Sie erfinden Befehle und Optionen, die nicht existieren, und behaupten mit viel Überzeugung, dass sie recht haben. Ihr riskiert, mehr Zeit zu verlieren, als wenn ihr die Frage direkt im Forum stellt.

:bug: Ihr habt einen Bug gefunden?

  1. Sprecht darüber im Forum, die Community wird euch helfen, das zu überprüfen.
  2. Sobald der Bug bestätigt ist, erstellt ein GitHub-Issue: Issues · GladysAssistant/Gladys · GitHub

Das ist der wichtigste Schritt. Ein Bug ohne GitHub-Issue ist ein verlorener Bug, der nie behoben wird. Umgekehrt wird ein Bug mit einem Issue oft sehr schnell behoben :high_voltage:

Unsicher, ob es wirklich ein Bug ist? Bittet Claude Code, den Gladys-Code zu analysieren, das ist der schnellste Weg, um Gewissheit zu haben.

:sparkles: Ihr habt eine Funktionsidee?

Erstellt ein Thema in der Kategorie Demande de fonctionnalités. Eine Idee, die im Laufe einer Diskussion erwähnt wird, wird schnell vergessen, während ein dediziertes Thema abgestimmt, diskutiert und bis zur Veröffentlichung verfolgt werden kann.

:blue_heart: Danke

Was Gladys einzigartig macht, ist diese wohlwollende und leidenschaftliche Community. Jede Antwort, die ihr einem Neuen gebt, jedes gut ausgefüllte Issue, jede gut begründete Idee lässt das Projekt wachsen! Wir bauen das zusammen, und ich bin wirklich stolz darauf, was diese Community geworden ist.

Auf die nächste Etappe! :rocket:

Was mir tatsächlich fehlt, oder ich finde die Information einfach nur nicht, ist, wie der weitergehende Prozess ist. Nun es gibt über 50 offene PRs. Wer sieht sie sich an? Wer entscheidet was gemerged wird? Wer entscheidet wann es gemerged wird? Wer hat hierzu die Rechte? Das ist für mich leider noch eine große Blackbox, da dieses klare und hoffentlich strukturierte Vorgehen nirgends dokumentiert ist. Ausser ich bin wirklich blind und finde es nicht. Dann mir gerne die Info oder einen Link zu kommen lassen.

Hi @stefanbauer,

Danke, dass du das angesprochen hast, es ist eine sehr faire Frage, und du hast recht, dass es heute nicht sichtbar genug ist.

Ein Teil der Antwort ist hier festgehalten: MAINTAINERS.md. Es erklärt, wer was überprüfen und zusammenführen kann und wie eine Veröffentlichung erfolgt. Kurz gesagt: master ist geschützt. Jeder PR benötigt eine grüne CI (Tests, Lint, 100% Patch-Abdeckung) und durchläuft die automatisierten Reviews (Cursor, CodeRabbit). Dann benötigt er die Genehmigung eines menschlichen Reviewers, der die Dateien genehmigen darf, die er berührt, und wird über die Merge-Warteschlange zusammengeführt.

Heute können drei Personen PRs auf Gladys überprüfen und zusammenführen: ich, @cicoub13 und @bertrandda.

Um ehrlich zu sein: Gladys wächst im Moment sehr schnell. Wir hatten noch nie so viele Mitwirkende, Integrationen und PRs gleichzeitig. Wir tasten uns noch herum, und das zeigt sich im Prozess. Wir werden ihn verbessern.

Es gibt auch eine persönliche Deadline auf meiner Seite: Ich werde bald Vater und werde etwa 2 Monate Elternzeit nehmen (mehr dazu hier). Ich bin normalerweise sehr schnell beim Überprüfen von PRs, aber im Moment konzentriere ich mich auf einige sehr hochprioritäre Themen, bevor ich gehe: diejenigen, die Gladys von der Abhängigkeit von mir befreien (externe Integrationen und die in MAINTAINERS.md beschriebene Organisation). Deshalb warten einige PRs länger als üblich.

In der Zwischenzeit können @cicoub13 und @bertrandda PRs für Fehlerbehebungen und Änderungen an internen Integrationen überprüfen, sodass diese nicht auf mich warten müssen.

Ich bin sehr motiviert, Gladys zu guten Open-Source-Projektmanagement-Praktiken zu führen: klarere Dokumentation des Prozesses, mehr Personen mit Review-Rechten, ein vorhersehbarerer Weg von „PR geöffnet“ zu „PR zusammengeführt“. Feedback wie deins hilft sehr. Wenn du denkst, dass in MAINTAINERS.md etwas fehlt oder unklar ist, lass es uns bitte wissen!

Nochmals vielen Dank für dein Engagement :folded_hands:

@pierre-gilles Danke für deine aufschlussreiche Antwort. Bitte verstehe das nicht als Kritik, sondern einfach als ehrliches Interesse die Dinge zu verstehen und ggf. besser zu machen. Aber ich denke, so hast du es auch aufgefasst :slight_smile:

Ich werde mir, wenn ich Zeit habe, das mal alles durchsehen und schauen an welchen Stellen ich ggf. auch @cicoub13 und @bertrandda supporten kann. Ich gebe dir Recht… man merkt gerade, dass sehr viel gerade gleichzeitig passiert und man nicht so richtig hinterherkommt. Deshalb biete ich, wo immer es geht, auch gerne meine Hilfe an.

Bzgl. deiner Elternzeit: Familie geht immer vor. Habe ich leider sehr schwer lernen müssen. Insofern will ich dich gar nicht länger aufhalten. Fixe das was nötig ist und ansonsten genieße die kommende Zeit, denn sie kommt nicht wieder zurück.

Wenn du Hilfe brauchst oder man dich sonst noch bei etwas unterstützen kann, sag gerne jederzeit Bescheid. Alles Gute! :baby:

Vielen Dank @stefanbauer, und keine Sorge, ich habe es nicht als Kritik aufgefasst. Fragen wie deine helfen uns, besser zu werden, also bitte weiter so :slightly_smiling_face:

Und danke für deine netten Worte über die Familie :folded_hands:

Etwas Wichtiges, das man über Gladys im Hinterkopf behalten sollte: Die meisten neuen Entwicklungen finden jetzt über externe Integrationen statt. Jeder kann eine Integration, ein Widget, eine Szenenaktion oder einen Trigger erstellen und veröffentlichen, ohne auf eine PR zu warten, die überprüft und in den Kern integriert wird. Der Kern soll eine stabile Grundlage sein: Fehlerbehebungen, Zuverlässigkeit und die Verträge, auf die externe Integrationen angewiesen sind, anstatt ein Ort, an dem jede neue Funktion landen muss. Wenn du also eine Idee für eine neue Funktion oder Integration hast, ist eine externe Integration oft der schnellste Weg, sie in die Hände der Nutzer zu bringen.

Dein Angebot, zu helfen, ist sehr willkommen, und es gibt viel, was du sofort tun kannst, ohne besondere Rechte.

Im Forum:

  • Fragen von Neulingen beantworten, Menschen beim Debuggen ihrer Einrichtung helfen und prüfen, ob ein gemeldetes Problem wirklich ein Bug ist, bevor es zu einem GitHub-Issue wird.
  • Menschen helfen, ihre Ideen in gut formulierte Feature-Anfragen umzusetzen oder sie auf eine bestehende externe Integration hinweisen.

Das ist genauso wertvoll wie Code: Jede Frage, die die Community beantwortet, ist Zeit, die wir für die Weiterentwicklung von Gladys nutzen können.

Auf GitHub:

  • PRs überprüfen: Jeder kann eine Überprüfung oder Kommentare hinterlassen. Selbst wenn es nicht als endgültige Genehmigung zählt, spart ein zweites Paar Augen viel Zeit für @cicoub13 und @bertrandda. Sie können sich dann auf das konzentrieren, was wirklich ihre Genehmigung erfordert.
  • PRs testen: Überprüfen, ob eine Fehlerbehebung wirklich auf deiner Einrichtung funktioniert, und dies in der PR zu erwähnen, ist sehr wertvoll, besonders für Integrationen, die wir nicht selbst testen können.
  • Hilfe beim Triage von Issues: Doppelte Einträge erkennen, fehlende Informationen anfordern, prüfen, ob ein Bug reproduziert werden kann.

So beschreibt es auch MAINTAINERS.md: Aktive Mitwirkende treten dem Triage-Team bei und dann dem Kernteam, sobald sie genug überprüft und selbst überprüft wurden. Wenn du also anfängst zu helfen, bist du schon auf diesem Weg!

Nochmals vielen Dank für deine Unterstützung, das hilft wirklich sehr :folded_hands:

Das Problem ist, dass du immer fast alles alleine gemacht hast, also ist es zur Gewohnheit geworden, dich zu markieren.
Natürlich, wenn du am Ende tonnenweise Benachrichtigungen erhältst, schaust du sie dir nicht alle an oder gar nicht.
Danke an @cicoub13 und @bertrandda, dass ihr euch bereit erklärt habt, dir bei dieser Aufgabe zu helfen.

Und dann sind da noch die GitHub-Benachrichtigungen :sweat_smile: