1 comments

  • hitoshi1964 an hour ago

    This started with the .md files Claude Code generates. Opening a heavy editor and right-clicking to preview was a chore, so I asked Claude Code for help and had a viewer-only 0.1 in two hours. Then one "it would be nice if it also..." after another, until it did the thing I actually needed: read the diff of what the agent just rewrote.

    That is the part I would point at. Every save, and every rewrite from outside the app, quietly keeps a timestamped version. So when an agent edits a file you had open, you can put any two versions side by side and read what changed - rather than trusting a summary of it.

    The case that made me build it properly: something rewrites the file on disk while you have unsaved edits. MRDown neither overwrites it silently nor reloads over you. It snapshots the disk version the moment it sees it, snapshots your unsaved edits before discarding them, and shows three columns - last save, what is on disk, your edits - marking only the lines you both changed differently as conflicts.

    Versions record where they came from: saved, changed elsewhere, back to the committed version, rescued draft. Which application wrote a file is not knowable on macOS, with one exception - content matching the committed git blob byte-for-byte was git putting the file back, and that is labelled as such.

    Preview and editor are the same surface. Cmd-E swaps between them in place: headings stay large, the syntax markers hide, checklists are clickable, tables are drawn with rules - and the line under the cursor shows raw Markdown. Saving leaves the file byte-for-byte unchanged, which is the reason the diff above can be trusted.

    Drop a .docx and it opens as Markdown, converted locally with nothing uploaded. It opens as an untitled document, so saving writes a new .md and there is no code path that writes back to the original. Two .docx files can be diffed against each other. Images are not carried over, and the app says so when it opens one.

    Templates are plain .md files in a folder - no bespoke format, no management screen. Put them in docs/_templates/ inside a repository and everyone who clones it gets them; add a line to AGENTS.md and coding agents write in that shape too.

    Tauri (Rust + TypeScript), not Electron: the download is 7 MB. MIT, signed with a Developer ID and notarized, macOS 13+.

    Caveats. Only macOS binaries are published. Being Tauri it should build and run on Windows, but I have never built or launched it there myself and there is no Windows signing certificate, so I do not claim it. And .docx is the only document format it converts - xlsx, pptx and PDF all open, but only .docx carries headings, lists and tables as structure, so the others come out as something you would not want to read. Listing a format that opens into a mess costs more trust than it earns.