Zum Inhalt springen

Open Source

Ich arbeite täglich mit Open Source. Was dabei für die eigene Arbeit entsteht und sich bewährt, geht denselben Weg zurück. Hier steht, was die Werkzeuge machen, wofür sie gedacht sind und wo Code und Beiträge liegen.

NextSearch

AGPL-3.0

Volltextsuche über Nextcloud-Ordner, selbst gehostet und strikt lesend.

  • Nuxt
  • Laravel
  • Meilisearch
  • Apache Tika

Nextcloud speichert und teilt Dateien, findet aber nichts in ihnen. Die offizielle Volltextsuche kann das, will dafür aber einen Elasticsearch-Cluster daneben, den jemand betreiben muss. NextSearch ist die kleinere Antwort auf dieselbe Frage: Es indexiert die Ordner, auf die man es zeigt — über beliebig viele Instanzen hinweg — und macht deren Inhalt durchsuchbar. PDF, Office, OpenDocument, E-Mails als .eml, dazu OCR für Scans ohne Textebene.

Der Zugriff auf Nextcloud ist erzwungen lesend, und zwar im Code: Der einzige Baustein, der mit einer Instanz spricht, lässt vier HTTP-Methoden durch und wirft bei allem anderen, bevor ein Socket aufgeht. NextSearch legt keine Datei an, ändert keine, löscht keine.

Seit 0.3.0 gibt es Tags samt HTTP-API, seit 0.4.0 einen MCP-Server, über den ein Assistent mit denselben Rechten sucht und markiert. Der ganze Stack läuft mit einem docker compose up; make demo zieht zum Ausprobieren eine Wegwerf-Nextcloud mit hoch.

proxypark

MIT

Lokale Entwicklungs-Domains auf macOS, mit gültigem HTTPS und ohne Portkonflikte.

  • Traefik
  • dnsmasq
  • mkcert

Wer an mehreren Projekten gleichzeitig arbeitet, kennt das Ritual: Port 3000 ist belegt, also 3001, dann 8080, und irgendwann weiß niemand mehr, welche Anwendung auf welchem Port hört. Cookies, CORS und OAuth-Callbacks machen den Rest.

proxypark legt eine Schicht davor. Jedes Projekt bekommt seine eigene .test-Domain, dahinter hängt ein Traefik, der auf die Container zeigt, und mkcert stellt ein Zertifikat aus, dem der eigene Rechner tatsächlich vertraut — grünes Schloss im Browser, kein Klick durch eine Warnung. Die Auflösung übernimmt dnsmasq, es muss also nichts in die /etc/hosts.

Ein Befehl pro Projekt, danach ist die Domain da. Ports vergibt man weiterhin, sie interessieren nur niemanden mehr.

claude-code-specumentation

MIT

Claude-Code-Skill für spec-first: Konzept, Epics, Tickets und Handbücher aus einer Quelle.

  • Python
  • Claude Code

In Projekten driften Spezifikation, Code und Dokumentation auseinander, sobald der erste Termin drückt. specumentation dreht die Reihenfolge um: Bevor Code entsteht, steht ein Konzeptdokument unter docs/concept/. Daraus leitet der Skill Epics mit Tickets ab, und beides bleibt die Quelle, aus der später Handbücher, Übersichten und Zusammenfassungen als PDF fallen.

Der Reiz liegt weniger im Generieren als im Rückweg. Ändert sich Code, lässt sich die Dokumentation dagegen abgleichen, statt dass sie still veraltet. Externe Dokumente — Ausschreibungen, Protokolle, Mails — kann man einlesen und ins Konzept überführen, statt sie parallel zu pflegen.

Gedacht als Konvention, nicht als Framework: ein paar feste Verzeichnisse, ein paar Befehle, und Claude Code hält sich daran.

Claude Chappe

MIT

JetBrains-Plugin, das Projektfenster nach dem Zustand ihrer Claude-Code-Sessions färbt.

  • Kotlin
  • IntelliJ-Plattform
  • Claude Code

Bei vier offenen IDE-Fenstern sieht man nicht mehr, welche Session gerade rechnet und welche auf eine Antwort wartet. Man klickt sich durch, findet drei arbeitende Fenster und beim vierten die Frage, die seit zehn Minuten offen steht.

Claude Chappe färbt den Fensterrand nach dem Zustand der Sessions, die darin laufen: Grün rechnet, Rot will etwas von dir. Das reicht, um mit einem Blick über den Bildschirm zu wissen, wo man hin muss. Dazu kommt ein Befehl, der alle Projektfenster versetzt auf einen Bildschirm stapelt — das dringendste vorn.

Der Name stammt von Claude Chappe, der um 1790 den optischen Telegrafen gebaut hat: Signale über Distanz, ohne Text zu lesen. Ungefähr das macht das Plugin auch.