Free and open source · Windows, macOS, Linux

Read what your AI writes. Write what it reads.

PerMark opens any .md file as a clean page you can read, edit and keep notes beside. Open a project folder instead, and it becomes the IDE where you follow, review and steer what your AI agents write.

Windows: Microsoft Store or GitHub Releases. macOS and Linux: GitHub Releases. Works with any AI tool, or with none. No account.

  • Got a .md file?

    Open it like a document: tables, diagrams and math on a clean page, and notes that save themselves.

    See how
  • Build with AI agents?

    Direct them from one place: watch what they change, see what you haven't read, and steer them with comments.

    See how
A family trip plan, Lisbon in four days, read as a clean page: a tip, an itinerary table and a checklist, with the folder's files on the left and the document outline on the right.
PerMark in IDE mode: a file explorer with git badges on the left, a rendered Markdown document with its description, tag chips and a metadata card, and a paragraph that just changed on disk (highlighted, with a marker for the removed text) in the middle, and the Live changes and Since last visit panels on the right.

Got a .md file?

A .md file is a document. Open it like one.

Your AI, a colleague or a download gives you a .md file. PerMark shows it the way it was meant to look, lets you fix it, and never writes it until you save.

  • It reads like a page. Tables, checklists, highlighted code, Mermaid diagrams, math, alerts and footnotes. Light and dark themes, three reading widths and a focus mode
  • Links work. Links between documents open in the app, with back and forward, and images show where they belong
  • An outline for long documents. The headings sit in a panel beside the page: the section you are reading is marked, and a click jumps to any other
  • Visual or Source. Edit like a word processor, with a toolbar and a / block menu, or in the Markdown itself. One click switches, keeping your place and your unsaved work
  • Only your changes are saved. Every other byte of the file stays as it was. If something else changes the file while you edit, you choose Reload theirs or Keep mine
  • Make it your .md app. PerMark is listed under Open with for Markdown files and never takes over: whether it becomes your app for .md files is up to you

Notes

Notes that save themselves

Press Ctrl+Shift+N in PerMark and type. There is no name to choose, no folder to pick and no save prompt.

  • Type and close. A note saves as you type, and closing never asks. Each one is a plain .md file in your Documents folder
  • Pins. Pin the notes you keep for months, and open them with Ctrl+1 to 9
  • Earlier versions, and Undo. Show earlier versions brings back an earlier text, and a deleted note goes to the system trash, with Undo
  • Copy a prompt to your AI. Copy puts the exact Markdown on the clipboard, ready to paste into any AI chat
  • Any file, too. A Markdown or text file you open from anywhere is listed beside your notes, opens in Read, and is written only when you press Ctrl+S
  • Ordinary files. Edit a note with any other tool and PerMark picks the change up
The Notes window: pinned notes (a to-do list, useful numbers and a prompt drafted for an AI agent, shared with agents) above notes grouped by date and a loose file under Files, with the prompt open in the Visual editor.

Build with AI agents?

The IDE for directing your agents.

Your agents write the docs. You still have to read them. PerMark doesn't run your agent. It's where you watch, review and steer what it writes.

  1. Brief

    • Draft in Notes, and Copy the exact Markdown into any AI chat
    • Share with agents lets your connected agent read that one note, and no other
    • Move to project turns a note into a file of your project
  2. Watch

    • Changed passages glow as they are written, and removed ones leave a marker
    • A live feed lists every file touched, across git worktrees too
    • Follow mode opens the document being written, and a reload keeps your scroll position
  3. Review

    • Unread dots mark what changed since you last read it, and Alt+U jumps to the next
    • Git badges and since your last visit work even after the agent has committed
    • Search everywhere finds the exact section, and code references open at the line
  4. Steer

    • Comment on a passage, and your agent lists your open comments and resolves them with a reply
    • Your agent knows the document, section and words you mean, through the optional agent connection
    • Copy reference puts the path and a quote into any AI chat

Follow mode

Follow your agents live

Leave PerMark open next to your terminal. As an agent writes, you see exactly where.

  • Changed blocks glow softly, then fade
  • Removed blocks leave a marker you can expand
  • One feed entry per file, bursts grouped, git checkout storms collapsed
  • Follow mode opens the doc being written, and never jumps while you're selecting
  • Jump between changes with F7 and Shift+F7

Agent connection

Your agent sees what you see

Say "rewrite this paragraph" or "go through my comments", and your agent knows which document, which section and which words you mean. It works with any tool that speaks MCP.

  • Where you are. The open document, the section on screen and your selection, plus the documents that changed since you read them
  • Comments. Select a passage, press C and write. Your agent lists the open comments and marks them done with a short reply
  • "Where is X described?" Your agent searches the same section index as you, and can open a place for you without taking your focus
  • Yours to switch on. Off by default, per project, local only, and visible in the status bar while it is on. An agent never edits through PerMark
A document with comment bars in the margin, and the Comments tab listing the open comments by document, with one done comment showing the agent's reply.

Tool-agnostic

Works with whatever writes your Markdown

PerMark only relies on your filesystem and git, so there is no plugin to install and no account to connect.

  • Claude Code
  • opencode
  • Cursor
  • Aider
  • Codex
  • Gemini CLI
  • or no AI at all

Why Markdown

Markdown was made for readers. So is PerMark.

Markdown was designed in 2004 so that plain text reads well as it is. Twenty years later, AI adopted it for the same reason: it is structured enough for a machine, and clear enough for a person. A Markdown file can hold most of what a document needs (headings, tables, checklists, diagrams, math) as plain text that any app, and any AI, can open, and that stays yours. PerMark is built to do it justice.

It is also our opinion that many documents that live in Word or PDF today would be better as Markdown: smaller, comparable line by line in git, readable by any AI, and never locked inside one app.

Privacy

Yours, and private

  • Plain files. Your documents stay ordinary files in folders you can see. PerMark keeps its own state in your user profile, unless you ask for a shared .permark/ folder
  • No account, no tracking. PerMark collects nothing about you or your documents, and has no sign-in
  • The agent connection is off until you turn it on. It is per project, and it only talks to programs on your computer. Notes stay private unless you share one
  • Free and open source. Licensed under MIT or Apache-2.0, at your option
  • Windows, macOS and Linux. In English, Português (Brasil), Español, Deutsch and 简体中文
  • Read the details. What the app does with the network, and what it does not, is in the privacy policy

Install

Up and running in a minute

Download

On Windows, the Microsoft Store keeps PerMark up to date. Installers for Windows, macOS and Linux are on GitHub, and they update themselves: when a new version is out, you get a one-click restart.

Get it from the Microsoft Store Installers: latest release

Then open a file or a folder

permark                # welcome screen, recent projects
permark .              # this folder, IDE mode
permark docs/plan.md   # one file, simple mode

Or drag a folder or a .md file onto the window.

Build from source

Requires Rust, Node.js 20+ and the Tauri prerequisites.

git clone https://github.com/EdelmarSchneider/permark.git
cd permark
npm install
npm run tauri build

A Tauri 2 app: a Rust core with a Svelte UI in the system webview. Small installer, low memory.

Keyboard shortcuts

Keyboard shortcuts
ActionShortcut
Reading and navigating
Search everywhereCtrl+T
Quick open fileCtrl+P
CommandsCtrl+Shift+P
Next unread documentAlt+U
Search all docs, by sectionCtrl+Shift+F
Find in pageCtrl+F
Show the Explorer / the Tags viewCtrl+Shift+X / Ctrl+Shift+T
Show the Outline (again to go back)Ctrl+Alt+O
Cycle the reading widthCtrl+Alt+W
Toggle left / right panelCtrl+B / Ctrl+Alt+B
Next / previous changeF7 / Shift+F7
Follow modeCtrl+Shift+L
Back / forwardAlt+← / Alt+→
Copy reference (or selection with reference)Ctrl+Alt+C
Edit tags and descriptionT
Leave a comment on the selected passageC
Zoom in / out / resetCtrl+= / Ctrl+- / Ctrl+0
Editing
Start editingE or Ctrl+E
Done, back to readingCtrl+E or Esc
Switch between Visual and SourceCtrl+Alt+E
SaveCtrl+S
New fileCtrl+N
Bold / italic / strikethroughCtrl+B / Ctrl+I / Ctrl+Shift+X
Link / inline codeCtrl+K / Ctrl+`
Headings 1 to 4 / paragraph (Visual)Ctrl+Alt+1…4 / Ctrl+Alt+0
Block menu (Visual)/ in an empty paragraph
Notes
New note (from any PerMark window)Ctrl+Shift+N
Show the Notes windowCtrl+Shift+D
Copy the note's text (in a project: the open document)Ctrl+Shift+C
Open a pinned noteCtrl+1…9
Open a file (listed under Files)Ctrl+Shift+O
Move the note into a projectCtrl+Shift+S
Next / previous noteCtrl+Tab / Ctrl+Shift+Tab
Rename the note / delete itF2 / Del
In the Explorer
RenameF2
Delete (asks first)Del
Cut / paste to moveCtrl+X / Ctrl+V
Select several filesCtrl+click / Shift+click
Undo the last file operationCtrl+Z

Features

Everything in PerMark, in detail

  • Reading that feels like a book

    GitHub-flavored Markdown with Mermaid, KaTeX math, alerts, footnotes and highlighted code. Frontmatter becomes a clean metadata card. Light and dark themes, zoom, three reading widths and a focus mode.

  • Notes that save themselves

    Open PerMark, type, close. Notes are plain .md files that you can pin, copy as exact Markdown, move into a project or share with your agent. Files you open from anywhere are listed beside them and written only when you save.

  • Navigate like a wiki

    Open a folder for IDE mode or a single file for a distraction-free reader. Relative links and images resolve in the app, with back and forward. Code references like src/main.rs:42 open the file at the line, in PerMark or your editor. An outline follows you through long documents, and an Explorer filter keeps a code repository down to its docs.

  • Follow your agents live

    Docs reload without losing your scroll position. Changed blocks glow, removed blocks leave a marker, and a live feed shows every file being touched, across git worktrees too. Unread dots mark every document that changed since you read it.

  • Find anything, to the section

    Search everywhere (Ctrl+T) finds files, sections, tags and commands in one box. Section-level full-text search shows file › heading › snippet and jumps to the exact spot. Accent- and case-insensitive, with light stemming, updated as files change.

  • Tags and descriptions

    Give any file a one-line description and tags, read from frontmatter or added in the app without touching your files. Browse by tag, filter search with tag:needs-review, and see descriptions in the tree and in results.

  • Edit without fear

    A visual editor and a source editor that rewrite only the blocks you changed. If an agent changes the file while you edit, you choose: reload theirs or keep mine. Images you paste land in assets/.

  • Move files, keep your links

    Rename, move and delete from the Explorer. PerMark updates the links and images that point to a file, shows you the change first, and puts everything back with one Ctrl+Z.

  • Git-aware

    Badges for modified, added and untracked files. Review changes since your last visit or since HEAD, even when the agent already committed. Clear banners for rebases and merges.

  • Close the loop with your AI

    Turn on the agent connection and your coding agent knows which section you are reading and what you selected. Leave comments on passages for it to pick up, or copy a reference like @docs/plan.md into any AI chat.

  • Open with PerMark

    Listed under Open with for Markdown files on Windows, macOS and Linux. PerMark never sets itself as your default app: that choice stays yours.

  • Your language

    English, Português (Brasil), Español, Deutsch and 简体中文. PerMark follows your system's language, and a setting switches it at once, with no restart.

Zero footprint by default. State lives in your user profile. Opt in to a shared .permark/ folder only if you want settings and tags to travel with the project.

Roadmap

What's next

  1. v0.2 Released
    • Edit in a visual or a source editor that rewrites only the blocks you changed, and shares a file safely with agents
    • Tags and descriptions, an Explorer filter, three reading widths and an outline for long documents
    • File operations that update your links, with undo
  2. v0.2.1 Released
    • Your language: Português (Brasil), Español and Deutsch
    • "Open with PerMark" in the Windows file manager, and one Read | Visual | Source switch
    • A window that remembers its place, and an Explorer for workspaces of several repositories
  3. v0.3 Released
    • Search everywhere (Ctrl+T): files, sections, tags and commands in one box
    • Unread markers, clickable code references and "Open with PerMark" on macOS and Linux
  4. v0.4 Released
    • Your agent sees what you see: an optional, local connection that tells any coding agent which section you are reading and what you selected
    • Comments on passages that your agent picks up, and "where is X described?" answered by PerMark
  5. v0.5 Released
    • Notes: open, type, close. Notes save themselves, sticky notes stay for months, and loose Markdown files from anywhere open in one place
    • v0.5.2: pictures, audio and video open in the pane, and code blocks are highlighted for about 190 languages
    • v0.5.6: TrailMark is now PerMark: a new name, the same app, and nothing lost on the way
    • v0.5.5: tags with colors and icons, tags as your agent's index, a folder switcher and the navigation trail
    • v0.5.4: the interface in Italiano (Italian), soft light tones and the Git letters explained
    • v0.5.3: the interface in 简体中文 (Simplified Chinese), and search that finds Chinese and Japanese words
  6. v0.6
    • Semantic search, local, offline and multilingual: ask for "retry policy" and find the section that describes it, whatever words it uses
  7. Later
    • Ideas being explored, with no promises: spec-driven workflows, a rendered diff against your last read, and backlinks

Full roadmap on GitHub →

Open a .md file, or point it at a folder.