Skip to content

For developers

Contributions are welcome via pull request on GitHub.

End-user behaviour is documented on this site. Storage formats, item merges, class folders, reading-list translators, and release commands live in the repo:

Shared chrome libraries live under packages/. Overview: Reference → Workspace packages. Repo index: packages/README.md.

Other plugins call Zotero.Syllabus.api. See Reference → API for the intro, example, and full method reference (generated from src/api.ts via starlight-typedoc).

await Zotero.Syllabus.api.whenReady();
const collection = ZoteroPane.getSelectedCollection();
if (collection && Zotero.Syllabus.api.syllabus.has(collection)) {
Zotero.Syllabus.api.view.openSyllabus(collection.id);
}
  1. Clone the repository.
  2. pnpm install
  3. Copy .env.example to .env and set your Zotero path.
  4. pnpm start

Requires Zotero 7+ (8–10 recommended), Node.js LTS, Git, and pnpm. The plugin is built with zotero-plugin-template / scaffold.

Sources live in website/ (Astro Starlight). From the repo root:

Terminal window
pnpm docs:dev # local preview
pnpm docs:build # static build for GitHub Pages

After changing docs, open a PR; GitHub Actions deploys from main.