vulp

Dasselbe Multi-Repo-Tool, als Vollbild-Terminal-Oberfläche. Der gesamte Workspace auf einem Bildschirm, Bedienung über die Tastatur, kein Verlassen des Terminals. Für Menschen, die in der Konsole leben.

vulp
TL;DR

Eine vollbildschirmfüllende Terminaloberfläche (TUI) zur Verwaltung einer ganzen Werkstatt von Repositories, ausschließlich über die Tastatur gesteuert. Der gesamte Workspace und sein Zustand auf einem Bildschirm, derselbe Kern wie das promptfreie CLI - ohne das Terminal zu verlassen.

Einleitung

vulp ist ein Werkzeug zur Verwaltung einer Werkstatt von Repositories: mehrere Dutzend Repos, die man gleichzeitig unter Kontrolle halten muss. Diese Fallstudie behandelt sein Terminalgesicht - eine vollbildschirmfüllende TUI, die den Zustand des gesamten Workspace auf einem Bildschirm zeigt und es erlaubt, im Batch darauf zu handeln, ohne die Hand von der Tastatur zu nehmen.

Entscheidend ist, dass die TUI kein separates Programm ist. Darunter sitzt derselbe Kern wie beim promptfreien CLI mit JSON-Ausgabe - das, was die Automatisierung nutzt. Mensch und Skript rufen dieselbe Logik auf, nur über einen anderen Eingang: der eine mit einer Taste, der andere aus der Pipeline.

Für die, die in der Konsole leben

Ein Teil der Leute arbeitet im Terminal und will es für etwas so Grundlegendes wie eine Repository-Übersicht nicht verlassen. Wenn die ganze Arbeit in der Konsole passiert, ist das Öffnen eines Browsers nur um zu prüfen, wo die Änderungen sind, ein Bruch im Rhythmus. Das Werkzeug sollte dort sein, wo Sie bereits sind.

vulp respektiert das. Es fügt kein separates Fenster hinzu und verlangt keinen Kontextwechsel - Sie starten es in derselben Konsole, in der Sie ohnehin sitzen, bekommen das vollständige Bild der Werkstatt und kehren zur Arbeit zurück. Kein Herumklicken mit der Maus, kein Warten auf das Laden einer Seite.

Kontext statt einer git-status-Schleife

Wenn Sie mehrere Dutzend Repositories haben, ist das Prüfen eines nach dem anderen eine Schleife: ins Verzeichnis wechseln, git status, git fetch, zurück, das nächste. Zehn Minuten Klicken, um zu erfahren, dass Änderungen in dreien warten. Je mehr Repos, desto unrealistischer ist es, das im Kopf zu behalten.

vulp legt die ganze Werkstatt auf einen Bildschirm: welches Repo uncommittete Änderungen hat, welches seinem Remote-Branch voraus ist, wo ein Pull wartet, wo ein Deploy vom Server-Spiegel abgedriftet ist. Statt jedes einzeln zu betreten, sehen Sie den Zustand des Ganzen und handeln punktgenau dort, wo etwas Aufmerksamkeit braucht.

Manuelle Schleife vs vulp

AufgabeManuelle Schleifevulp
Zustand von 40 Repos40x cd + git statusein Bildschirm
Commit und Push über viele ReposRepo für Repoeine Auswahl, ein Tastendruck
Deploy-Abweichung vom Servermanueller Vergleicherkannt und angezeigt
Beitragsstatistikenseparate Befehlein derselben Ansicht

Dasselbe CLI, ein zweites Gesicht

Die TUI ist eine interaktive Hülle über dem Kern, der auch das promptfreie CLI antreibt. Workspace-Scan, Batch-Operationen, Bearbeitung von PRs und Issues, Guardrails gegen das Pushen der falschen Sache - das ist ein Satz Logik, egal ob ein Mensch ihn mit einer Taste aufruft oder ein Skript aus einer Pipeline.

Dadurch erscheint eine neue Operation an beiden Stellen zugleich, und was Sie von Hand in der TUI tun, hat genau dieselben Sicherungen wie ein Aufruf aus der Automatisierung. Es gibt keine Menschenversion und keine Skriptversion, die mit der Zeit auseinanderdriften und andere Fehler fangen.

input.rs · rust
match key {
    Key::Char('s') => app.sync_all(),
    Key::Char('r') => app.refresh(),
    Key::Char('q') => app.quit(),
    _ => {}
}

Kürzel, die man nicht lernen muss

Eine gute TUI lässt sich bedienen, ohne die Anleitung zu lesen. Die Kürzel folgen dem, was sie tun: s wie sync, r wie refresh, q wie quit. Wenn Sie sich merken müssen, dass F7 einen Commit macht, ist das Interfacedesign in die falsche Richtung gegangen. vulp hält sich an dieses Prinzip, damit sich die ganze Werkstatt mit den Fingern auf der Tastatur bewältigen lässt, ohne Spickzettel daneben.

Die andere Hälfte des Komforts ist Sicherheit. Batch-Operationen sind bequem genau bis zu dem Moment, in dem Sie mit einem Tastendruck etwas Falsches in zehn Repos zugleich pushen. Deshalb stehen Guardrails aus dem gemeinsamen Kern zwischen Ihnen und einem solchen Zug - dieselben, die Aufrufe aus der Automatisierung schützen.

!
Achtung

Batch-Operationen sind das schärfste Werkzeug in diesem Kasten. Ein Tastendruck kann viele Repos zugleich betreffen, also sind die Guardrails keine Zierde - sie fangen den Moment, in dem Bequemlichkeit zu einem Massenfehler wird. vulp blockiert lieber einen zweifelhaften Push, als ihn über die ganze Werkstatt zu verteilen.

1
Scan des gesamten Workspace

ein Durchlauf sammelt den Zustand aller Repos, bevor irgendetwas auf dem Bildschirm erscheint.

2
Layout auf einem Bildschirm

die Repo-Liste mit ihrem Zustand, ein Detailpanel und eine Kürzelleiste, ohne Scrollen in einem typischen Terminalfenster.

3
Batch-Operationen über die Tastatur

sync, fetch oder push über ausgewählte Repos zugleich, ein Tastendruck statt einer Schleife.

4
Guardrails aus dem gemeinsamen Kern

dieselben Sperren gegen das Pushen der falschen Sache wie im CLI, denn es ist derselbe Code.

Was das Endergebnis ist

Statt einer Schleife über Verzeichnisse bekommen Sie einen Bildschirm, der Ihnen sagt, wo die Änderungen sind, wo ein Pull wartet und wo ein Deploy vom Server abgedriftet ist - und der es erlaubt, das im Batch zu bewältigen, ohne die Hand von der Tastatur zu nehmen. Eine Übersicht, die Stunden verschlang, dauert ein paar Sekunden.

Und weil es eine Hülle über demselben Kern wie das CLI ist, tun ein Mensch und ein Skript genau dasselbe und ebenso sicher. Die Guardrails verschwinden nicht, wenn Sie von der Automatisierung zur Handarbeit wechseln, und eine einmal hinzugefügte Fähigkeit ist sofort sowohl im Terminal als auch in der Pipeline da.

Die ganze Werkstatt auf einem Bildschirm, und jeder Zug von Hand hat dieselben Sicherungen wie ein Zug eines Skripts.

Weitere Projekte

Weitere Projekte aus derselben Kategorie - sehen Sie, wie wir ähnliche Herausforderungen angehen.

Haben Sie ein ähnliches Projekt?

Melden Sie sich - ein Angebot ist kostenlos und kommt innerhalb einer Stunde.