een native macOS-app · gratis & open source · ondertekend & genotariseerd

Docs zijn er om te diffen lezen.

PullMark rendert je lokale Markdown zoals lezers die te zien krijgen — en toont documentatiezware pull requests op GitHub als gerenderde diffs, met alleen de gewijzigde woorden gemarkeerd. Reageer, doe suggesties en dien je review in zonder ooit te turen naar een muur van +/-proza.

Homebrew
$ brew tap jedijashwa/tap
$ brew trust jedijashwa/tap
$ brew install --cask pullmark
Directe download
Download PullMark

De nieuwste DMG — open hem en sleep PullMark naar Applications (het opruimen doet PullMark zelf). Alle releases →

Hoe dan ook: PullMark controleert op updates en installeert ze met één klik.

macOS 13+ · ondertekend met Developer ID, genotariseerd door Apple · of bouw zelf vanaf de broncode

PullMark rendert de documentatie van een project als opgemaakte pagina, met de blame-kantlijn aan: avatars van auteurs staan in de linkermarge, één per reeks blokken die het laatst door dezelfde commit is aangeraakt
Een projectdoc, opgemaakt — met de geschiedenis in de kantlijn: één avatar per reeks blokken, elk een deur naar zijn commit.

je agent

Je agent schrijft plannen.
Review ze als het werk van een collega.

Agents produceren bergen Markdown: implementatieplannen, specs, onderzoeksverslagen — lange documenten die jouw oordeel nodig hebben voordat iemand ermee aan de slag gaat. De bestaande manieren om dat oordeel te geven passen geen van alle bij de taak. Ruwe broncode in een editor verbergt wat een lezer zou zien, stukken in een chat plakken rukt de feedback los van haar plek, en een werkversie committen puur om PR-commentaarvakjes te krijgen is ceremonie — niet elk document hoort in een pull request.

Margin notes (kanttekeningen) zetten de feedback in het document zelf. Lees het concept gerenderd, klik waar het misgaat en laat een ondertekende notitie achter, verankerd aan dat blok. Notities zijn gewone HTML-comments die buiten de gerenderde pagina blijven — dus "verwerk mijn notities in het plan" is de hele overdracht: je agent leest elke notitie precies waar jij die achterliet. Geen commit, geen plakwerk, geen pull request. En kijk dan hoe de revisie binnenkomt — Vergelijk markeert de wijzigingen van je agent woord voor woord, live bij elke save.

PullMark rendert een door een agent geschreven ontwerpspec met de titel Wind Gust Alerts, met drie margin notes als ondertekende kaarten van de reviewer — een notitie op bestandsniveau die om een schone tweede revisie vraagt, één die de aanname over de samplefrequentie in twijfel trekt, en één die YAGNI roept over een functie — terwijl de zijbalk de spec toont in een map docs/superpowers/specs van een git-repository op branch main
De spec van een agent, ter plekke gereviewd: drie ondertekende notities verankerd aan de blokken die ze ter discussie stellen, opgeslagen in het bestand zelf als gewone HTML-comments — de agent verwerkt ze één voor één en verwijdert ze.

De hele loop — inclusief de instructies die je je agent meegeeft — wordt uitgewerkt op de agents-pagina. Margin notes zijn in beta en staan standaard aan; de docs behandelen de details.

waarom

Proza is geen code.
Review het dus niet als code.

Je kent het moment: een groene muur van veertig regels in een README-diff, en ergens daarin die ene zin die echt is veranderd. Ontwerpdocumenten, decision records, runbooks, agentdefinities — van wat er wekelijks door je reviewwachtrij komt is steeds meer proza, en een source-diff van proza verbergt precies datgene waarover jij moet oordelen.

PullMark toont je de wijziging zoals lezers haar zullen tegenkomen: gerenderd, met alleen de gewijzigde woorden gemarkeerd. Tabellen blijven tabellen, diagrammen blijven diagrammen, en een bewerking van één woord is één gemarkeerd woord. Reageer op elk blok en je commentaar landt op precies de regels die GitHub verwacht — keur goed, vraag wijzigingen aan of laat suggesties achter die de auteur met één klik toepast.

"De leeszaal naast de werkplaats."
Opmerking

PullMark is bewust geen volledige reviewclient. Het toont alleen de Markdown-bestanden in een PR — voor de code in een wijziging blijven je gebruikelijke reviewtools de juiste plek.

reviewen

De hele documentatiereview, vanaf de gerenderde pagina.

Wissel tussen inline en side-by-side, zak af naar de ruwe Bron-diff of bekijk alvast het eindresultaat in Resultaat — allemaal vanuit de toolbar, die je ook van bestand naar bestand en terug naar de PR loodst zonder de zijbalk aan te raken. YAML-front matter rendert als een rustige metadatatabel, niet als een muur vetgedrukt proza — dus ook configuratiezware docs diffen netjes. Een gloednieuw document leest als een document — één melding zegt dat alles nieuw is, in plaats van elk blok groen te kleuren. Bestaande reviewthreads verschijnen onder de blokken waar ze over gaan. Beweeg over een blok, klik op het ballonnetje en reageer op het hele blok of op precies de regels die jij kiest. Ben je klaar, dan kies je Keur goed, Vraag wijzigingen of Plaats comment rechtstreeks vanaf het overzicht — met of zonder regelcommentaar — en laat je ook comments op bestandsniveau of in de gewone conversatie achter. Het overzicht toont waar de PR staat: goedgekeurd of wijzigingen aangevraagd, het oordeel van elke reviewer, CI-checks met een doorklik naar de logs van elke check, en de volledige conversatie als leesbare tijdlijn. Open PR's worden elke minuut gecontroleerd; beweegt de branch, dan ververst één klik en blijven je concepten bewaard.

PullMark reviewt een documentatie-pull request: een gerenderde diff waarin een gewijzigde alinea markeringen op woordniveau draagt, een toegevoegd Mermaid-stroomdiagram rendert op de groene tint van een toegevoegd blok, de zijbalk toont een commentaarteller op het bestand, en de reviewknop in de toolbar meldt Rond je review af met drie openstaande comments
Een documentatie-PR als gerenderde diff: de ene gewijzigde zin draagt markeringen op woordniveau, en het nieuwe stroomdiagram arriveert als diagram op de tint van een toegevoegd blok — niet als tachtig groene regels Mermaid-broncode.
Start een review

De standaard: verzamelt concepten lokaal. Dien ze samen in — Plaats comment, Keur goed of Vraag wijzigingen — of bewaar een pending review om op github.com af te ronden.

Voeg losse comment toe

Plaatst direct één reviewcomment, verankerd aan het blok — of versmald tot alleen de regels die je in de composer selecteert.

Voeg een suggestie toe

Het potlood opent de Markdown-bron van een blok in een editor — je wijziging wordt geplaatst als ```suggestion die de auteur met één klik toepast.

Het pull request-overzicht van PullMark: de PR-titel met een Open-chip, een capsule Wijzigingen gevraagd, een capsule Checks geslaagd, reviewer-avatars met oordeelbadges, een teamchip docs-guild, de PR-beschrijving gerenderd, en de conversatietijdlijn waarvan de eerste reviewcomment een gerenderde tabel toont
De conversatie als document: reviewcomments renderen hun tabellen als tabellen, en de avatar van elke reviewer draagt zijn oordeel.

lezen

Een echte reader voor de Markdown die al op je schijf staat.

Je notities, je README's, de docs-map van je team — open een bestand of een hele map en lees hem zoals hij bedoeld is. Alles rendert opnieuw op het moment dat er op schijf iets verandert, relatieve afbeeldingen en links werken gewoon, en als GitHub het rendert, rendert PullMark het:

Vet, cursief, doorgehaald, inline code, markering, H2O, mc2, e + 1 = 0, links met hover-previews, voetnoten[1], takenlijsten — plus tabellen, Mermaid-diagrammen, code met syntaxkleuring, > [!NOTE]-alerts, offline KaTeX-wiskunde, [toc], en YAML-front matter samengevouwen tot een nette metadatatabel.

PullMark rendert een lokaal Markdown-bestand uit een docs-repo: de sectie Geopende bestanden in de zijbalk toont drie vastgehouden documenten en één cursieve preview-regel; de sectie Locaties toont de map als boom van submappen en Markdown-bestanden, met een git-branch-chip en een GitHub-repomarkering; de gewijzigde bestanden van een open pull request vormen een boom met statusiconen en een commentaarteller; het gerenderde document toont koppen, lijsten, een link en een Tip-alert; de titelbalk toont de map en git-branch van het bestand, met een woordenteller in de hoek
Mappen komen binnen als levende bomen, elke locatie draagt haar git-branch, en bladeren toont bestanden als previews — de cursieve regel in Geopende bestanden die door je volgende klik wordt vervangen. Pull requests staan naast je lokale bestanden, en de titelbalk weet waar je bent.
  • Geschiedenis in de kantlijn — een rustige blame-kolom: één avatar per reeks blokken; hover voor auteur, datum en commit; klik voor de volledige regelgeschiedenis.
  • Altijd actueel — sla op vanuit welke editor dan ook en de pagina is al opnieuw gerenderd.
  • Diffen met de geschiedenis — één klik vergelijkt het werkbestand met elke recente commit of branch, gerenderd als een PR-diff, live terwijl het bestand blijft veranderen; pullmark --diff doet het vanuit een terminal — het snelste antwoord op "wat heeft de agent net aan mijn doc veranderd".
  • Bladeren zonder jezelf te bedelven — klik je met één klik door een map of repo, dan verschijnt elk bestand als preview: één cursieve regel in Geopende bestanden die je volgende klik vervangt. Dubbelklik (of begin gewoon te bewerken) om hem te houden.
  • Outline-zijbalk — een kaart van je koppen in navigatorstijl, één schakelaar verwijderd.
  • Vind alles⌘F stapt door de treffers op de pagina; ⇧⌘F doorzoekt alle bestanden in de zijbalk tegelijk.
  • Zoom die meebeweegt⌘+ en ⌘− (of een knijpgebaar) schalen tekst, afbeeldingen en de leeskolom samen, onthouden tussen sessies; de navigatie groeit mee.
  • Klik om te inspecteren — afbeeldingen, Mermaid-diagrammen en losstaande formules openen in een pan-en-zoom-overlay, zodat complexe diagrammen niet vastzitten op kolombreedte — en bewaar of deel precies wat je aan het bekijken bent (diagrammen als echte SVG's).
  • Neem het overal mee naartoe — exporteer als PDF of als één zelfstandig HTML-bestand; ⌘C plakt opgemaakt in Docs en Slack, ⌥⌘C geeft de Markdown terug.
  • Drie leesthema's — Editorial, GitHub en Terminal, met live previews in Instellingen — of gooi er je eigen CSS in. Licht & donker stylen alles opnieuw, Mermaid incluis, en de regellengte bepaal jij: Standard, Wide of Full Width.
  • GitHub-links openen in de app — klik op een github.com-link naar een Markdown-bestand en PullMark rendert het, met een altijd zichtbare herkomstbalk met repo @ branch; -klik stuurt hem juist naar de browser.
  • Open snel⌘K springt naar elke kop, elk bestand of elke PR, fuzzy gematcht — of plak een PR-URL, een repo-URL of een bestandspad en die opent direct.
  • Verplaatst is verplaatst — een alinea die letterlijk verhuist rendert één keer, met een rustige paarse chip in plaats van rood-plus-groene ruis.
  • Gaat verder waar je gebleven was — je bestanden, PR's en leespositie worden bij het opstarten hersteld.

Dit waren de hoogtepunten. De docs behandelen de rest — elke functie, elke instelling, elk icoon, de volledige toetsenbordkaart en het pullmark-commando.

Lezen als standaard. Bewerken ter plekke.

Druk op ⌘E en de pagina wordt de editor: het blok onder je cursor toont ter plekke zijn ruwe Markdown — zelfde letter, zelfde positie, niets verspringt — en je typt meteen. Pijl door de blokken, voeg samen met Backspace, splits met een witregel; een blok verlaten slaat het op via hetzelfde bewaakte, geversioneerde pad als al het andere. Lezen blijft de standaard; de grens tussen de modi is het opslaggebaar.

Een gerenderd document in editmodus: één alinea ter plekke onthuld als ruwe Markdown-bron, omringd door gerenderde inhoud
Editmodus: het actieve blok toont zijn bron; al het andere blijft gerenderd.

GitHub is een plek waar je docs wonen. Lees hem ook zo.

Klik op een github.com-link naar een Markdown-bestand en PullMark haalt het op en rendert het in de app — je eerste klik vraagt welk gedrag je wilt, en -klik doet altijd het andere. Een herkomstbalk boven de pagina zegt precies welke repo en branch je leest, vastgepind op de commit waarnaar hij is opgelost; relatieve links blijven binnen de repo werken, de hele Markdown-boom is één klik verwijderd in de zijbalk, en privérepo's gebruiken de GitHub-login die je PR's al gebruiken — niets van wat wordt opgehaald raakt ooit de schijf. Branches zijn een chip op elke repo: wissel ter plekke, open een andere branch als eigen zijbalkregel, of spring naar een lokale worktree. En staat de repo op die branch al gecloned op je Mac, dan opent de link je lokale bestand.

PullMark rendert een Markdown-bestand opgehaald uit een GitHub-repository: een herkomstbalk boven de inhoud toont de repositorynaam, een branch-chip, het bestandspad en de vastgepinde commit, met een link Open op GitHub; de sectie Locaties in de zijbalk toont de repository met een boekicoon en zijn boom van Markdown-bestanden
Een doc rechtstreeks van GitHub gelezen: de herkomstbalk zegt altijd waar je bent — repo, branch, vastgepinde commit — en de branch-chip wisselt of opent branches zonder de pagina te verlaten.
Het Instellingen-venster van PullMark op het tabblad Weergave: drie live themapreviewkaarten — GitHub, Editorial en Terminal — die elk hetzelfde voorbeelddocument renderen via de echte pipeline, met Editorial geselecteerd, boven knoppen om de map met eigen thema's te openen
Instellingen → Weergave: drie live themapreviews, gerenderd door de echte pipeline — klik op een kaart om te wisselen.

native

Een Mac-app die zich er ook naar gedraagt.

Quick Look

Druk op de spatiebalk op een Markdown-bestand in de Finder en zie het gerenderd in jouw leesthema, nog voor je een app opent.

Een echte CLI

pullmark README.md, pullmark ~/wt docs/plan.md — bestanden, mappen en worktrees openen in de draaiende app, altijd in het voorste venster. pullmark --help documenteert het; de docs ook.

Standaardapp voor .md

Eén klik in Instellingen laat dubbelklikken in de Finder overal gerenderd betekenen — en laat een upgrade de koppeling ooit vallen, dan merkt PullMark dat en biedt hem weer aan.

Je bestaande credentials

Geen aparte login. PullMark gebruikt gh auth token of je git-credential-helper — privérepo's en organisatierepo's werken gewoon.

Niets blijft achter op schijf

Opgehaalde PR-inhoud leeft in kortstondige sessies en begrensde geheugencaches — niets van GitHub wordt naar permanente opslag geschreven.

Open source, MIT

Swift, nul package-dependencies en een licentie die je niet in de weg zit. Lees de broncode.

Geef je docs een leeszaal.

Gratis, open source, ondertekend en genotariseerd. Eén download verwijderd.

Homebrew
$ brew tap jedijashwa/tap
$ brew trust jedijashwa/tap
$ brew install --cask pullmark
Directe download
Download PullMark

De nieuwste DMG — open hem en sleep PullMark naar Applications (het opruimen doet PullMark zelf). Alle releases →

Hoe dan ook: PullMark controleert op updates en installeert ze met één klik.

of bouw zelf vanaf de broncode