Because it goes to the filesystem rather than through the app, it keeps working with Obsidian closed — on a server, or beside an agent running unattended. The trade is granularity: filenames, note contents, open to-dos and a whole-file write, with nothing that edits smaller than a file.
A lightweight server pointed at one vault directory. It lists filenames, reads the notes you name, collects unchecked to-dos out of the markdown, and writes a note back. It reaches the vault through the filesystem, so the Obsidian application does not have to be running.
- Every filename in the vault, so a note can be located before it is read
- The contents of the notes you name — matched exactly, by partial name, or case-insensitively — each one headed with its own filename
- Every open to-do in the vault: the unchecked checkbox lines, returned with the file each one came from
- A note written with new markdown, created along with any missing folders when it is not there yet
A vault on the same machine, passed as the one argument to the built server. Build it from the repository, then run build/index.js against the vault path. No account and no key.
