dismech curator (browser extension)
A small Manifest V3 Chrome/Edge extension that turns the paper or disease page
you are looking at into a dismech curation GitHub issue — one click, like a
"send to dismech" bookmarklet. It lives in extension/.
What it does
When you are on a recognized page and click the toolbar button, the extension reads the page's identifiers and metadata (never sending the page anywhere), picks the right issue template, and lets you review and file the issue.
- Papers (PubMed, PMC,
doi.org, bioRxiv/medRxiv, most publisher pages that emitcitation_*meta tags) → a "Curate from literature" issue with the PMID/DOI/PMCID, journal, authors, and a curation checklist that reminds the curator to use exact-quote snippets andjust fetch-reference. - Diseases (Monarch, OMIM, Orphanet, OLS/
purl.obolibrary.orgMONDO pages) → a "Curate issue mirroring theclaim-diseasetemplate, linked to the priority tracker (#1079). - Any text you have highlighted on the page is captured into the issue as a blockquote.
Two ways to file
Set in the extension's Settings page:
- Pre-filled issue form (default, no token). Opens GitHub's
issues/new?title=…&body=…&labels=…formonarch-initiative/dismech. You are already signed in to GitHub, so you just review and click Submit. Nothing but opening a URL — no credentials, no backend. - One-click with a token. Store a fine-grained GitHub PAT (Issues: read &
write on the target repo, ideally with a short expiry) in the browser; the
extension POSTs to
api.github.comdirectly and opens the new issue. The token stays inchrome.storage.local— plaintext on disk — and is sent only to GitHub. If you would rather not persist a token, prefer the default form mode above, which needs no credentials. Selecting token mode on the Settings page requests the optionalapi.github.comhost permission there (a stable context), so the popup only needs to check it at create time.
Owner/repo, labels, and the tracker issue number are all configurable, so the extension also works against a fork or a different Monarch repo.
Install (unpacked)
The extension is not (yet) on the Chrome Web Store — load it unpacked:
chrome://extensions→ enable Developer mode.- Load unpacked → select the
extension/directory. - Pin dismech curator, open a paper/disease page, and click it.
Permissions
activeTab + scripting (read the current tab only when you click),
storage (settings), and the optional host permission
https://api.github.com/* (requested only if you turn on token mode).
Development
Pure vanilla JS — no build step. Logic that can be unit-tested lives in
extension/issue.js
(issue templates) and extension/extract.js
(page metadata extraction). Run the tests with:
just test-extension # or: node extension/test/run.mjs
These run in CI (just test-extension) whenever anything under extension/
changes.
Toolbar icons are generated (teal medical disc + cross) by
python3 extension/icons/gen_icons.py.