https://github.com/mlava/scholar-sidekick-vscode
VS Code extension that verifies .bib bibliographies for fabricated citations, retractions, and open-access status — powered by Scholar Sidekick.
https://github.com/mlava/scholar-sidekick-vscode
Last synced: 5 days ago
JSON representation
VS Code extension that verifies .bib bibliographies for fabricated citations, retractions, and open-access status — powered by Scholar Sidekick.
- Host: GitHub
- URL: https://github.com/mlava/scholar-sidekick-vscode
- Owner: mlava
- License: mit
- Created: 2026-06-04T09:42:52.000Z (13 days ago)
- Default Branch: main
- Last Pushed: 2026-06-04T10:19:03.000Z (13 days ago)
- Last Synced: 2026-06-04T12:10:53.076Z (13 days ago)
- Language: TypeScript
- Size: 84 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Scholar Sidekick — Citation Verifier for VS Code
Catch **fabricated, retracted, and out-of-date references in your `.bib` file —
before you submit.** Scholar Sidekick verifies every entry in your BibTeX
bibliography against the real scholarly record and flags problems inline, the
same way a linter flags bad code.
Built for people who write citation-bearing documents in VS Code (and forks like
Cursor, Windsurf, and Positron): **LaTeX** authors using LaTeX Workshop and
**Quarto** / R Markdown authors.
> This is **not** a citation _inserter_ — Quarto and Zotero already do that well.
> It's the safety net that checks the references you already have.
## What it does
For each entry in a `.bib` file it calls the
[Scholar Sidekick REST API](https://scholar-sidekick.com/docs) and surfaces:
| Signal | How it shows up |
| --- | --- |
| 🔴 **Possible fabrication** — the title doesn't match the work at the DOI/PMID/… (the [Topaz et al. 2026](https://doi.org/10.1016/S0140-6736(26)00603-3) pattern: a real identifier with an invented title) | Error squiggle + Problems panel |
| 🟠 **Retracted** / expression of concern (Crossref + Retraction Watch) | Warning squiggle |
| 🔵 **Unresolved / ambiguous** identifier | Info squiggle |
| 📂 **Open access** status + best legal URL (Unpaywall) | Hover card |
| ✅ **Verified** | Hover card + status-bar tally |
Hover any entry for the full verdict. The status bar shows a running tally:
`📖 ✓ 36 ✗ 1 fabricated? ⚠ 2 retracted ⊘ 4 unverifiable`.
**Honest coverage:** entries with no resolvable identifier (DOI/PMID/ISBN/arXiv/…)
are reported as _unverifiable_, never silently counted as clean.
## Usage
- Save a `.bib` file → it verifies automatically (toggle with
`scholarSidekick.verifyOnSave`).
- Or run **Scholar Sidekick: Verify Bibliography** from the Command Palette.
- **Verify Bibliography (workspace)** sweeps every `.bib` in the project.
No account or API key is required — the free anonymous tier is used by default.
For higher rate limits, set `scholarSidekick.apiKey` to an `ssk_…` key from
[your account](https://scholar-sidekick.com/account).
## Settings
| Setting | Default | Purpose |
| --- | --- | --- |
| `scholarSidekick.apiBase` | `https://scholar-sidekick.com` | API base URL |
| `scholarSidekick.apiKey` | `""` | Optional `ssk_` bearer token |
| `scholarSidekick.verifyOnSave` | `true` | Verify on save |
| `scholarSidekick.checkRetraction` | `true` | Flag retractions |
| `scholarSidekick.checkOpenAccess` | `false` | Surface OA status |
| `scholarSidekick.maxConcurrency` | `4` | Parallel requests |
## Development
```bash
npm install
npm run compile # or: npm run watch
# Press F5 in VS Code to launch an Extension Development Host
```
A sample bibliography for manual testing lives at
[`fixtures/sample.bib`](fixtures/sample.bib).
## License
MIT