Files
Marcos Paulo e8c8c06d1e
ci / ci (macos-latest) (push) Has been cancelled
ci / ci (ubuntu-latest) (push) Has been cancelled
ci / ci (windows-latest) (push) Has been cancelled
feat: smart folder model, media time fragments, link card URL guard (MiniMax); specs for 10 more gaps (Codex) and the registry with bloat measurements
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 14:41:26 -03:00

9.7 KiB
Raw Permalink Blame History

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.