Skip to content

mdbase specification v0.3 · open source

Use the same Markdown files in different apps.

An mdbase is a folder of ordinary Markdown files that more than one app can understand. You can open the files yourself, keep them where you choose, and decide which apps may use them.

Specification
Open rules for typed, queryable Markdown collections
Libraries and CLI
Open tools that work directly with local collections
Connect
App permissions, routing, and optional managed hosting
Runtime
Optional durable workflows, timers, and recovery

Here is one small mdbase.

This one contains project records, type definitions, and a small configuration file. A project app, a report, and a text editor can all use the same files.

projects/
├── mdbase.yaml
├── _types/
│   ├── project.md
│   └── person.md
├── projects/
│   └── website-redesign.md
└── people/
    └── sam.md

The files stay readable.

Each record is still a normal Markdown document. A short block at the top gives apps shared facts such as its title, status, and owner.

---
type: project
title: Website redesign
status: active
owner: "[[people/sam.md]]"
---

The new site should make mdbase
easier to understand.

The type definition stored beside the records explains what those fields mean. Queries, links, validation, and safe updates follow the same open specification in every conforming tool.

Keep it on your computer or host it online.

For a local mdbase, the folder on your computer is the main copy. For a hosted mdbase, mdbase keeps the main copy available online.

The open specification and local tools need no account. Connect is the optional service for approving apps, reaching a local collection remotely, or keeping the authoritative copy online.

You choose what each app can do.

An app asks for one collection and a specific set of actions. You review the request before it can read or change anything.

App
Project app
Collection
Projects · on this computer
Allow
View, find, create, and edit records
Keep blocked
Delete records

The local connector enforces grants for local folders. The hosted provider executes approved operations for hosted collections. See the complete trust boundary.

Access stays under your control.

Pause or remove an app's access at any time. The main copy keeps every change in order while approved apps can keep working copies for offline use.