Alexandre Charbit101 downloadsReview note health, staleness, connections, and maintenance priorities in a local visual dashboard.
Knowledge Heatmap is a local-first Obsidian plugin that turns note-maintenance signals into an understandable dashboard. It highlights notes and folders that may need review without changing note content or deciding whether an idea is valuable.
The dashboard answers three practical questions:
| Signal | What it asks | Weight |
|---|---|---|
| Recency | How recently was this note edited? | 60 points |
| Connections | How many resolved incoming and outgoing links does it have? | 25 points |
| Substance | How close is it to the configured word-count target? | 15 points |
Every result includes the factor contributions, a plain-language explanation, and one suggested maintenance action.
After the plugin is accepted into the Obsidian community directory:
main.js, manifest.json, and styles.css from the matching GitHub release.<vault>/.obsidian/plugins/knowledge-heatmap/.The release tag and the version in manifest.json must match exactly.
Releases produced by the current workflow include GitHub build-provenance attestations for all three release files. After downloading an attested release, verify an asset with the GitHub CLI:
gh attestation verify main.js --repo alex3l3t33/knowledge-heatmap
Open the dashboard from the activity ribbon or run Knowledge Heatmap: Open dashboard from the command palette.
Start with the summary cards or weakest folder groups. Select Healthy, Stale, or Forgotten to filter the dashboard immediately, or select a folder heading to focus on that knowledge area.
Switch the knowledge map between:
Each map cell displays the metric for the selected mode. The ⚠ marker identifies an orphan note and ✓ identifies a well-connected note. Hover or focus a cell to inspect its details, then select it to open the note.
The detailed note list shows:
Use Refresh to recalculate immediately. When automatic refresh is enabled, file and metadata changes are collected for the configured delay before an open dashboard recalculates.
The default score is deterministic for the same note metadata, content, settings, and analysis time.
Categories use the final rounded score:
These labels describe maintenance signals, not importance, accuracy, or writing quality. A deliberately stable reference note may need no action even when its score is low.
Knowledge Heatmap reads Markdown files through Obsidian's Vault API and uses Obsidian's local metadata cache for links. Processing stays on the device.
The plugin does not:
See SECURITY.md for vulnerability reporting.
isDesktopOnly: false)The release was exercised on Obsidian 1.13.4 on macOS and with Obsidian's desktop mobile emulation. Physical iOS and Android testing remains advisable because device memory and WebView behavior vary.
Node.js 20 or newer and npm are required.
npm ci
npm run validate
Useful commands:
npm run dev
npm run lint
npm run typecheck
npm run test
npm run build
npm run verify:quality-config
npm run verify:release
npm run generate:test-vault
npm run install:test-vault
npm run benchmark
npm run lint treats every warning as a failure and first verifies that @typescript-eslint/no-unsafe-call and @typescript-eslint/no-unsafe-return are enabled at error severity. npm run verify:release checks version consistency, required release files, and their SHA-256 hashes.
The test-vault scripts use the knowledge-heatmap-test-vault directory next to the repository and refuse to replace an existing unmarked directory. They generate synthetic content only; do not point them at a personal vault.
The generated Large/Batch-### folders exist only to stress-test analysis and rendering with thousands of notes. They are not created in normal vaults. Exclude Large in the test-vault settings when validating visual design against only the curated fixtures.
Contribution guidance is in CONTRIBUTING.md. For bugs or feature requests, use the GitHub issue tracker without attaching private vault content.
MIT © 2026 Alexandre CharByte