Herve Sliwa1 downloadsTurn the selected lines into an entry in a base — the note lands in the base's folder with the properties its filters require.
Turn the lines you are looking at into an entry in one of your bases.
A base is a query over notes, so an entry is a note: one that lives in the folder the base filters on and carries the properties its filters expect. Bullet-base writes that note for you and leaves a link behind.
- Fix the deck ─ select, run the command, pick Todo.base ─▶ Efforts/Backlog/Fix the deck.md
- order boards ---
- rent saw Done: false
---
- [[Fix the deck]] ◀─ what the source note is left with - order boards
- rent saw
[[Todo.base]], ![[Todo.base#Daily]], an obsidian:// URL, or start
typing a name. The base you used last is prefilled.Convert selection to last used base skips the prompt entirely, for capturing several things in a row.
**bold** and [[links]] are stripped from the name;
characters that are illegal in file names are removed. An existing name gets 2, 3, …Only what the base's filters require, read from the base file and the view you picked:
| Filter | Written |
|---|---|
file.inFolder("Efforts/Backlog") |
the note goes there |
file.hasTag("clippings") |
tags: [clippings] |
Done != true |
Done: false |
AddToList == true, Prio == 1, Status == "open" |
that value |
note["Read Date"].isEmpty() |
the key, left empty |
Anything else — Prio > 2, isNotEmpty(), or/not branches — is listed in the prompt as
not auto-filled rather than guessed at. Everything else about the note is left for you to
fill in from the base's table.
A base with no folder filter uses the fallback folder from settings, or the folder the
.base file is in.
file.inFolder(…) filter.npm install
npm run dev # watch build
npm test # headless checks, no Obsidian needed
npm run build # typecheck + production bundle
BULLETBASE_VAULT="$HOME/MyVault" npm run deploy
MIT.