Use when writing, extending or reviewing a CKEditor 5 plugin in the Trilium monorepo (`packages/ckeditor5`, plugins in `src/plugins/`), or when working with the editing engine (model, view, schema, conversion/upcast-downcast), commands, the UI library…
Use when building or changing an embed in a text note — an included note, an attachment embed such as a canvas drawing (`CanvasDrawing`), a source embed such as a Mermaid diagram (`MermaidDiagram`, `SOURCE_EMBED_TYPES`), or a YouTube video…
Use when building or changing any UI in the Trilium client (`apps/client`) — a dialog, settings pane, form, toolbar, badge, link, dropdown, type widget, or a control floating over a note's content. Catalogues the froca-reactive hooks (useNoteProperty /…
Use when making a new language selectable in Trilium — "add Danish support", "enable <language>", "<language> is translated enough, ship it", or when the translation coverage gate fails because a language above 50% on Weblate is not offered. Covers checking…
Use when working on the Trilium Electron desktop app (`apps/desktop`) — adding or changing an `electronApi` method / IPC channel, touching `preload.ts`, `main.ts`, `services/window.ts` or any main-process service (tray, printing, dialogs, import/export,…
Use when filling in or improving a lagging UI translation locale in Trilium (e.g. "Romanian is behind", "bring <locale> to 100% coverage", "translate the missing strings"). Covers measuring the gap vs English, drafting translations that preserve i18next…
Use when adding, finding, changing, reading or auditing a UI string in Trilium — "is there already a key for X?", "add a translation key", "what does <key> say?", "what does this button say in German?", "has this string been translated yet?", "which catalogue…
Use when working on Trilium's standalone in-browser build (`apps/standalone`, deployed at app.triliumnotes.org and embedded by the mobile app) — the service worker (`sw.ts`), the leader-tab election and multi-tab request forwarding, the SQLite worker…