Markdown has quietly become the default way to write things down. Not just READMEs. People are documenting entire knowledge bases, workflow specs, architecture decisions, AI agent instructions, all in markdown. It's the closest thing we have to a universal format for structured thought.
But reading markdown still kind of sucks. You either open it raw in a text editor and squint at the formatting, or you push it to GitHub and read it there, or you spin up some heavy documentation platform that wants a config file and a build step. None of these are good for the simple case: I have a folder of markdown files and I want to read through them.
So I built mdgarden. Point it at a folder, it opens in your browser. That's basically it.
You run mdgarden show in any directory and it scans for .md and .markdown files, builds a file tree in the sidebar, and renders them in a clean browser UI. Relative links between files work. Images work. You can open multiple files in split panes. And it watches for changes, so if you edit a file, it refreshes automatically.
Three runtime dependencies. Express for serving, chokidar for file watching, open for launching your browser. That's the entire backend. The frontend is React with react-markdown and a few rehype plugins for syntax highlighting and GFM support. It builds to a single CLI you can npm link and use anywhere.
The trigger was AI tooling. Every AI coding tool now uses markdown for configuration. Claude Code has CLAUDE.md. Skills are markdown files. Prompts are markdown files. I had folders full of these things and no good way to browse through them without opening each one individually in my editor.
But it goes beyond AI. Any project with a docs folder, a wiki directory, or a collection of ADRs benefits from having a way to browse them as a connected set of documents rather than individual files. Markdown was designed to be readable as plain text, but once you have twenty or thirty files with cross-references, you want something that follows links and renders formatting.
The existing tools for this are either way too heavy or way too limited. Static site generators want you to set up a whole project. IDE preview panes show one file at a time. GitHub's UI requires you to be online and click through directories. I wanted something in between. Local, instant, no config, just point it at a folder.
The temptation with any developer tool is to keep adding features until it becomes the thing you were trying to avoid. I've been deliberate about keeping mdgarden small. No config files. No plugins. No build step for your docs. No frontmatter parsing. No database. It reads markdown files from disk and renders them in a browser. If you want more than that, there are plenty of tools that do more. This one does less, on purpose.
Three production dependencies. A single npm link to install. That's the kind of tool I actually reach for, the kind that's so lightweight you forget it's even there.
mdgarden isn't trying to replace Notion or Obsidian or Docusaurus. It's for the case where you already have markdown files and you just want to read them comfortably. No account, no sync, no build pipeline. Just your files, in your browser, right now.
Markdown won. It's everywhere. The tooling for reading it should be just as simple as the format itself.