For developers
Contributions are welcome via pull request on GitHub.
Architecture
Section titled “Architecture”End-user behaviour is documented on this site. Storage formats, item merges, class folders, reading-list translators, and release commands live in the repo:
Workspace packages
Section titled “Workspace packages”Shared chrome libraries live under packages/. Overview: Reference → Workspace packages. Repo index: packages/README.md.
Public JS API
Section titled “Public JS API”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);}Local development
Section titled “Local development”- Clone the repository.
pnpm install- Copy
.env.exampleto.envand set your Zotero path. pnpm start
Requires Zotero 7+ (8–10 recommended), Node.js LTS, Git, and pnpm. The plugin is built with zotero-plugin-template / scaffold.
This documentation site
Section titled “This documentation site”Sources live in website/ (Astro Starlight). From the repo root:
pnpm docs:dev # local previewpnpm docs:build # static build for GitHub PagesAfter changing docs, open a PR; GitHub Actions deploys from main.