Skip to content

Ore: an open format for executable notes

Ore is a format for executable notes: Markdown files whose cells run, in order, and write their results back into the note.

What a workflow looks like

A workflow is a note with ore: true in its front matter and fenced code blocks of type ore:ts, ore:shell or ore:ai. The note declares what its cells may do, so you can read the permissions before anything runs.

---
ore: true
name: Hello
permissions:
  network: deny
  vaultWrite: deny
---

```ore:ts id=greeting
const message = "Hello from Ore";
message;
```

```ore:ts id=shout depends=[greeting]
cell("greeting").toUpperCase();
```
A runner executes greeting, then shout, and writes each output below its cell as an ore-output callout.

What makes it Ore

  • The note is the program

    The same Markdown file is the program and its documentation.

  • Permissions live in the note

    network, vaultRead and vaultWrite, each allow, deny or ask. The runner enforces them outside the cell. An answer to ask is asked for again when the workflow changes.

  • Outputs come back into the note

    Each output is written into the note, with a record of every run beside it.

  • Containers for code, the written prompt for AI

    Code cells run in containers. AI cells call a provider with the prompt the note spells out, and nothing else from the vault.

An open specification

Version
0.1.1
Status
Draft
Licence
CC BY 4.0

Under CC BY 4.0, anyone may implement Ore, with credit. The specification describes the format as VaultOre 0.1.x runs it; before 1.0 it may still change.

Origin

Tobias Krug created Ore at CronAI UG. It was first published on 18 January 2026 in the VaultOre repository and has been maintained as its own specification since 18 October 2026.

Reference implementation

The reference implementation is VaultOre, an Obsidian plugin in Obsidian's community plugins.

Have something difficult in mind?

Tell us where the system is today, what is making it hard, and what needs to be true when it is done. We will tell you honestly whether we are the right fit.

Discuss a project