Visulima Dev Toolbar

A framework-agnostic development toolbar for Vite applications with built-in accessibility auditing, performance monitoring, SEO inspection, and an extensible app system.

Last updated:

@visulima/dev-toolbar is a powerful, extensible development toolbar for any Vite-based project — React, Vue, Svelte, SolidJS, or plain HTML. Inspired by Astro DevToolbar, Vue DevTools, and Nuxt DevTools, it brings a consistent developer experience regardless of your framework.

The toolbar renders inside a Shadow DOM custom element for complete CSS isolation, communicates with the Vite dev server over type-safe RPC, and ships seven built-in apps covering the most common development workflows.

Features

Framework Agnostic

Works with any Vite project. React, Vue, Svelte, SolidJS — zero framework assumptions.

7 Built-in Apps

Accessibility auditing, Performance metrics, SEO inspection, Vite Config viewer, Module Graph, Timeline events, and Settings — out of the box.

Extensible App System

Register custom apps with Preact components, full RPC access, and tooltip support. Build your own devtools panel in minutes.

Type-safe RPC

Bidirectional communication between the browser and Vite's Node.js process. Inspect files, open editors, read configs — all typed end-to-end.

Persistent State

Panel size, position, theme, and keyboard shortcuts are saved to localStorage and restored across page reloads automatically.

Library Integration

Third-party libraries can hook in via __DEV_TOOLBAR_HOOK__ without any direct dependency, enabling zero-config devtools for your users.

Built-in Apps at a Glance

AppIDWhat it does
Accessibilitydev-toolbar:a11yaxe-core WCAG audit with live element overlays
Performancedev-toolbar:performanceWeb Vitals, resource timing, navigation metrics
SEOdev-toolbar:seoSocial preview cards + meta tag audit
Timelinedev-toolbar:timelineChronological event log from your app and libraries
Module Graphdev-toolbar:module-graphBrowse and filter Vite's live module graph
Vite Configdev-toolbar:vite-configInspect the resolved Vite configuration
Settingsdev-toolbar:settingsTheme, toolbar behaviour, keyboard shortcuts

How it Works

The toolbar is injected into the page by a Vite plugin as a <dev-toolbar> custom element. It renders a Preact UI inside Shadow DOM — so no styles leak in or out. Each "app" is a Preact component that receives RPC helpers and renders inside a resizable, draggable panel.

Browser                          Vite Dev Server
──────────────────────────────   ────────────────────────
<dev-toolbar> (Shadow DOM)  ←──  HTML injection (script tag)
  ├── Toolbar pill                ├── RPC handler
  ├── Panel canvas       ←──────→ ├── getViteConfig()
  │   ├── App: A11y               ├── getModuleGraph()
  │   ├── App: Performance        └── openInEditor()
  │   └── App: SEO
  └── Settings (localStorage)

Keyboard Shortcuts

ActionDefault
Toggle toolbar open/closeAlt+Shift+D
Close active app / panelEscape

Both shortcuts are fully configurable in the Settings app or via the plugin options.

Support

Contribute to our work and keep us going

Community is the heart of open source. The success of our packages wouldn't be possible without the incredible contributions of users, testers, and developers who collaborate with us every day.Want to get involved? Here are some tips on how you can make a meaningful impact on our open source projects.

Ready to help us out?

Be sure to check out the package's contribution guidelines first. They'll walk you through the process on how to properly submit an issue or pull request to our repositories.

Submit a pull request

Found something to improve? Fork the repo, make your changes, and open a PR. We review every contribution and provide feedback to help you get merged.

Good first issues

Simple issues suited for people new to open source development, and often a good place to start working on a package.
View good first issues