Feature request: read-write note access on filesystem

One of the features I have really come to appreciate in NotePlan is its exposure of notes in the filesystem for use with arbitrary outside apps and tools. This supports a rich set of workflows where one can integrate NotePlan with Panda or iA Writer where those tools feel better for some kinds of longer-form writing or other interactions, as well as with Marked for preview before publishing, and any number of command-line tools and scripts for other workflows.

This is great not for any one use case, but because it frees users to complement and customize their Bear workflows any way they see fit. (I use it for easy, automatic, continuous versioning and backup, for example, with no explicit support from the app.)

Importantly, while the app used to work by directly storing plain text files in a standard synchronized folder (iCloud Drive or Dropbox), its modern version uses CloudKit for (significantly more effective and less buggy) sync, so it is not at its core that different from Bear in using a custom synchronized database as the core client data store.

Rather, to support workflows which integrate with outside tools, the app also mirrors its contents as read/write plain text files, readable and editable by outside tools. It works as a File Provider on iOS. I’m not sure how it works under the covers on macOS, but the effect is similar: outside apps can open, read, and write anything in NotePlan as though working with a tree of standard Markdown files, and the app reflects the changes live and syncs them with other copies on other machines.

Andy Matuschak’s toolset tries to create something like this by parsing the Bear SQLite database, and feeding changes back via URL scheme updates, but it is much less reliable and accessible than an equivalent feature built into Bear itself could be.

2 Likes