eine native macOS-App · kostenlos & Open Source · signiert & notarisiert

Docs sind zum Diffen Lesen da.

PullMark rendert dein lokales Markdown so, wie Leser es sehen werden — und zeigt dokumentationslastige GitHub-Pull-Requests als gerenderte Diffs, in denen nur die geänderten Wörter hervorgehoben sind. Kommentiere, schlag Änderungen vor und reich dein Review ein, ohne je über einer Wand aus +/-Prosa die Augen zusammenzukneifen.

Homebrew
$ brew tap jedijashwa/tap
$ brew trust jedijashwa/tap
$ brew install --cask pullmark
Direkter Download
PullMark laden

Das aktuelle DMG — öffnen, nach „Programme" ziehen (PullMark räumt hinterher auf). Alle Releases →

So oder so: PullMark prüft auf Updates und installiert sie mit einem Klick.

macOS 13+ · Developer-ID-signiert, von Apple notarisiert · oder selbst aus dem Quellcode bauen

PullMark rendert die Dokumentation eines Projekts als formatierte Seite, mit eingeschalteter Blame-Spalte: Autoren-Avatare sitzen am linken Rand, einer pro Folge von Blöcken, die zuletzt derselbe Commit berührt hat
Eine Projekt-Doku, formatiert — mit der Historie am Rand: ein Avatar pro Blockfolge, jeder eine Tür zu seinem Commit.

dein Agent

Dein Agent schreibt Pläne.
Reviewe sie wie die eines Kollegen.

Agents produzieren eine Menge Markdown: Implementierungspläne, Specs, Recherche-Zusammenfassungen — lange Dokumente, die dein Urteil brauchen, bevor jemand danach handelt. Die bisherigen Wege, es abzugeben, passen alle nicht zur Aufgabe. Roher Quelltext im Editor versteckt, was ein Leser sehen würde, Häppchen in den Chat zu kopieren reißt das Feedback von seiner Stelle, und einen Arbeitsentwurf zu committen, nur um PR-Kommentarfelder zu bekommen, ist Zeremonie — nicht jedes Dokument gehört in einen Pull Request.

Randnotizen legen das Feedback ins Dokument selbst. Lies den Entwurf gerendert, klick dahin, wo es hakt, und hinterlass eine signierte Notiz, verankert an genau dem Block. Notizen sind gewöhnliche HTML-Kommentare, die aus der gerenderten Seite herausbleiben — „geh meine Notizen im Plan durch" ist also die ganze Übergabe: dein Agent liest jede Notiz genau dort, wo du sie hinterlassen hast. Kein Commit, kein Copy-Paste, kein Pull Request. Und dann sieh zu, wie die Überarbeitung landet — „Vergleichen“ hebt die Änderungen des Agenten Wort für Wort hervor, live beim Speichern.

PullMark rendert eine von einem Agenten geschriebene Design-Spec mit dem Titel Wind Gust Alerts, mit drei Randnotizen als signierten Karten des Reviewers — eine Notiz auf Dateiebene, die um eine saubere zweite Revision bittet, eine, die die Sampling-Rate-Annahme der Spec infrage stellt, und eine, die bei einem Feature YAGNI ruft — während die Seitenleiste die Spec in einem docs/superpowers/specs-Ordner eines Git-Repositorys auf dem Branch main zeigt
Die Spec eines Agenten, an Ort und Stelle reviewt: drei signierte Notizen, verankert an den Blöcken, die sie infrage stellen, gespeichert in der Datei selbst als gewöhnliche HTML-Kommentare — der Agent arbeitet jede ab und löscht sie.

Der ganze Loop — samt der Anweisungen für deinen Agenten — ist auf der Agents-Seite durchgespielt. Randnotizen sind in der Beta und standardmäßig an; die Doku erklärt die Mechanik.

warum

Prosa ist kein Code.
Hör auf, sie wie Code zu reviewen.

Du kennst den Moment: eine vierzig Zeilen hohe grüne Wand in einem README-Diff, und irgendwo darin der eine Satz, der sich wirklich geändert hat. Design-Dokumente, Decision Records, Runbooks, Agent-Definitionen — von dem, was Woche für Woche durch deine Review-Queue läuft, ist immer mehr Prosa, und ein Quelltext-Diff von Prosa versteckt genau das, was du dort beurteilen sollst.

PullMark zeigt dir die Änderung so, wie Leser ihr begegnen werden: gerendert, nur die geänderten Wörter hervorgehoben. Tabellen bleiben Tabellen, Diagramme bleiben Diagramme, und eine Ein-Wort-Änderung ist ein hervorgehobenes Wort. Kommentiere jeden Block und der Kommentar landet auf genau den Zeilen, die GitHub erwartet — genehmige, fordere Änderungen an oder hinterlasse Suggestions, die der Autor mit einem Klick übernimmt.

„Der Lesesaal neben der Werkstatt."
Hinweis

PullMark ist bewusst kein vollständiger Review-Client. Es zeigt nur die Markdown-Dateien eines PRs — für die Code-Anteile einer Änderung bleiben deine gewohnten Review-Tools der richtige Ort.

reviewen

Das ganze Docs-Review, von der gerenderten Seite aus.

Wechsle zwischen Inline- und Side-by-Side-Layout, spring ins rohe Quelltext-Diff oder sieh dir das finale Ergebnis an — alles über die Toolbar, die dich auch von Datei zu Datei und zurück zum PR führt, ohne die Seitenleiste anzufassen. YAML-Front-Matter rendert als ruhige Metadaten-Tabelle, nicht als Wand aus fettem Text — config-lastige Docs diffen also auch sauber. Ein brandneues Dokument liest sich als Dokument — eine Notiz sagt, dass alles neu ist, statt jeden Block grün einzufärben. Bestehende Review-Threads erscheinen unter den Blöcken, die sie diskutieren. Fahr über einen Block, klick die Sprechblase und kommentiere den ganzen Block oder genau die Zeilen, die du auswählst. Am Ende: Genehmigen, Änderungen anfordern oder Kommentieren, direkt aus der Übersicht — mit oder ohne Zeilenkommentare — plus Kommentare auf Dateiebene oder in der Unterhaltung. Die Übersicht zeigt, wo der PR steht: genehmigt oder Änderungen angefordert, das Urteil jedes Reviewers, CI-Checks mit Durchklick zu den Logs jedes Checks und die volle Unterhaltung als lesbare Timeline. Offene PRs werden jede Minute geprüft; bewegt sich der Branch, genügt ein Klick zum Aktualisieren — und deine Entwürfe überleben.

PullMark beim Review eines Dokumentations-Pull-Requests: ein gerendertes Diff, in dem ein geänderter Absatz wortgenaue Hervorhebungen trägt, ein hinzugefügtes Mermaid-Flussdiagramm auf grünem Hinzugefügt-Ton rendert, die Seitenleiste eine Kommentarzahl an der Datei zeigt und das Review-Element der Toolbar „Review abschließen“ mit drei ausstehenden Kommentaren anzeigt
Ein Dokumentations-PR als gerendertes Diff: der eine geänderte Satz trägt wortgenaue Hervorhebungen, und das neue Flussdiagramm kommt als Diagramm auf grünem Hinzugefügt-Ton an — nicht als achtzig grüne Zeilen Mermaid-Quelltext.
Review beginnen

Der Standard: sammelt Entwürfe lokal. Reiche sie zusammen ein — Kommentieren, Genehmigen oder Änderungen anfordern — oder speichere ein ausstehendes Review, um es auf github.com abzuschließen.

Einzelkommentar senden

Postet sofort einen einzelnen Review-Kommentar, verankert am Block — oder eingegrenzt auf genau die Zeilen, die du im Editor auswählst.

Vorschlag hinzufügen

Der Stift öffnet den Markdown-Quelltext eines Blocks in einem Editor — deine Änderung wird als ```suggestion gepostet, die der Autor mit einem Klick übernimmt.

PullMarks Pull-Request-Übersicht: der PR-Titel mit einem „Offen“-Chip, eine Kapsel „Änderungen angefordert“, eine Kapsel „Checks bestanden“, Reviewer-Avatare mit Urteils-Badges, ein docs-guild-Team-Chip, die gerenderte PR-Beschreibung und die Unterhaltungs-Timeline, deren erster Review-Kommentar eine gerenderte Tabelle zeigt
Die Unterhaltung als Dokument: Review-Kommentare rendern ihre Tabellen als Tabellen, und der Avatar jedes Reviewers trägt sein Urteil.

lesen

Ein richtiger Reader für das Markdown, das schon auf deiner Platte liegt.

Deine Notizen, deine READMEs, der Docs-Ordner deines Teams — öffne eine Datei oder gleich ein ganzes Verzeichnis und lies es so, wie es gemeint war. Alles rendert neu, sobald es sich auf der Platte ändert, relative Bilder und Links lösen einfach auf, und wenn GitHub es rendert, rendert PullMark es auch:

Fett, kursiv, durchgestrichen, Inline-Code, hervorgehoben, H2O, mc2, e + 1 = 0, Links mit Hover-Vorschau, Fußnoten[1], Aufgabenlisten — plus Tabellen, Mermaid-Diagramme, Code mit Syntax-Highlighting, > [!NOTE]-Alerts, KaTeX-Mathe offline, [toc] und YAML-Front-Matter, gefaltet in eine aufgeräumte Metadaten-Tabelle.

PullMark rendert eine lokale Markdown-Datei aus einem Docs-Repo: der Bereich Geöffnete Dateien der Seitenleiste listet drei behaltene Dokumente und einen kursiven Vorschau-Eintrag; der Bereich Orte zeigt den Ordner als Baum aus Unterordnern und Markdown-Dateien, mit Git-Branch-Chip und einer GitHub-Repo-Marke; die geänderten Dateien eines offenen Pull Requests bilden einen Baum mit Status-Icons und einem Kommentarzahl-Badge; das gerenderte Dokument zeigt Überschriften, Listen, einen Link und einen Tip-Alert; die Titelleiste zeigt Ordner und Git-Branch der Datei, mit einer Wortzahl-Pille in der Ecke
Ordner kommen als lebende Bäume herein, jeder Ort trägt seinen Git-Branch, und beim Stöbern erscheinen Dateien als Vorschau — der kursive Eintrag in „Geöffnete Dateien“, den der nächste Klick ersetzt. Pull Requests sitzen neben deinen lokalen Dateien, und die Titelleiste weiß, wo du bist.
  • Historie am Rand — eine stille Blame-Spalte: ein Avatar pro Blockfolge; Hover zeigt Autor, Datum und Commit; Klick öffnet die volle Zeilenhistorie.
  • Immer aktuell — speichere in irgendeinem Editor, und die Seite hat sich schon neu gerendert.
  • Diff gegen die Historie — ein Klick vergleicht die Arbeitsdatei mit jedem letzten Commit oder Branch, gerendert wie ein PR-Diff, live, während die Datei sich weiter ändert; pullmark --diff macht es vom Terminal aus — das schnellste „Was hat der Agent gerade an meinem Doc geändert".
  • Stöbern, ohne dich zuzuschütten — Einzelklick durch einen Ordner oder ein Repo, und jede Datei erscheint als Vorschau: ein kursiver Eintrag in „Geöffnete Dateien“, den der nächste Klick ersetzt. Doppelklick (oder einfach lostippen) behält sie.
  • Gliederungs-Seitenleiste — eine Navigator-artige Karte deiner Überschriften, einen Schalter entfernt.
  • Alles finden⌘F springt durch die Treffer auf der Seite; ⇧⌘F durchsucht alle Dateien in der Seitenleiste auf einmal.
  • Zoom, der umbricht⌘+ und ⌘− (oder eine Pinch-Geste) skalieren Text, Bilder und die Lesespalte gemeinsam, gemerkt über Starts hinweg; die Navigation wächst mit.
  • Klicken zum Inspizieren — Bilder, Mermaid-Diagramme und Blockformeln öffnen in einem fokussierten Overlay mit Schwenken und Zoomen, damit komplexe Diagramme nicht auf Spaltenbreite festhängen — und sichere oder teile genau das, was du gerade betrachtest (Diagramme als echte SVGs).
  • Nimm es überallhin mit — Export als PDF oder als eine einzelne, in sich geschlossene HTML-Datei; ⌘C fügt Rich Text in Docs und Slack ein, ⌥⌘C gibt das Markdown zurück.
  • Drei Lesethemes — Editorial, GitHub und Terminal, mit Live-Vorschauen in den Einstellungen — oder leg dein eigenes CSS dazu. Hell & Dunkel gestalten alles um, Mermaid inklusive, und die Zeilenlänge gehört dir: Standard, Wide oder Full Width.
  • GitHub-Links öffnen in der App — klick einen github.com-Link auf eine Markdown-Datei und PullMark rendert sie, mit einer stets sichtbaren Repo @ Branch-Herkunftsleiste; -Klick schickt ihn stattdessen in den Browser.
  • Schnell öffnen⌘K springt zu jeder Überschrift, jeder Datei, jedem PR, fuzzy-gematcht — oder füg eine PR-URL, eine Repo-URL oder einen Dateipfad ein und genau das öffnet sich.
  • Verschoben heißt verschoben — ein wortgleich umgezogener Absatz rendert einmal, mit einem dezenten violetten Chip — nicht als Rot-plus-Grün-Rauschen.
  • Macht da weiter, wo du warst — deine Dateien, PRs und Lesepositionen sind beim Start wieder da.

Das sind die Highlights. Die Docs decken den Rest ab — jedes Feature, jede Einstellung, jedes Icon, die komplette Tastaturbelegung und den pullmark-Befehl.

Lesen als Standard. Bearbeiten an Ort und Stelle.

Drück ⌘E und die Seite wird zum Editor: der Block unter deinem Cursor zeigt sein rohes Markdown an Ort und Stelle — gleiche Schrift, gleiche Position, nichts springt — und du tippst sofort. Mit den Pfeiltasten durch die Blöcke, mit Backspace zusammenführen, mit einer Leerzeile teilen; verlässt du einen Block, wird er über denselben abgesicherten, versionierten Pfad gespeichert wie alles andere. Lesen bleibt der Standard; die Modusgrenze ist die Speichergeste.

Ein gerendertes Dokument im Bearbeitungsmodus: ein Absatz zeigt an Ort und Stelle sein rohes Markdown, umgeben von gerendertem Inhalt
Bearbeitungsmodus: der aktive Block zeigt seinen Quelltext; alles andere bleibt gerendert.

GitHub ist ein Ort, an dem deine Docs wohnen. Lies ihn auch so.

Klick einen github.com-Link auf eine Markdown-Datei und PullMark lädt und rendert sie in der App — der erste Klick fragt, welches Verhalten du willst, und -Klick macht immer das andere. Eine Herkunftsleiste über der Seite sagt genau, welches Repo und welchen Branch du liest, festgepinnt auf den Commit, zu dem er aufgelöst wurde; relative Links lösen weiter gegen das Repo auf, der ganze Markdown-Baum ist in der Seitenleiste einen Klick entfernt, und private Repos nutzen die GitHub-Anmeldung, die deine PRs schon verwenden — nichts Geladenes berührt je die Platte. Branches sind ein Chip an jedem Repo: wechsle an Ort und Stelle, öffne einen anderen Branch als eigenen Seitenleisten-Eintrag oder spring in einen lokalen Worktree. Und ist das Repo auf deinem Mac schon auf diesem Branch geklont, öffnet der Link stattdessen deine lokale Datei.

PullMark rendert eine aus einem GitHub-Repository geladene Markdown-Datei: eine Herkunftsleiste über dem Inhalt zeigt den Repository-Namen, einen Branch-Chip, den Dateipfad und den gepinnten Commit, mit einem „Auf GitHub öffnen“-Link; der Bereich Orte der Seitenleiste zeigt das Repository mit Buch-Icon und seinem Markdown-Dateibaum
Ein Doc, direkt von GitHub gelesen: die Herkunftsleiste sagt immer, wo du bist — Repo, Branch, gepinnter Commit — und der Branch-Chip wechselt oder öffnet Branches, ohne die Seite zu verlassen.
PullMarks Einstellungsfenster auf dem Tab „Erscheinungsbild“: drei Live-Theme-Vorschaukarten — GitHub, Editorial und Terminal — rendern jeweils dasselbe Beispieldokument durch die echte Pipeline, Editorial ist ausgewählt, darunter Buttons zum Öffnen des eigenen Themes-Ordners
Einstellungen → Erscheinungsbild: drei Live-Theme-Vorschauen, gerendert von der echten Pipeline — klick eine Karte zum Wechseln.

nativ

Eine Mac-App, die sich auch so verhält.

Quick Look

Drück im Finder die Leertaste auf einer Markdown-Datei und sieh sie in deinem Lesetheme gerendert — noch bevor du überhaupt eine App öffnest.

Eine echte CLI

pullmark README.md, pullmark ~/wt docs/plan.md — Dateien, Ordner und Worktrees öffnen in der laufenden App, immer im vordersten Fenster. pullmark --help dokumentiert alles; die Docs auch.

Standard-App für .md

Ein Klick in den Einstellungen, und Doppelklick im Finder heißt überall gerendert — und verwirft ein Update die Zuordnung je, merkt PullMark das und bietet sie dir zurück an.

Deine vorhandenen Zugangsdaten

Kein eigener Login. PullMark nutzt gh auth token oder deinen Git-Credential-Helper — private und Org-Repos funktionieren einfach.

Nichts bleibt auf der Platte

Geladene PR-Inhalte leben in flüchtigen Sessions und begrenzten Speicher-Caches — nichts von GitHub wird in persistenten Speicher geschrieben.

Open Source, MIT

Swift, null Paketabhängigkeiten und eine Lizenz, die dir nicht im Weg steht. Lies den Quellcode.

Gib deinen Docs einen Lesesaal.

Kostenlos, Open Source, signiert und notarisiert. Nur einen Download entfernt.

Homebrew
$ brew tap jedijashwa/tap
$ brew trust jedijashwa/tap
$ brew install --cask pullmark
Direkter Download
PullMark laden

Das aktuelle DMG — öffnen, nach „Programme" ziehen (PullMark räumt hinterher auf). Alle Releases →

So oder so: PullMark prüft auf Updates und installiert sie mit einem Klick.

oder selbst aus dem Quellcode bauen