What is Markr?
Markr is a free, open-source Markdown preview and AI config editor for VS Code and Cursor. It renders your .md files exactly as GitHub does — clean typography, accurate colors, beautiful tables — and goes further with a dedicated Activity Bar panel, full split-edit mode, and first-class support for AI documentation files.
Whether you're managing a CLAUDE.md, editing .cursorrules, writing Copilot workspace instructions, maintaining a README, or working in a Markdown-heavy repo, Markr gives you a dramatically better experience than the built-in preview.
Click the Markr icon in the Activity Bar. Or open any .md file and press Cmd+Shift+M.
See it in action
✦ NEW in 5.0 (beta) — Context Bridge. See every AI coding session across Claude Code, Cursor, Augment & Codex in one sidebar. Pick one, hand it off to another tool, and Markr writes a Conditional Residual Handoff — decisions, dead-ends, constraints & the uncommitted git diff, not a chat dump.
✦ AI Config Health. Score your AI config workspace out of 100 — findings flag missing testing guidance, secrets in config, absent verification commands, with concrete fixes ranked by severity.
✦ Copy AI Workspace Bundle. One click concatenates CLAUDE.md, .cursorrules, agent.md & more into a single readiness-scored doc — paste it into any AI to onboard it to your repo instantly.
✦ Click the token counter → see a breakdown by section with proportional bars. Supports Claude, GPT-4, GPT-4o, DeepSeek, Kimi, Llama 3, Gemini, Mistral & more. Click any row to jump there.
✦ Double-click CLAUDE.md, .cursorrules, or any AI config — Markr opens automatically, text editor closes. Markr is the editor.
✦ Agent Watch — Claude Code edits CLAUDE.md → preview updates instantly without saving → ⬤ Updated badge + token delta
✦ Click the Markr icon in the Activity Bar — AI configs pinned at top, workspace files in a nested folder tree, instant search
✦ Hover any table → "Copy table" → paste into Slack, Google Chat, or Docs as a real formatted table
✦ Hover any Mermaid diagram → 🖼 Copy image → paste as a 2× retina PNG anywhere — Figma, Notion, Confluence, Slack
✦ Copy markdown from Claude or ChatGPT → Preview Clipboard → edit in split pane → Mermaid renders live → save as .md
✦ Type in the Notebooks panel to filter all workspace .md files instantly
Screenshots
Dark theme · Live Table of Contents · Workspace file browser · Word count & reading time
✦ Notion White theme ✦ Split edit mode — editor + live preview side by side
✦ Mermaid diagrams — render, expand fullscreen, copy as PNG ✦ Syntax highlighting — 190+ languages
✦ GitHub alerts — NOTE, WARNING, TIP, CAUTION ✦ Collapsible TOC panel with scroll spy
Why Markr?
|
Built-in VS Code Preview |
Markr |
| AI configs open in Markr |
✗ |
✅ CLAUDE.md, .cursorrules open only in Markr — no text editor |
| Agent Watch (real-time) |
✗ |
✅ Preview refreshes while agent edits — no save needed |
| Live + token delta badge |
✗ |
✅ See exactly what changed and how many tokens it cost |
| Activity Bar panel |
✗ |
✅ Browse AI configs + folder tree without opening a file |
| New AI config wizard |
✗ |
✅ CLAUDE.md, .cursorrules & more with starter templates |
| GitHub-accurate styling |
Partial |
✅ Pixel-perfect |
| Live Table of Contents |
✗ |
✅ Collapsible, scroll spy |
| Multi-tab navigation |
✗ |
✅ Open multiple files |
| Workspace file browser |
✗ |
✅ Nested folder tree, grouped |
| Mermaid diagrams |
✗ |
✅ Flowcharts, Gantt, sequence & more |
| Copy diagram / table / code as PNG |
✗ |
✅ Hover → 📷 Image — paste into Figma, Slack, anywhere |
| Rich copy (Cmd+C) |
✗ |
✅ Pastes formatted content into Slack, Docs, Notion |
| Copy table as formatted HTML |
✗ |
✅ Hover → Copy table — Slack renders it as a real table |
| Paste & preview markdown |
✗ |
✅ Paste any markdown, edit live, save as file |
| File search |
✗ |
✅ Instant fuzzy search across all workspace files |
| Syntax highlighting |
Basic |
✅ 190+ languages |
| Copy code buttons |
✗ |
✅ Hover to reveal |
| Word count + reading time |
✗ |
✅ Always visible |
| Token counter (model-aware) |
✗ |
✅ Claude, GPT-4, GPT-4o, DeepSeek, Kimi, Llama 3, Gemini, Mistral |
| Token section breakdown |
✗ |
✅ Click to see which section costs the most — jump to it |
| Export to HTML / PDF |
✗ |
✅ One click |
| Themes |
VS Code only |
✅ Light, Dark, Notion, Linear |
| Focus / reading mode |
✗ |
✅ Distraction-free |
| Split edit mode |
✗ |
✅ Preview + editor side by side |
| AI config file support |
✗ |
✅ CLAUDE.md, .cursorrules, Copilot, Windsurf & more |
Features
🔀 Context Bridge — Switch AI tools without losing context (NEW in 5.0 · expanded in 6.0, beta)
The Context Bridge sidebar reads the session transcripts your AI coding tools already write to disk — Claude Code, Cursor, Augment, Codex, Aider, Cline, Roo Code, Windsurf, and Gemini CLI — and shows them all in one place: which project, which task, how many tokens, and which are live right now. A tool-health row confirms what Markr can read (✓ / — / ⚙). No setup, no daemon, nothing sent anywhere — it only reads what's already on your machine.
When you switch tools, pick a session and hand it off. Markr generates a Conditional Residual Handoff (CRH) — a handoff format built on two proven foundations (Slepian–Wolf conditional source coding + the I-PASS clinical handoff protocol). Instead of dumping the chat, it transmits only what the next tool can't re-derive by reading your repo:
- 🧠 Decision log — the decisions made and why (the reasoning behind the current code)
- 🛑 Dead-ends — approaches already tried and abandoned, so the next agent doesn't repeat them
- 📌 Constraints — the hard requirements you stated
- 🔀 In-flight diff — your uncommitted
git changes (what reading committed code can't show)
- 📁 Pointers, not payload — file lists the next tool reads itself, so the handoff stays lean
- ✅ Receiver synthesis — the paste-ready prompt makes the next tool restate the task before it acts
Copy it to your clipboard, paste into Claude Code / Cursor / Augment / Codex / ChatGPT, and keep going — no context lost, no browser tab-hopping.
Beta: decision/dead-end extraction is heuristic and improving. Feedback welcome.
🧠 Cross-Session Memory (NEW in 6.0, beta)
The decisions, dead-ends, and constraints Markr mines don't vanish when a session ends — they're remembered per project. A Memory tab in the Context Bridge groups them by kind with occurrence counts, a dismiss button, and search across all your projects. New handoffs are seeded from this memory, so continuity survives across sessions, not just within one. Stored locally; secrets are redacted before anything is written to disk.
✍️ Configs That Write Themselves (NEW in 6.0, beta)
When you tell your agents the same thing across sessions ("always use pnpm", "never touch the public API"), Markr clusters those repeats into an evidence-backed config suggestion and offers to add it — one click appends the rule under a ## Learned rules (Markr) heading in your CLAUDE.md / AGENTS.md / .cursorrules (undoable; never edited without your Accept). It also flags stale config sections whose keywords haven't appeared in recent sessions (guardrail sections like Security are always protected). Optional: rewrite rules with your own LLM (markr.aiEnhance, off by default).
⚡ Ambient Continuity (NEW in 6.0, beta)
Markr watches active sessions and warns when one nears its context limit so you can hand off before you hit the wall. Handoffs can be delivered straight into the next tool's own convention — a delimited block in CLAUDE.local.md, a .cursor/rules/*.mdc rule, or HANDOFF.md — with a one-time per-workspace confirmation, and marked "consumed" once a new session picks them up. Every handoff is kept in a History tab (copy again / view).
📊 AI Scoreboard (NEW in 6.0, beta)
A dashboard no other tool can build, because nothing else reads all your AI tools at once. Sessions and tokens per tool per week, dead-end rate, median session length, and most-worked projects — all computed locally, themeable (Markr Dark / Light / Notion / Linear), with an Export that opens a redacted report in Markr.
❤️ AI Config Health — score your agent setup
Click the pulse icon in the Markr sidebar to score your AI config workspace out of 100. Markr scans your CLAUDE.md, .cursorrules, agent.md and friends and surfaces findings ranked by severity:
- Critical / High — secrets committed in config, missing verification commands
- Medium — no testing guidance, no "what to run before finishing" bar
- Score + token total — how heavy your AI context docs are, at a glance
- Prioritized fixes — what to address first, with concrete recommendations
📦 Copy AI Workspace Bundle
One click concatenates every AI config file in your workspace — CLAUDE.md, .cursorrules, agent.md, skill.md, and more — into a single, readiness-scored Markdown bundle on your clipboard. Paste it into any AI to onboard it to your repo's conventions instantly. (Capped at the first 20 files to stay usable.)
🧪 AI Config Lab — test your AI config like a notebook (NEW in 6.1, beta)
You write AGENTS.md, CLAUDE.md, .cursorrules, and Copilot instructions blind — there's no way to check whether the rules actually steer a model the way you intended. AI Config Lab lets you test them directly inside Markr.
Open the Lab on any AI config file (🧪 in the editor title bar, or Markr: Open AI Config Lab) and create lightweight test cases: a name, a user prompt, an expected-behavior note, and optional must-include / must-not-include checks. Click Run — Markr uses the config file as the model's instruction and your prompt as the user message, streams the response, and shows pass/fail from the deterministic include/exclude checks.
Example tests: "Uses project test command" (prompt: "I changed sessionReader.ts — what should I run?" → must include npm test), "Avoids unsafe actions", "Respects the package manager".
- Add a provider key right in the Lab — click 🔑 API key to add Anthropic / OpenAI / Google; it's stored in VS Code SecretStorage, never written to your repo. Nothing is sent until you click Run.
- Secrets are redacted from the config and prompt before anything leaves the machine; raw
.env values are never sent.
- Tests are stored locally in
.markr/config-tests.json. Your config files are never modified.
🗺 AI Agent Map — see how your multi-agent repo is wired (NEW in 6.5)
Multi-agent repos (a .claude/ folder with agents/, capabilities.yml, schemas/) are a typed system spread across many files — easy to break in ways no single file shows. AI Agent Map (Markr: Open AI Agent Map, or the Workbench button) turns it into an interactive map.
- A pan/zoom wiring canvas — Capabilities → Agents → Schemas drawn as nodes with connectors (capability→agent colored by tier; agent→schema as the output contract). Scroll to zoom, drag to pan, fit/reset; hover a node to highlight its connections; click a node to open that file.
- Works for any layout — columns are dynamic, so a repo with only
agents/ (no capabilities.yml or schemas/) still renders a clean single-column map.
- An agent roster that leads with each agent's plain-English description (model + tier) — orient yourself in a new repo in seconds.
- Consistency check — a "Needs attention" list of real contract breaks (a capability pointing at a missing agent/schema, frontmatter gaps), while a disabled capability is shown as "planned," not an error.
- Themeable (Markr Dark / Light / Notion / Linear). Read-only — it never modifies your project.
🧰 Workbench launcher
A compact panel pinned to the top of the Markr sidebar with one-click buttons for the agent tooling — Agent Map · Config Lab · Config Health — so the workbench is always one click away.
🤖 Markr is the Editor for AI Config Files
Opening CLAUDE.md, .cursorrules, agent.md, skill.md, copilot-instructions.md, .windsurfrules, or any AI config file from anywhere in VS Code (Explorer double-click, Ctrl+P, terminal, git checkout) now opens it exclusively in Markr. The VS Code text editor tab closes automatically — Markr's split-edit view becomes the full editor for these files.
- Left pane — fully editable textarea with format toolbar, undo/redo, token counter
- Right pane — live rendered preview that updates as you type
- No text editor clutter — your workspace stays clean
Click Source in the Markr toolbar at any time to open the raw text editor if you need it.
⚡ Agent Watch — Real-Time Live Preview
Markr watches your files directly on the filesystem using fs.watch. When Claude Code, Codex, Cursor, or any AI agent edits your CLAUDE.md without saving, the preview updates instantly.
- No save required — Markr catches every keystroke the agent makes
- ⬤ Live badge — always visible in the toolbar, pulses green when an edit is detected
- ⬤ Updated — badge label changes and glows for 3 seconds on each agent edit
- +N tok / −N tok — token delta badge shows the exact context cost of the agent's change for 8 seconds
- Block-level diff — new sections added by the agent flash green before fading to normal — you see exactly what was written
🗂 Activity Bar Panel — Always There
Markr lives in the VS Code / Cursor sidebar as a dedicated panel — no file needs to be open first. The panel shows two sections: AI Configs (auto-detected, with tool labels) and Workspace (all other .md files). Click any entry to open it. The + button launches the New AI Config wizard.
🔍 File Search in Notebooks Panel
A search box sits below the Notebooks section header in the sidebar. Type to filter all workspace Markdown files instantly — matches against both filename and path. Shows a flat list while filtering for fast scanning. Press × or Escape to clear.
📊 Copy Tables as Rich Text or PNG Image
Hover any table to reveal two buttons:
| Button |
What it copies |
Best for |
| Copy table |
Rich HTML + tab-separated text |
Slack, Google Chat, Google Docs, Notion — pastes as a real formatted table |
| 📷 Image |
2× retina PNG with theme colours |
Figma, Confluence, mobile apps, anywhere HTML paste doesn't work |
The rich copy (Cmd+C) also works on any selection — select a table, a list, a code block, bold text, a heading — and paste it into any chat or doc app. The formatting is preserved automatically. A brief toast confirms when formatted content was copied.
🔀 Mermaid Diagrams — Render, Expand, Copy as PNG
Drop a mermaid block in your Markdown and Markr renders it live. Flowcharts, sequence diagrams, Gantt charts, class diagrams, and pie charts — all supported.
Hover over any diagram to reveal two buttons:
- 🖼 Copy image — renders the diagram to a high-resolution PNG (2× retina) and copies it directly to your clipboard. Paste straight into Notion, Slack, Google Docs, email, or any design tool. The PNG background matches your current Markr theme.
- ⤢ Expand — opens the diagram fullscreen with zoom in/out and Ctrl+scroll support. The Copy image button is also available inside the fullscreen modal.
If clipboard write is blocked by your OS permissions, Markr automatically downloads diagram.png instead.
💻 Copy Code Blocks as PNG Image
Every code block already has a Copy button (plain text). Now there's also a 📷 Image button that renders the code block to a clean PNG — monospaced font, your current theme background, 2× retina resolution. Paste code screenshots into design tools, PR descriptions, or slide decks.
📋 Paste & Preview Markdown
Got markdown from Claude, ChatGPT, a PR comment, or any AI tool? Click Preview Clipboard in the toolbar (or press Cmd/Ctrl+Shift+P) and Markr opens a split edit panel:
- Left — an editable textarea pre-filled with your clipboard content. Paste more, edit, rewrite.
- Right — the live rendered preview, updating as you type. Mermaid diagrams render live.
- Save as .md — pick a location and save the content as a real file in your workspace.
- Close — dismisses the panel and returns you to whatever file you had open, with no changes made to it.
The clipboard panel is completely isolated — it never modifies your open files.
✦ AI Config Editor — First Class
Markr is built for AI developers. The Activity Bar panel automatically separates your AI config files from regular docs so you can find and edit them instantly.
Supported out of the box:
| File |
Tool |
CLAUDE.md, claude.local.md |
Claude Code |
.cursorrules, cursor.md |
Cursor |
.github/copilot-instructions.md |
GitHub Copilot |
.windsurfrules, windsurf.md |
Windsurf |
agent.md, agents.md, skill.md |
Claude Agents / Skills |
system-prompt.md, prompt.md |
Generic AI prompts |
aider.md |
Aider |
codex.md |
OpenAI Codex |
New AI Config wizard — click + in the Markr panel and pick a template. Markr creates the file (with a useful starter template) and opens it in split edit mode immediately. No more blank files, no more Googling the format.
All AI config files open automatically in split edit mode — preview on the right, fully-featured editor on the left. Live token count in the toolbar tells you exactly how much context window you're using.
📄 GitHub-Style Rendering
Headings, tables, blockquotes, task lists, strikethrough, footnotes, inline code, fenced code blocks — all rendered exactly as GitHub does. Automatically switches between light and dark with your VS Code theme.
➗ Math (KaTeX) (NEW in 6.3)
Inline $…$ and display $$…$$ LaTeX renders as real math via KaTeX. Fully offline — the fonts ship with the extension, nothing is fetched. $ in prose ("$5 and $10") and $ inside code spans are left alone.
🔎 Find in Preview (NEW in 6.4)
Press Cmd/Ctrl+F in the preview to search the rendered document — highlights all matches, Enter / Shift+Enter (or ↑/↓) to step through, live match count, Esc to close. Works in both read and split-edit preview.
📑 Live Table of Contents
Auto-generated from your headings the moment you open the file. Scroll spy highlights the active section in real time. Click any item to jump there. Collapse it with one button.
📂 Workspace File Browser
Browse and switch between all .md files in your workspace without leaving the preview. Files are grouped by folder, AI config files are pinned at the top, and the browser handles large repos (500+ files) without blocking.
🗃 Multi-Tab Navigation
Open multiple Markdown files in tabs — just like your editor. Switching between previously-opened files is instant with no round-trip to the extension host.
🎨 Syntax Highlighting — 190+ Languages
TypeScript, Python, Go, Rust, Java, SQL, YAML, Bash, Dockerfile — every language highlighted with GitHub's exact color tokens, in both light and dark themes.
Move your cursor in the editor — the preview scrolls to match. Always in context, never lost.
◈ Markr · filename.md 3 min read · 580 words [Source] [Preview Clipboard] [MD] [HTML] [Print] [PDF] [≡] [⊡]
| Button |
What it does |
Source |
Jump to VS Code's built-in editor for this file |
Preview Clipboard |
Open a paste & edit panel — pre-fills with clipboard content, live preview on the right |
MD |
Copy raw Markdown to clipboard |
HTML |
Copy rendered HTML to clipboard |
Print |
Print-ready layout |
PDF |
Export as PDF using Chrome/Edge |
≡ |
Toggle TOC sidebar |
⊡ |
Focus / reading mode |
🎯 Focus Mode
One click hides the sidebar, widens content to 720 px, bumps the font size. Pure reading flow.
🎨 Themes
Switch between four themes from the toolbar — Markr Light, Markr Dark, Notion White, Linear Dark. Your choice is remembered across sessions.
Getting Started
VS Code
- Open the Extensions panel (
Ctrl+Shift+X / Cmd+Shift+X)
- Search for Markr
- Click Install
Cursor / VSCodium / Open VSX
Same search — pulls from Open VSX Registry.
First use — three ways to open Markr
- Activity Bar — click the Markr icon in the sidebar. Browse all Markdown and AI config files. Click any entry to open it.
- Keyboard shortcut —
Cmd+Shift+M (macOS) / Ctrl+Shift+M (Windows/Linux). Works with or without a .md file open. If no Markdown file is active it shows a workspace Quick Pick.
- Editor title bar — the preview icon appears when a
.md file is open.
Keyboard Shortcuts
| Action |
Mac |
Windows / Linux |
| Open Markr Preview |
Cmd+Shift+M |
Ctrl+Shift+M |
| Paste Markdown from clipboard |
Cmd+Shift+P |
Ctrl+Shift+P |
Also available via:
- The Markr icon in the Activity Bar (no file needs to be open)
- The preview icon in the editor title bar when a
.md file is open
- Right-click any
.md file in Explorer → Open Markr Preview
- Command Palette → Markr: New AI Config File to create a starter config
Settings
| Setting |
Default |
Description |
markr.scrollSync |
true |
Sync preview scroll with editor cursor |
markr.showTOC |
true |
Show TOC sidebar when preview opens |
markr.maxWorkspaceFiles |
500 |
Max .md files shown in the workspace browser |
Requirements
- VS Code
1.80.0 or higher
- Internet connection for Mermaid rendering (all other features work fully offline)
- Chrome, Edge, or Chromium for direct PDF export (falls back to browser print otherwise)
Contributing
Markr is open source and contributions are welcome.
git clone https://github.com/Apptware-Product-Labs/markr.git
cd markr
npm install
npm run build # development build
npm run watch # rebuild on change
npm run package # package .vsix
- Fork the repo and create a branch:
git checkout -b feat/your-feature
- Make your changes and run
npm run build to verify
- Open a pull request with a clear description of what you changed and why
For bugs or feature requests → open an issue.
Roadmap
- [ ] Custom theme editor
- [ ] Table of Contents depth control
- [ ] Markdown linting indicators
- [ ] Image optimisation on paste
License
Free for personal use. Commercial use (organisations with 10+ users, product embedding, or white-labelling) requires a commercial licence.
© 2026 Apptware Labs Pvt Ltd — All Rights Reserved. See LICENSE for full terms.
For commercial licensing: sumit.patil@apptware.com