A Markdown editor
with Git built in.

Your notes live in a repo. Your editor should know that — without turning writing into software engineering.

The two-window problem

If your Markdown lives in Git today, you're probably running two tools: a nice editor that has never heard of version control, and a terminal (or a code editor) for the status → diff → add → commit → push dance. Beautiful editors treat Git as someone else's problem; Git tools treat your prose like code.

bare is the single window: a calm, native Mac editor where the Git loop — changes, diff, commit, push, pull — sits quietly in the margin of your writing.

bare's Changes pane on macOS: changed Markdown files with tick boxes, a unified diff, a commit message box, and Commit, Push and Pull buttons.

The whole loop,
in the margin.

Save a file and it appears in the Changes pane. Read the unified diff — exactly what changed, line by line. Tick the files that belong together, write a message, and commit. Push and Pull are one click each, with ahead/behind counts in the header so you always know where you stand.

  • Changes appear as you save — bare watches the folder, no refresh button.
  • Every commit is deliberate: your files, your message, your click.
  • Pull is fast-forward-only — bare never merges on your behalf.

What bare will never do to your repo

Small promises, kept forever. bare:

  • Never runs a blanket git add -A — you tick exactly the files each commit includes.
  • Never force-pushes and never rewrites history.
  • Never auto-commits, auto-pulls, or auto-merges — nothing happens without you.
  • Stops instead of guessing: if a pull isn't a fast-forward, bare tells you plainly and leaves the resolution to the tools you already trust.

Your Git setup, untouched

bare doesn't bundle its own Git — it drives the git already on your Mac. That one decision means everything you've configured keeps working, unchanged: SSH keys, credential helpers, commit hooks, signing, remotes — GitHub, GitLab, Codeberg, self-hosted, anything. There's no separate sign-in, no OAuth dance, and no second copy of your credentials. If it works in your terminal, it works in bare.

Three steps, no terminal

  1. 1

    Edit and save

    Open any Git-backed folder. Write in rendered view or source (⌘E). Saved changes appear in the Changes pane by themselves.

  2. 2

    Read the diff

    A unified diff per file shows exactly what changed — yours, or what an agent or collaborator left behind.

  3. 3

    Commit and sync

    Tick the files that belong together, write the message, Commit. Then Push — or Pull, fast-forward-only, when the remote has news.

Questions people ask

Do I need to set anything up to use Git in bare?

No. If git works in your terminal, bare works. Open a Git-backed folder and the Changes pane is live — no sign-in, no tokens, no plugin, no configuration.

What happens when a pull isn't a fast-forward?

bare stops and says so, plainly. It never merges or rebases on your behalf. Resolve the divergence however you usually do — terminal, VS Code, a Git client — then carry on in bare.

Can I keep using the terminal and other Git tools alongside bare?

Yes. bare doesn't own the repository — it's plain Git underneath. Commit in bare, rebase in the terminal, browse history in your Git client; nothing conflicts.

Does bare work with GitHub, GitLab and self-hosted remotes?

Yes — anything your git can reach, bare can push to and pull from, because it runs your own git with your own SSH keys and credential helpers.

Free 14-day trial

Try it on a real repo.

Download free, open a Git-backed folder of Markdown, and make your first commit without the terminal.

Download free for macOS

Universal (Apple Silicon & Intel) · macOS 12+ · v1 pricing