← Corpus / content-farm / issue
What to do with grab-reference — a citation-manager web stack living in the Obsidian plugin family
grab-reference turns out not to be an Obsidian plugin: it's a private 'citation-manager' pnpm workspace (web app + Prisma API + Docker) on a 2024-era toolchain. Decide its fate before spending any upgrade effort on it.
- Path
- issues/What-To-Do-With-Grab-Reference.md
- Authors
- Michael Staton
- Augmented with
- Claude Code on Claude Fable 5
- Tags
- Issue-Resolution · Grab-Reference · Content-Farm · Dependency-Upgrades
What to do with grab-reference
Stub — opened while scoping the [[../loops/Dependency-Upgrade-Loop-For-Obsidian-Plugin-Family]] so the dependency campaign doesn’t stall on a module whose identity is unsettled. grab-reference is held out of that loop until this issue resolves.
Why care?
Every other Lossless module in plugin-modules/ is an esbuild-bundled
Obsidian plugin. grab-reference is not: its root package.json is a
private pnpm workspace named citation-manager with a web frontend
(@citation-manager/web), a Prisma-backed citation-service API, Docker /
docker-compose scaffolding, and a setup.sh that scaffolds the project
structure. There is no manifest.json at the root — nothing for Obsidian to
load. The dependency-upgrade playbook for the plugin family (tsc → esbuild →
manifest sanity) simply doesn’t apply to it.
Observed state (2026-07-24)
- Toolchain is the family laggard: eslint
^8.56.0(pre-flat-config), typescript^5.3.3, dotenv^16.4.7,packageManagerpinned to pnpm10.4.1. @types/dotenv@^8.2.3sits in dependencies (it’s a deprecated stub package — dotenv ships its own types).- Recent commits are context-v/changelog housekeeping; the last substance commit message is “it’s working again”.
- CLAUDE.md’s module table describes it as “Capture references (URLs, papers, etc.) into a vault structure” — which no longer matches what’s in the repo.
- Confirmed via
gh repo view: Lossless-original, not a fork.
Options on the table (none chosen yet)
- Rehome — it’s a web service, not a plugin; move it out of
plugin-modules/(e.g., underai-labs/or its own child) — noting the HARD-STOP relocation preconditions in the root CLAUDE.md. - Rebuild as an actual plugin — the name and CLAUDE.md description
suggest an Obsidian capture plugin was the intent; the citation-manager
stack may overlap with what [[../../plugin-modules/cite-wide|cite-wide]]
and
metafetchalready do. - Archive — if the citation-manager experiment is superseded, archive the repo and drop the submodule.
- Keep + modernize in place — accept the shape, give it its own
(web-stack) upgrade path: eslint 8→10 flat-config migration, TS bump,
drop
@types/dotenv.
Next step
Operator decision on the four options. Until then: excluded from the dependency-upgrade loop; no toolchain effort spent.