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

bun-wtui

v1.1.0

Published

Neovim-style TUI dashboard for Bun workspaces

Readme

Bun-Wtui

Neovim-style TUI dashboard for Bun workspaces.

Bun-Wtui is a lightweight terminal UI that lets you navigate your monorepo workspaces from a sidebar and view live logs in a split panel layout. It’s designed for developers who want something simpler than heavy task runners — just clean navigation and logs.

inspired by: Turborepo


Features

  • Sidebar workspace navigation (↑/↓)
  • Tree-style workspace explorer (optional)
  • Live log viewer for selected workspace
  • Restart selected workspace (r)
  • Stop selected workspace (s)
  • Lint dependencies in overlay (l)
  • Fix dependency mismatches in overlay (f)
  • Quit instantly (q or Ctrl+C)
  • Auto-detects Bun workspaces from package.json
  • Running status indicators (● running / — stopped)
  • ▌ Active workspace indicator
  • Expandable/collapsible directory nodes in tree view
  • Works with any Bun monorepo
  • Powered by syncpack for dependency management

Examples

BunTUI Dashboard

Installation

bun add -d bun-wtui

recommended to add -d flag as devDependencies

Add this to your root package.json:

{
  "scripts": {
    "dev": "bun-wtui"
  }
}

Then run:

bun run dev

CLI Commands

bun-wtui {commands}

help: Show command flags tui: Show deafult tui lint: List workspaces dependencies issues fix: Fix workspaces dependencies issues


How It Works?

BunTUI:

  1. Reads your root package.json
  2. Detects "workspaces"
  3. Lists them in a sidebar
  4. Runs bun run dev inside the selected workspace
  5. Streams logs to the right panel
  6. Lint and Fix dependencies issue comes from syncpack

No extra config required.


Controls

List View (default)

| Key | Action | | ------ | --------------------------- | | ↑ / ↓ | Navigate workspaces | | Enter | Select workspace | | r | Restart selected workspace | | s | Stop selected workspace | | l | Lint dependencies (overlay) | | f | Fix mismatches (overlay) | | ESC | Close overlay | | q | Quit | | Ctrl+C | Quit |

Tree View (when enabled)

| Key | Action | | ------ | ------------------------------ | | ↑ / ↓ | Navigate workspaces/folders | | Enter | Select workspace or expand dir | | r | Restart selected workspace | | s | Stop selected workspace | | l | Lint dependencies (overlay) | | f | Fix mismatches (overlay) | | ESC | Close overlay | | q | Quit | | Ctrl+C | Quit |


Configuration (Optional)

Bun-Wtui works with zero configuration, but you can customize behavior by creating a config file in your project root:

  • bun-wtui.json
  • .bun-wtui.json
  • config/bun-wtui.json

Example configuration:

{
  "ui": {
    "theme": "dark",
    "minWidthForLandscape": 80,
    "sidebarWidth": 25,
    "showTimestamps": false
  },
  "workspace": {
    "excludeWorkspaces": [],
    "autoDetectWorkspaces": true,
    "treeViewEnabled": false
  },
  "syncpack": {
    "dependencyTypes": ["prod", "dev"],
    "autoLintOnStart": false
  },
  "behavior": {
    "logLevel": "normal", // "verbose" | "normal" | "quiet"
    "rememberLastWorkspace": false
  }
}

Config Options:

| Option | Type | Default | Description | | ------ | ---- | ------- | ----------- | | ui.minWidthForLandscape | number | 80 | Terminal width threshold for side-by-side layout | | ui.sidebarWidth | number | 25 | Sidebar width percentage in landscape mode | | ui.showTimestamps | boolean | false | Add timestamps to log entries | | workspace.excludeWorkspaces | string[] | [] | Workspace paths to hide from sidebar | | workspace.autoDetectWorkspaces | boolean | true | Automatically detect workspaces from package.json | | workspace.treeViewEnabled | boolean | false | Enable hierarchical tree view for workspaces | | syncpack.dependencyTypes | string[] | ["prod", "dev"] | Dependency types to check | | syncpack.autoLintOnStart | boolean | false | Automatically run lint on startup | | behavior.logLevel | string | "normal" | Log verbosity (verbose/normal/quiet) | | behavior.rememberLastWorkspace | boolean | false | Remember last selected workspace |

See bun-wtui.json.example for a complete example.


Supported Workspace Format

Example:

{
  "workspaces": [
    "apps/*",
    "packages/*"
  ]
}

Each workspace must have a dev script:

{
  "scripts": {
    "dev": "next dev"
  }
}

Philosophy

Bun-Wtui is not a task graph engine.

It does not cache builds. It does not optimize pipelines. It does not manage dependencies.

It simply:

Shows your workspaces Lets you navigate Streams logs cleanly

Minimal. Focused. Fast.


Roadmap

  • [ ] Memory usage display
  • [x] Config file support
  • [ ] Custom script flag (--script build)
  • [x] Tree-style workspace explorer

🛠 Development

Build locally:

bun run test

Test:

run this on a sandbox project

bun link bun-wtui

Run:

bun bun-wtui

Publishing

Bump Version

npm version patch  # 1.0.1 -> 1.0.2
npm version minor  # 1.0.1 -> 1.1.0
npm version major  # 1.0.1 -> 2.0.0

Publish to npm

npm publish