9.7 KiB
Plugin parity roadmap (ranked, 2026-10-21)
Inputs: inventory.md (core plugins), community.md (top 60 by downloads). Effort S = one agent, under
a day; M = 2 to 5 tasks; L = a spec of its own. Value = how many of the top-60 users it serves and how much
of the daily workflow it changes. "Brief" = ready to run in briefs/.
| Rank | Item | Replaces (downloads) | Effort | Value | Depends on | Brief |
|---|---|---|---|---|---|---|
| 1 | Bases: parser, evaluator, Table, Cards, List, embed (bases/spec.md, tasks 1-19) |
Dataview 5.2M, Metadata Menu, make.md, TaskNotes, core Bases | L | very high | index properties (task 9) | bases/tasks.md |
| 2 | Bases Map view + Maps card (tasks 8, 12, 20) | Maps, Map View, Leaflet 0.56M | M | high (owner asked) | 1 | bases/tasks.md |
| 3 | Tag rename and merge (tags.rename, tags.merge) |
Tag Wrangler 1.1M | S | high | none | 01 |
| 4 | Outliner list-item moves (list ops in the editor) |
Outliner 1.5M | S | high | none | 02 |
| 5 | Paste URL over a selection | Paste URL 0.5M | S | medium | none | 03 |
| 6 | notescraft:// links (open file/heading/line, run command) |
Advanced URI 0.7M | S | medium | none | 04 |
| 7 | Periodic notes (weekly, monthly, quarterly, yearly) | Periodic Notes 0.8M | S | high | none | 05 |
| 8 | export.pandoc (DOCX, ePub, HTML, LaTeX via installed pandoc) |
Pandoc 0.56M, Enhancing Export | S | medium | none | 06 |
| 9 | Property maintenance: rename a key vault-wide, list values | Properties core, Metadata Menu | S | medium | none | 07 |
| 10 | First wasm plugin + SDK sample: Dice roller (then Citations) | Dice Roller 0.29M, Citations 0.24M | S | proof of ABI | owner step | 08 |
| 11 | Task index + Tasks view (query by due/status/path, recurrence on check) | Tasks 4.5M, Checklist | M | very high | 1 | after 1 |
| 12 | Templater subset (<% %> on the Bases expression language, prompts, cursor) |
Templater 6.0M | M | very high | 1 (expression crate) | after 1 |
| 13 | Kanban board note (kanban-plugin: board), then Bases Kanban view |
Kanban 2.8M | M | high | none (own view), Bases for the view | after 1 |
| 14 | Recent files panel + go.recent |
Recent Files 1.2M | S | medium | none | - |
| 15 | Homepage: open a note/base/workspace on start | Homepage 1.4M | S | medium | Bases (for bases) | - |
| 16 | Icons and banners from properties (icon, color, banner) in Explorer, tabs, note top |
Iconize 2.3M, Banners, Pretty Properties | M | high | 1 (shares property cell code) | - |
| 17 | Importer / Format converter (Notion zip, Evernote ENEX, Bear, HTML, Roam JSON) | Importer 1.8M, core Format converter | L | high (adoption) | none | spec first |
| 18 | Git remotes and auto-commit timer (shell out to git) |
Git 3.3M | M | high | none | - |
| 19 | Slides view (superseded by scoped spec/tasks at rank 41) | Advanced Slides 0.84M, core Slides | L | medium | none | spec first |
| 20 | Charts block and Calendar heatmap | Charts 0.33M, Heatmap Calendar | M | medium | 1 (summaries) | - |
| 21 | Mind map diagram kind + "outline as mind map" | Mind Map 0.9M | M | medium | none | - |
| 22 | Latex Suite snippets for $..$ |
Latex Suite 0.68M | M | medium | none | - |
| 23 | Spaced repetition (cards, SM-2, review view) | Spaced Repetition 0.62M | L | medium | none | spec first |
| 24 | Omnisearch gap: index PDF text | Omnisearch 2.0M | M | medium | pdf crate text layer |
- |
| 25 | UI-contribution ABI for wasm plugins (panel, view, settings, events) | unlocks community-style plugins | L | strategic | owner decision | spec first |
| 26 | Smart folders: saved Bases queries as virtual Explorer folders (smart-folders/) |
Apple Notes smart folders (Bear has saved searches only) | M | high | 1 (base.query) |
13 |
| 27 | Note visual diff and time-machine slider over local snapshots (version-diff/, new crate textdiff) |
File Recovery diff plugins (Snapshot Diff, Time Machine), Google Docs history | M | medium-high | none | 14 |
| 28 | Media timestamp links [[rec.mp3#t=04:12]], seek on click, copy/insert link (media-timestamps/) |
Media Extended | S | medium | none | 15 |
| 29 | Clean paste: HTML (Word, Docs, web) to GFM Markdown (clean-paste/, new crate htmlmd) |
Paste Reformatter, Smart Paste (Obsidian converts basic HTML already) | M | high | none | 16 |
| 30 | Link bookmark cards from OpenGraph, cached under .notescraft/cache/web/, opt-in network (link-cards/) |
Notion, Capacities, Craft; Obsidian card plugins | M | medium (privacy-gated) | 29 task 1 (tokenizer) | 17 |
| 31 | Spaced repetition: cards in notes, SM-2, review tab (spaced-repetition/, new crate srs; replaces row 23) |
Spaced Repetition 0.5M (listing 498k), Logseq/RemNote | L | medium | none | 18 |
| 32 | PDF deep annotations, stable links and visual excerpts (pdf-annotations/) | PDF annotation workflows; native text capability gated | L | high | existing pdf export + viewer backend; owner backend decision | 19 |
| 33 | Web clipper: scoped local HTTP capture bridge, local assets and bookmarklet/extension contract (web-clipper/) | Official Obsidian Clipper workflow | M | high | existing engine capture/control; external adapter contract | 20 |
| 34 | Per-note and secret-folder encryption design only (note-encryption/) | Local at-rest lock; distinct from sync E2EE | L | high (privacy) | owner threat/format/key/dependency/security review; no implementation authorized | 21 |
| 35 | Supertags/object types over Bases properties (object-types/) | Tana-inspired typed notes; plain frontmatter retained | M | high | 1; owner membership/validation policy | 22 |
| 36 | Synced blocks: editable ![[note#^id]] source transclusion (synced-blocks/) | Notion-style source-owned edits | M | high | existing blocks + embed resolver + Session undo | 23 |
| 37 | Offline attachment OCR and typed search hits (attachment-ocr/) | Joplin-style attachment search | L | high | owner safe Vision/Windows bindings + packaging; 32 text backend optional | 24 |
| 38 | Global quick-capture hotkey and compact window (global-quick-capture/) | Apple Quick Note workflow | M | high | existing note.capture; owner native hotkey dependency/OS scope | 25 |
| 39 | Zotero/BibTeX citation picker, local export refresh and optional CSL export (citations/) | Academic citation workflow; no bidirectional Zotero sync | M | medium-high | local bibliography; 8 for optional approved Pandoc CSL backend | 26 |
| 40 | Opt-in formulas inside Markdown pipe tables (table-formulas/) | Small spreadsheet workflow; own syntax, not Advanced Tables compatibility | M | medium | existing blocks/Markdown table ranges | 27 |
| 41 | Markdown slides and native presentation mode (markdown-slides/; replaces row 19) | Obsidian core Slides workflow | M | medium | existing Markdown parser and note renderer | 28 |
Reasoning
- Bases first, and its pieces are reused: the expression language is the engine of Templater (12), Tasks (11), Charts (20) and the filter bar of the Explorer; the index property store (task 9) is what the properties pane, Iconize and Metadata Menu need. Doing Bases once pays four items.
- Items 3 to 9 are small, independent, pure-Rust work that do not touch the Bases files. Eight agents can run in parallel on disjoint folders; each ends at a library or engine command with tests, leaving the one-line UI hook to the lead (listed in each brief as "NOT in this brief").
- Wasm plugin reality: only item 10 (and Citations) fit the current ABI. Item 25 is the honest price of "community-style" plugins: without views and events a plugin cannot be a Kanban or a Map. Do it only if the owner wants third parties; first-party features stay in-tree behind core-plugin cards, which ships faster and safer.
- Skipped on purpose (see
community.md): Style Settings, BRAT, Buttons, Shell commands, Commander macros (JS or shell execution), Remotely Save (cloud adapters). OCR now has approval-gated design at rank 37; no dependency is approved by this roadmap. - Mismatch to fix in the docs: SPEC 6.1 still lists Bases, Dataview-style queries and Slides as deferred; update it when items 1, 11 and 41 (superseding 19) start.
Network policy reminder
Network access remains explicit and opt-in: Maps tiles (2, Bases D13), link cards
(30, link-cards/spec.md D1, setting off by default) and Git remotes (18, user's own remote).
Web clipper (33) adds an off-by-default loopback-only HTTP bridge on the control lifecycle,
with capture-only credentials; browser adapter fetches assets only after explicit browser permission.
The app does not scrape source URLs or fetch remote images. Clipboard bookmarklet import works without
HTTP. Citations (39) refreshes local exports only; Zotero cloud API is a future owner decision.
OCR (37) and slides (41) add no remote service. Other new fetching needs its own specification and switch.
Gap-research follow-up (ranks 32–41)
Each linked spec records verified primary sources, corrections/dropped Gemini claims, acceptance
criteria, owner questions and researched feature ideas. No research estimate implies approval or
shipped status. All new rows remain planned. Encryption is a document-only review phase; OCR, PDF
text extraction and native global shortcuts have explicit platform/dependency gates. These plans
reuse existing crates; any later new crate requires a revised task owning root Cargo.toml and
xtask/src/layers.rs registration before use. Briefs 19–28 are first-task handoffs, not authorization
to execute implementation during this documentation-only request.