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.
- Extensions should not modify the database schema. Any extension that requires the caching of additional data should make a request upstream to Org-roam.
- 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.