Where your words live

A project is a folder of plain files. Here is what is in it.

The folder

A local project looks like this:

The Ferry.bakspace/
  project.json      title, settings, labels, statuses
  binder.json       the order of things
  nodes/            one JSON file per document or folder
  assets/           attachments, named by their hash
  history/          snapshots
  manuscript/       a readable Markdown copy of the manuscript
  .bakspace/        working data the app rebuilds itself

Everything above manuscript/ is the source of truth. manuscript/ is a copy the app regenerates so you can open the folder in Finder or Explorer and read your manuscript as ordinary Markdown files, one per document, in binder order. Edits made to those files are overwritten on the next open, so treat it as a window, not a door.

.bakspace/ holds a search index and a lock file. Delete it and nothing is lost.

Saving

There is no save command. Every edit is written to disk shortly after you make it, and every write goes to a temporary file first and is renamed into place, so a crash or a power cut leaves the previous version intact rather than half a file.

Moving and copying

The folder is self-contained. Move it, rename it, copy it to a USB stick, put it in a synced folder. Open it again with File > Open folder.

  • Do not open the same project on two machines at the same time through a sync service. Bakspace notices another copy holding the lock and opens read-only, but sync services can still race on the files themselves. If you want the project on more than one machine, use cloud instead.
  • If something else changes a file while the project is open, Bakspace stops writing to that project and tells you, rather than overwrite work it did not see.

Backups

Because a project is a folder, any backup tool that backs up folders backs up Bakspace: Time Machine, File History, a cron job with rsync. Cloud backups are there too, one click at a time; see Cloud and backups.