feat: add HTML inventory report generator with Perplexity editorial design#28
Closed
shrwnsan wants to merge 7 commits into
Closed
feat: add HTML inventory report generator with Perplexity editorial design#28shrwnsan wants to merge 7 commits into
shrwnsan wants to merge 7 commits into
Conversation
Generates a self-contained HTML report from bumblebee scan output.
Features:
- 7 ordered sections: Ecosystems, Lifecycle Scripts, Version Sprawl,
Top Projects, Confidence Levels, Detection Sources, Scan Roots
- Dark/light theme toggle with localStorage persistence
- Scroll-spy page outline (Notion-style mini-TOC)
- Scroll progress indicator
- Responsive layout (mobile through desktop)
- Animated section reveals and hover interactions
- Zero external dependencies (Python 3.10+ stdlib only)
Usage:
python3 scripts/generate-report.py inventory.ndjson
python3 scripts/generate-report.py -o report.html
Dark mode: Midnight Parchment - Deep forest-teal base (#091717) with ivory ink text - Teal accent (#20808d) for numbering and decoration - Subtle teal hex-grid background texture Light mode: Perplexity Editorial - Warm parchment cream (#fbfaf4) from Perplexity blog - Deep teal-black text (#13343b) - Electric blue link gradient in header Typography: - Newsreader (serif) for display headings — editorial authority - Outfit (geometric sans) for body text - JetBrains Mono for code and data Visual refinements: - Sharper border-radius (4px/8px, down from 8px/14px) - Lighter hex-grid strokes (0.5px weight) - Badge and header adapt to both themes - Section numbering: teal in dark, dark-teal in light
Replaces the proj-short/proj-full dual-span swap with a single span using text-overflow: ellipsis by default and white-space: normal on hover. This eliminates the visible flash in the 13 cases where short==full, and removes the unnecessary short-name truncation that made names like 'npm' unhelpful.
fe217a6 to
d4d4810
Compare
Author
|
Superseded by #29, which is opened from a clean branch with sanitized screenshots and updated report refactors. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
scripts/generate-report.py— a zero-dependency Python 3.10+ script that reads bumblebee'sinventory.ndjsonoutput and produces a single self-contained HTML report with dark/light theming, scroll-spy navigation, and inline data visualization.Motivation
bumblebee scangenerates structured NDJSON, but there is no built-in reporting. Users need to either write custom tooling or parse JSON manually. This script provides an immediate, visually rich overview of scan results — ecosystem distribution, version sprawl, top projects by package count, confidence scores, and detection sources — with zero setup beyond Python 3.Changes
scripts/generate-report.py(~1400 lines) — the sole deliverable.gitignore— addedreport.htmlto exclude generated outputDesign decisions
table-layout: auto(notfixed)border-radiuswrappersScreenshots
Light theme (focus view)
Dark theme (focus view)
Light theme — section tabs
Ecosystems
Lifecycle
Versions
Projects
Confidence
Sources
Roots
Testing
inventory.ndjson(7,895 packages, 7 ecosystems)localStoragepersistencelocalStoragepersistenceChecklist
CONTRIBUTING.md)report.html) is gitignoredperplexityai/bumblebee