folio-reader
v1.0.0
Published
Desktop reader for AI-generated markdown. Built for Claude Code, Cursor, Windsurf, and Copilot output.
Readme
Why Folio?
AI coding tools generate a lot of markdown: CLAUDE.md, AGENTS.md, .cursorrules, planning docs, research notes, changelogs. You need to read these files constantly -- to review agent output, understand decisions, catch mistakes.
Your code editor treats them as just another file. Generic markdown apps miss the context entirely.
Folio is purpose-built for this workflow:
- AI-aware sidebar --
CLAUDE.md,.cursorrules,.windsurfrules,AGENTS.md, andcopilot-instructions.mdget highlighted with badges so you find them instantly. - Directory watcher -- Point it at a project folder. New and changed files appear automatically with debounced updates.
- Cross-file search --
Ctrl+Shift+Fto search across every markdown file in the folder. Find that one decision buried three docs deep. - Tabs with session restore -- Open tabs persist across restarts. Pick up where you left off.
No editing. No bloat. Just reading AI output, done well.
Quick Start
npx folio-reader --folder ./my-projectThat's it. Opens Folio with your project's markdown files in the sidebar.
# Open a specific file
npx folio-reader README.md
# Open a folder + a file
npx folio-reader --folder ./docs README.md
# Just launch the app
npx folio-readerFeatures
AI file badges -- Recognizes CLAUDE.md, .cursorrules, .clinerules, .windsurfrules, AGENTS.md, and copilot-instructions.md. These files get a purple badge in the sidebar so they stand out from regular docs.
Directory watcher -- Watches your project folder for changes. When an agent writes a new markdown file or updates an existing one, Folio picks it up automatically.
Cross-file search -- Ctrl+Shift+F opens a project-wide search panel. Results show file name, line matches, and click-to-open.
Tabbed reading -- Open multiple files in tabs. Session is restored on restart. Ctrl+Tab to switch, Ctrl+W to close, Ctrl+Shift+T to reopen.
Outline panel -- Auto-generated from headings. Click to jump. Essential for long agent-generated docs.
Dark and light themes -- Toggle with one click. Follows your system preference by default.
Syntax highlighting -- Fenced code blocks with language-aware colors and a one-click copy button.
Zoom controls -- Scale content up or down. Saved across sessions.
Live reload -- Files auto-reload when changed on disk. Scroll position is preserved.
PDF export -- Ctrl+P to export any document as a styled PDF.
In-document search -- Ctrl+F for searching within the current file with match highlighting.
Status bar -- Word count and estimated reading time for every document.
| Light mode | Dark mode |
|---|---|
|
|
|
| Outline panel | Code highlighting |
|---|---|
|
|
|
Installation
npm (recommended)
npm install -g folio-reader
folio-reader --folder ./my-projectDownload
Grab the latest build from Releases:
- Windows --
.exeinstaller or portable - macOS --
.dmg(x64 and Apple Silicon) - Linux --
.AppImageor.deb
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| Ctrl+O / Ctrl+T | Open file |
| Ctrl+W | Close tab |
| Ctrl+Tab / Ctrl+Shift+Tab | Next / previous tab |
| Ctrl+Shift+T | Reopen closed tab |
| Ctrl+F | Search in document |
| Ctrl+Shift+F | Search across all files |
| Ctrl+P | Export to PDF |
Build from Source
git clone https://github.com/BharatBheesetti/Folio.git
cd Folio
npm install
npm startBuild a portable .exe:
npm run buildBuild an installer:
npm run build:installerSecurity
All rendered HTML is sanitized via sanitize-html. No script injection, no iframes, no event handlers. Content Security Policy blocks inline scripts and all outbound network requests. Fonts are bundled locally. DevTools are disabled in production builds. The IPC surface validates file extensions and prevents path traversal.
Architecture
main.js -- Electron main process: window, IPC, markdown rendering, file watching
preload.js -- Context bridge: exposes a safe API surface to the renderer
renderer.js -- UI: tabs, themes, search, outline, sidebar, session persistence
cli.js -- npx entry point: arg parsing, electron launch
index.html -- Layout and styling
fonts/ -- Bundled Literata + IBM Plex Mono (WOFF2)