npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ziuus/vanta

v0.10.25

Published

Aesthetic Rust TUI system dashboard — CPU, memory, disk, network, GPU, processes, now-playing, clock, file manager, notes and visualizer in one terminal pane

Readme

vanta

Your machine, one pane.

A fast, aesthetic terminal system dashboard in Rust. The most complete keyboard-driven terminal dashboard — one pane, four modes, zero mouse.

npm CI Release License Landing page


Vanta collapses everything you care about into one terminal pane: CPU, memory, disk, network, GPU, processes, now-playing, a block-digit clock, a calendar, and an audio visualizer. Keyboard only. ~3 MB binary, ~2–5% CPU at the default 30 fps.

npm install -g @ziuus/vanta && vanta

Install

One-liner, no install:

npx @ziuus/vanta@latest

Requirements

Linux (vanta reads /proc and /sys). Building from source also needs libdbus:

sudo pacman -S dbus              # Arch
sudo apt install libdbus-1-dev   # Debian / Ubuntu
sudo dnf install dbus-devel      # Fedora

Optional tools that light up extra panels — vanta degrades quietly without them:

| Tool | Unlocks | |------|---------| | cava | Audio visualizer (falls back to an idle wave) | | nmcli | Wi-Fi SSID + signal strength | | nvidia-smi | NVIDIA GPU utilisation, VRAM, temp | | docker | Running-container count | | checkupdates | Pending Arch package updates |

Managing vanta

vanta --version                 # what am I running
vanta --help                    # usage + keys

npm update -g @ziuus/vanta      # update  (npm)
npm uninstall -g @ziuus/vanta   # remove  (npm)

cargo install --git https://github.com/ziuus/vanta --force   # update  (cargo)
cargo uninstall vanta                                        # remove  (cargo)

rm -rf ~/.config/vanta          # drop config + persisted theme/page

Where things live:

| Path | What | |------|------| | ~/.config/vanta/config.toml | Config, plus the theme / page / visualizer vanta persists for you | | $(npm root -g)/@ziuus/vanta/bin/ | The npm-installed binary | | ~/.cargo/bin/vanta | The cargo-installed binary |

Vanta respects XDG_CONFIG_HOME if you set it.

Pages

| Key | Page | What's on it | |-----|------|--------------| | 1 | Dashboard | System facts + distro logo, semicircle gauges, CPU graph & cores, storage, big clock, now playing, visualizer, top processes, interactive status, memory, network, calendar | | 2 | Monitor | btop-style: CPU / memory / disk I/O / network / GPU graphs on top, full process table below (sort, filter, tree, kill) | | 3 | Aesthetic | Huge clock, calendar, matrix rain, spinning donut, pinned media (photos), full-width visualizer | | 4 | Workspace | Built-in File Manager (with image previews), Agenda, Tasks, RSS feeds, and Obsidian vault viewer | | ? | Help | Keybind reference overlay |

2 — Monitor

Every graph on top, every process below. Sort it, filter it, tree it, kill it.

3 — Aesthetic

For when the build is running and you want something to look at. Includes support for displaying a custom pinned image.

4 — Workspace

Turn your terminal into a productivity hub with a built-in file manager (with image previews), RSS news reader, tasks, agenda, and Obsidian vault viewer (with markdown syntax highlighting). Press e on any focused panel to edit the content in your $EDITOR.

? — Help

Every key, on screen, on any page.

Keys

| Key | Action | |-----|--------| | 1 2 3 4 | Switch page (persisted as startup page) | | Tab / Shift-Tab | Cycle panel focus · Esc clears | | Enter | Zoom the focused panel to the full page · Esc back | | T | Next theme (persisted) | | v | Visualizer style: bars / mirror / wave / peaks | | + / - | Sample faster / slower | | Space n p | Play/pause · next · previous (MPRIS, any page) | | < > | Volume down / up | | ? | Help overlay | | q | Quit | | ~ / F12 | Toggle Debug Logs overlay (s saves them to file) | | S / , | Open Settings overlay | | Ctrl + ←/→ | Resize dashboard columns horizontally (when focused) | | Ctrl + ↑/↓ | Resize dashboard components vertically (when focused) |

Processes (Monitor): ↑↓ PgUp PgDn Home End select · / filter (Enter keeps, Esc clears) · s sort field · r reverse · t tree · ←→ fold · c full command · k SIGTERM · K SIGKILL (press twice to confirm, x cancels)

Workspace: e opens the active note, agenda, task list, or file in your $EDITOR.

Calendar (focused): ←→ month · ↑↓ year · Home today

Themes

dark · catppuccin · tokyo-night · nord · gruvbox · dracula · light · solarized-light

Cycle with T — your choice is written back to the config file.

Custom Themes

You can easily load custom themes dynamically without recompiling Vanta.

  1. Create a themes folder inside your config directory (e.g. ~/.config/vanta/themes/).
  2. Drop in a .toml file with your theme name (e.g., cyberpunk.toml).
  3. Define your colors using hex codes:
    bg = "#000000"
    accent = "#00ff00"
    secondary = "#ff00ff"
    surface = "#111111"
    text = "#ffffff"
    dim = "#555555"
    green = "#00ff00"
    yellow = "#ffff00"
    red = "#ff0000"
  4. Press T in Vanta to cycle to it, or set it explicitly in your config.toml (theme = "cyberpunk").

Configuration & Customization

Vanta is highly configurable via ~/.config/vanta/config.toml. You can:

  • Change the layout, refresh rates, and themes
  • Add your own Custom Widgets using shell commands or files
  • Install community-built WASM Extensions to add entirely new UI panels without recompiling

For a complete guide to all configuration options, extensions, and custom widgets, please read: 👉 docs/CONFIGURATION.md

Architecture

All telemetry is collected on a single background sampler thread (/proc, /sys, sysinfo, D-Bus) into lock-guarded snapshots; the render loop only reads snapshots and never blocks on I/O.

| Layer | Technology | |-------|------------| | TUI | Ratatui 0.29 + Crossterm | | Telemetry | sysinfo, /proc, /sys/class/{hwmon,drm,power_supply} | | GPU | NVIDIA (nvidia-smi), AMD (sysfs), Intel (clock only) | | Media | MPRIS over D-Bus (dbus crate) | | Audio viz | cava raw output, idle wave fallback |

Contributing

Issues and PRs welcome — bug reports, new themes, new panels, or a GPU vendor that isn't covered yet.

git clone https://github.com/ziuus/vanta && cd vanta
cargo run --release

# CI runs exactly this — make it pass first
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test

Read CONTRIBUTING.md first — it covers how the code is laid out, the sampler-thread rule (never do I/O inside a render()), the panel degradation contract, and how to add a theme.

Good first contributions:

  • A new theme in src/theme.rs (add a constructor + its name to THEME_NAMES)
  • Per-interface network stats
  • NVMe / extra hwmon temperature sources
  • Mouse click-to-focus

License

MIT — do what you like, keep the notice.