Local-first knowledge sharing and management, safe for many writers.
Pb Notes is a place to think out loud and keep what you learn: daily journal pages, pages that exist as soon as you link to them ([[Mira]], #Mira), and under every page, everything that links back to it.
Warning
Pb Notes is in early development, and the format of a project folder is not settled. A later version may change it, and may not be able to read a folder written by this one. A folder records which version of the format it holds, so a build that meets a newer one refuses to open it and does not misread it. Do not make it the only home for notes you cannot afford to lose.
- Your notes are plain files in a folder you pick. Point Pb Notes at an empty folder and what you write is kept there. It backs up, syncs and moves like any other folder.
- Safe for many writers. Leave the folder in Dropbox, iCloud or any other sync tool and write from several machines. Each one writes only its own files, so there is never a conflicted copy, and an edit made elsewhere shows up on screen when it arrives.
- Nothing is lost if the app's own data is wiped. The app remembers only which folders you picked. Pick them again and every note is still there.
Text is last-writer-wins per block: if two machines edit the same block before syncing, the later edit is the one kept.
Download from the latest release. Pb Notes is early: for now it's released only as files on GitHub, not through any app store or package repository, and it doesn't update itself. The app is not signed yet, so macOS and Windows each warn about it the first time it opens; the steps below get past that, once.
Download the .dmg, open it and drag Pb Notes to Applications.
The app is not yet signed with an Apple Developer ID, so macOS will not open it the first time. To allow it, once:
- Open Pb Notes. macOS says it could not verify the app. Click Done.
- Open System Settings → Privacy & Security, scroll down to the message about Pb Notes and click Open Anyway.
- Open Pb Notes again and confirm.
If macOS instead says Pb Notes "is damaged and can't be opened", run this in Terminal, then open it again:
xattr -dr com.apple.quarantine "/Applications/Pb Notes.app"Download the installer for your PC:
…-x64-Setup.exefor most PCs, with an Intel or AMD processor.…-arm64-Setup.exefor a PC with an ARM processor, such as a Snapdragon.
Not sure which? Settings → System → About shows it under System type.
Double-click the installer. It installs Pb Notes for your user only, with no admin rights needed, opens it, and adds it to the Start menu and the desktop.
The app is not yet signed, so the first time Windows shows "Windows protected your PC". Click More info, then Run anyway.
To uninstall, go to Settings → Apps → Installed apps, find Pb Notes and choose Uninstall. Your notes stay where they are: they live in the folders you picked, not in the app.
Download the package for your distribution and your PC's processor:
| Distribution | Intel or AMD | ARM |
|---|---|---|
| Debian, Ubuntu, Linux Mint, Pop!_OS | pbnotes_…_amd64.deb |
pbnotes_…_arm64.deb |
| Fedora, RHEL, openSUSE | pbnotes-…x86_64.rpm |
pbnotes-…arm64.rpm |
Not sure which processor? uname -m prints x86_64 for Intel or AMD, and aarch64 for ARM.
Install it from the folder you downloaded it to. On Debian or Ubuntu:
sudo apt install ./pbnotes_*.debOn Fedora or RHEL (on openSUSE, sudo zypper install instead):
sudo dnf install ./pbnotes-*.rpmPb Notes then shows up among your apps. Neither package updates itself yet: to get a new version, download and install it the same way.
To uninstall, run sudo apt remove pbnotes or sudo dnf remove pbnotes. Your notes stay where they are: they live in the folders you picked, not in the app.
The AppImage runs on most distributions without installing anything. Download the one for your processor:
Pb.Notes-…-x64.AppImagefor Intel or AMD.Pb.Notes-…-arm64.AppImagefor ARM.
Allow it to run, then start it, from a terminal in the folder you downloaded it to:
chmod +x Pb.Notes-*.AppImage
./Pb.Notes-*.AppImageOr, in your file manager, open the file's properties, allow it to run as a program, and double-click it.
It doesn't add itself to your app launcher, so your dock may show it with a generic icon, and it doesn't update itself: to get a new version, download the new AppImage. To remove it, delete the file. A tool such as Gear Lever can add it to your launcher, with its icon.
If it says FUSE is missing, install fuse3 (on Debian or Ubuntu, sudo apt install fuse3), or start it with --appimage-extract-and-run.
On Ubuntu 23.10 and later, the AppImage starts without Chromium's sandbox, which keeps web content from reaching the rest of your system: Ubuntu blocks the sandbox for apps like it. The .deb keeps the sandbox, so on Ubuntu, prefer the .deb.
Download the pacman package for your processor:
pbnotes-bin-…-x86_64.pkg.tar.zstfor Intel or AMD.pbnotes-bin-…-aarch64.pkg.tar.zstfor ARM.
Install it from the folder you downloaded it to:
sudo pacman -U ./pbnotes-bin-*.pkg.tar.zstPb Notes then shows up in your app launcher. It isn't on the AUR, so yay -Syu won't update it: to get a new version, download and install it the same way. To uninstall, run sudo pacman -R pbnotes-bin.
The package is made from the .deb by the recipe in app/arch/PKGBUILD. To build it yourself instead, run makepkg -si there, in a checkout of the release's tag.
The repo is an npm workspace: app/ and the packages under packages/. Install once, at the root:
npm install
cd app
npm start # electron-forge start
npm test # node --test, no framework
npm run lint
npm run make # build distributablespackages/ledger/ (@pbnotes/ledger, the event log), packages/files/ (@pbnotes/files, hash-named files beside it) and packages/graph/ (@pbnotes/graph, what the events mean, for the app and for any other program that reads a folder) are packages the app depends on through the workspace. The first two have no dependencies of their own, and graph depends only on the Markdown parser it reads links with. npm test in any of these folders runs its tests.
What stays the same whatever the product becomes is in DNA.md. The folder format is packages/ledger/multi-writer.md.