RoamJS Developer
How to start contributing to the RoamJS ecosystem!
There are multiple ways to start contributing to the RoamJS ecosystem. The primary way is to sign up for the Developer service.
Once you have signed up for a RoamJS account, you could subscribe to the Developer service which is free to start. This will give you a token and a copy extension button that you could use to add the service to your graph. Installing the extension will create a
roam/js/developer
page which will serve as your central dashboard.Each extension lives in a subpath within the roamjs.com domain. Given an extension with an
id
, by default, the extension's entry point would be found in https://roamjs.com/id/main.js
. To claim a subpath for your extension, head to the
roam/js/developer
page and enter the id you'd like in the Path field. The id must consist of lowercase alphabetic characters, numeric characters, or dash (-
). Click the Request Path
button to reserve it under your account. Once successful, the path will be added to your dashboard and you will have permission to start deploying to that path!
Within the
Paths
section, each id listed can be clicked to navigate to the page of the same name. This is where you configure the extension's documentation and metadata. The top-level blocks on the extension's page serve as keys, whose children serve as values for each of those keys. The most important key is the Documentation
key.To create documentation for your extension, create a block that says
Documentation
. Nested under that block, begin filling out content on how to use and configure your extension. We would recommend setting the view type for this bullet to be "View as Document" so that it appears like a document page on RoamJS as opposed to a bulleted list.
Formatting in Roam will be reflected in RoamJS. For example, if you create a heading or use bolding/italics, then the resulting output on RoamJS will also use headings or bold/italics.
Create a block that says Description on your extension page. Nest under it a one-line description of what your extension does. The value of this description is used for SEO of your extension's page, displayed at the top of your extension's documentation, and shown when hovering over an extension while browsing.

Description and Documentation are the only two required fields for creating an extension page. Once those two are set, head over to your developer dashboard and click the "Update Documentation" icon. This will deploy your changes to the RoamJS site, making your extension accessible at
https://roamjs.com/extensions/[id]
.
A green success toast will appear upon successful upload of your extension's metadata. It will take another 5 minutes after this success notification for it to be fully available on RoamJS.
Last modified 1yr ago