Skip to content

Building Extensions and Advanced Customization of Org-roam

Because Org-roam’s core functionality is small, it is possible and sometimes desirable to build extensions on top of it. These extensions may use one or more of the following functionalities:

  • Access to Org-roam’s database
  • Usage/modification of Org-roam’s interactive commands

Org-roam provides no guarantees that extensions will continue to function as Org-roam evolves, but by following these simple rules, extensions can be made robust to local changes in Org-roam.

  1. Extensions should not modify the database schema. Any extension that requires the caching of additional data should make a request upstream to Org-roam.
  2. Extensions requiring access to the database should explicitly state support for the database version (org-roam-db-version), and only conditionally load when support is available.