Alexandria
Alexandria is a file-first knowledge base. Your notes stay as Markdown files, while tags and properties add structure without locking you into a database.
A workspace is one folder that holds your Alexandria data. Alexandria creates and uses these subfolders:
notes/ for Markdown notes and tag notesmedia/ for attachments and other binary filestrash/ for deleted items before permanent removalindex/ for the derived SQLite index (rebuilt on demand)Tag membership is declared in each note's frontmatter and derived into the
index/ database, so there is no separate on-disk tags/ directory.
A note is a Markdown file with YAML frontmatter. It has a stable UUID, core metadata such as title and timestamps, optional tags, optional property values, and a Markdown body.
Tags are notes too: any note can act as a tag for other notes. Tagging is many-to-many, so one note can belong to several topics or workflows without being forced into one folder. See Tagging for examples.
Tags can define typed properties. When you apply that tag to a note, those fields become available on the tagged note. Supported property types are exactly:
booleanselectmulti-selectdatenumbermoneystringProperty values are stored in frontmatter under keys based on the tag name and tag UUID, so they remain tied to the tag definition.
Images, PDFs, audio, video, and other binary files live under media/. When you add media, Alexandria copies the file, creates a companion note, and applies the special Media tag for metadata such as original filename, path, MIME type, size, and associated notes. See Media.
Deleting a note or tag moves it to trash/ first. From there you can restore it or permanently delete it. See Trash.
Every note and tag has a UUID. Filenames and titles can change, but the UUID stays stable so references and tag relationships can survive renames.