AI writes Markdown
Agents read, write and review plain .md natively. Files in the repo are where they are strongest, and where your engineers already review changes.
Your specs, PRDs and runbooks already live as .md in the repo,
because that is where AI agents work best. Notula gives them back everything
you left behind: comments, replies, collaboration and a document tree anyone
can use.
Your tools did not.
Agents read, write and review plain .md natively. Files in the repo are where they are strongest, and where your engineers already review changes.
Specs, PRDs, RFCs and runbooks left the wiki and landed next to the code. That was the right call, and nobody is moving them back.
No comments, no threads, no way to browse, no way to edit a paragraph without learning a code editor, a diff and a rebase first.
on files that never leave your repository.
Speaks git and nothing else, so it works with what you have
Open a repository with thousands of source files and get a clean tree of Markdown. Folders with no documents in them never appear.
How the workspace is built
WYSIWYG, not live preview. No hashes, no asterisks, no table pipes, not even on the line your cursor is on. The file on disk stays ordinary Markdown.
See what it writes back
Select a passage, leave a comment, reply, resolve. Name somebody in it and they get a notification with a link straight to the sentence.
What that does to the file
Every version of the document is there to read and to bring back. Nobody is ever shown a rebase, a stash, or the words detached HEAD.
What it will never doA conversation is committed next to the document it is about, so it arrives with the clone and outlives every account.
Follow a link and the document opens in the same pane. Back and forward return you to exactly where you were, scroll position included.
Notula writes back only what changed. Across 6,000 real documents, 96.4% of blocks survive an edit untouched.
Where the project actually isThe one your engineers already push to. Notula reads it with git ls-files, so a repository with thousands of source files opens instantly and .gitignore is respected for free.
Headings, tables, links and images, with no syntax on screen. What lands on disk is ordinary Markdown that reviews in a normal pull request.
Notula fetches in the background and tells you what arrived. Publishing is one sentence about what changed, and if two people edited the same paragraph you pick between two versions, not between conflict markers.
Notula is a guest in someone else's worktree and behaves like one.
Every git command carries an explicit pathspec. Notula never stages the whole worktree.
Open a repository that has someone else's uncommitted changes in it. Notula never stashes and never rewrites history.
Notula commits to the branch you are on and never creates or switches one. If it is protected, it says so before you edit.
Early, but running. This is the honest state of each part today.
The decisions that matter are written down before the code, using GitHub Spec Kit. The source is private while the app is this young. The downloads are not, and every build carries the release notes for what changed.
Free, and free of accounts. macOS on Apple Silicon and Intel, Windows on x64 and arm64, both updating themselves from then on. Linux follows.
Apple Silicon. On an Intel Mac, or on Windows. 64-bit. On Windows on Arm, or on macOS.
Neither is signed yet. On Windows, SmartScreen stops the installer once: choose More info, then Run anyway. On macOS the download is held in quarantine, so drag it to Applications and clear that once:
xattr -dr com.apple.quarantine /Applications/Notula.app