Skip to content

Development status

This plugin is in active development (v0.1.7 beta). Core features are working, with advanced features in progress. See the roadmap for what’s coming.

  • F1 (Specificity-aware matching + rule groups) — ✅ shipped (all 3 steps: confidence formula, sort-order swap, group precedence + cross-pack precedence config)
  • F2 (Path Lens templates) — MVP shipped ✅ — commit 1 (compiler + runtime + loader + UI mode toggle) is the F2 MVP. End-to-end demo pack templates-demo.json ships with the plugin (6 rules: identity / kebab-case / glob / marker-only / emoji-prefixed / JD+emoji). Commits 2 (lens-flavored) + 3 (slot-objects) demoted to post-MVP polish — see roadmap MVP boundary.
  • F3 (Hybrid frontmatter witness)post-MVP. Plug-in seam in place (see bijectivity detection · F3 plug-in seam); MVP doesn’t need it for bijective + conditional template rules.
  • F4 (Property-driven destination) — future, depends on F2 stable

bun install && bun run build produces main.js in this folder; the plugin is now installed. Reload Obsidian (or use the Hot Reload community plugin). Open any rule editor → “Authoring shape” dropdown gives Template (Path Lens) vs Regex. Import rule-packs/templates-demo.json from the rule-pack picker for ready-made examples. The plugin can be backtracked: existing regex rules continue working unchanged; template rules are opt-in via the mode toggle.

This plugin goes by several names that describe the same concept:

  • Folder Tag Sync — official name
  • Dynamic Tags & Folders
  • Tag and Folder Mapper
  • Polyhierarchy Plugin — conceptual nickname

All refer to the same plugin for bidirectional folder-tag synchronization.

Full transparency: Most of this plugin’s code was written by AI (Claude Code) with the author deeply involved in testing, design decisions, and quality control. The author’s background is primarily Python and tabular data work, not JavaScript/TypeScript or Obsidian plugin development.

  • ✅ Rapid development with comprehensive testing (156+ automated tests)
  • ✅ Well-documented, modern codebase
  • ✅ Thorough design decisions documented in agent-context
  • ⚠ Ongoing learning curve for traditional Obsidian plugin patterns
  • 💡 Committed to maintenance and user feedback

If you find issues or have suggestions, please open an issue.

LayerTech
LanguageTypeScript (strict mode)
Package managerBun
Buildesbuild
Test runnerBun
LintESLint + eslint-plugin-obsidianmd
Plugin APIObsidian 0.15.0+
Docs siteAstro 6 + Starlight + Nova theme

Submission to Obsidian’s community plugin directory is in progress. See zz-log: submission PR stalled for the current status.

In the meantime, install via:

Inspired heavily by Auto Note Mover — see prior art for the fuller context.