Manage citations across long-form notes with a dedicated modal. Capture sources, link them to passages, render footnotes, and keep references aligned as drafts evolve. Designed for content that needs to hold up under scrutiny.
cite-wide
Citations as a first-class concern, not an afterthought.
Recent ship notes
-
Hex citations, day one
Cite-Wide's identity moment: the first working hex-citation transform inside an Obsidian modal. The plugin we'd later spin into its own repo announced itself in commit f394ef7 — 'added hex citations to functionality.' Logged retrospectively from 2026 because the convention didn't exist yet when this happened.
-
Dependency Refresh — Eight Packages Bumped to Latest Within Current Major, Build Verified Clean
First pass on package hygiene since the project's last broad upgrade. Eight dependencies advanced to the latest version within their current major (obsidian 1.8 → 1.12, esbuild 0.25 → 0.28, fastify 5.3 → 5.8, MCP SDK 1.12 → 1.29, both @typescript-eslint packages, builtin-modules, and @types/node held to the 22.x line to match the local Node 22 runtime). Four major bumps held back for review. The full build (`tsc -noEmit -skipLibCheck && esbuild production`) passes cleanly on the new lockfile.
-
Type-Safety Pass — Eliminated All `any` Declarations, Retired Hand-Rolled YAML Parser, Gated ESLint Into Build
Five-commit refactor that brings the project from 14 explicit `any` declarations to zero, replaces a structurally broken regex-based YAML parser with Obsidian's native frontmatter APIs (metadataCache.getFileCache + fileManager.processFrontMatter), introduces a small set of boundary coercers for narrowing untrusted values, and wires an ESLint flat-config mirroring ObsidianReviewBot's rules into `pnpm build` so the rules that gate community-store submission now fire locally pre-push. Verified working in a live Obsidian vault.
-
Dedupe Citations by URL — Command, Modal, and URL-Normalizing Service for Consolidating Multi-Source Research Pastes
New 'Dedupe Citations by URL' command for the workflow where the same article gets cited under multiple hex IDs because research from Perplexity / Google AI / Claude was pasted into the same file across a session. The service finds reference-section entries that share an article URL (after normalizing host case, fragment, and tracking params), groups them, and rewrites the file so each unique URL ends up with exactly one canonical hex ID. The modal lists groups in document order with per-occurrence line links, default-checked checkboxes per group so the user can opt out of any false-positive match, and a single 'Apply Dedup' button that writes through app.vault.modify.
-
Dependabot Cleanup + Tanuj-Intent Port — Removed 3 Unused Deps, Forced 4 Transitive CVE Patches, Ported Explicit Save Flow
Two-commit cleanup that eliminates the bulk of the 28 open Dependabot alerts on this repo and absorbs the intent of TanujKS's August 2025 work (which we force-pushed past in 2026-05-01_02 — his commits are archived on the auto-rescued `feature/save-all-citations` branch). First commit removes fastify, @modelcontextprotocol/sdk, and zod (zero imports across src/ and main.ts since they were added in 644582d) and forces patch/minor bumps on four surviving dev-tool transitive CVEs via pnpm.overrides. Second commit ports the explicit save flow — `autoSaveUrlCitations` setting (default off), 'Save All Hex Citations' command, modal-level 'Save All Hex (N)' button, per-citation 'Save to Citations' button — without any of his `any` types. Build clean throughout.