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

git-submodules-tui

v2.1.0

Published

Interactive terminal UI for managing Git repositories with submodules

Readme

git-submodules-tui

npm version License: MIT

Interactive terminal UI for managing Git repositories with submodules. Built with Ink.

Features

  • 📊 Visual Status Dashboard - See all repos and submodules at a glance
  • 🎨 4 Color Themes - Dark, Light, Nord, and Minimal
  • ⌨️ Vim-style Navigation - hjkl or arrow keys
  • 🔄 Auto-refresh - Real-time updates every 2 seconds
  • 🎯 Status Indicators - Visual icons for clean/dirty/conflicts
  • 📈 Tracking Info - Ahead/behind commit counts
  • 🚀 Fast - Built with React/Ink for smooth performance

Installation

NPM Global Install (Recommended)

npm install -g git-submodules-tui

Zsh Plugin

Part of the git-submodules Oh My Zsh plugin:

git clone https://github.com/adishM98/git-submodules.git ~/.oh-my-zsh/custom/plugins/git-submodules
# Add 'git-submodules' to plugins in ~/.zshrc

Requirements

  • Node.js 14 or higher
  • zsh shell
  • Git 2.0 or higher

Usage

Navigate to any git repository with submodules:

cd /path/to/repo/with/submodules
gsm-tui

Keyboard Shortcuts

  • / k - Move selection up
  • / j - Move selection down
  • r - Refresh data manually
  • t - Cycle themes (dark → light → nord → minimal)
  • h / ? - Toggle help panel
  • q / Esc - Quit

Display

The TUI shows:

  • Repository tree - Base repository + all submodules
  • Branch information - Current branch per repository
  • Status icons:
    • ✓ Clean (no changes)
    • ● Dirty (uncommitted changes)
    • ✗ Conflicts
  • Change counts - Staged + unstaged + untracked files
  • Tracking indicators:
    • ▲3 Ahead by 3 commits
    • ▼2 Behind by 2 commits

Themes

Press t to cycle through themes:

  • Dark - Bright colors on dark background (default)
  • Light - Dark colors on light background
  • Nord - Nord color palette
  • Minimal - Monochrome ASCII-only

Troubleshooting

"bridge.zsh not found"

Ensure you installed via npm or the zsh plugin method:

npm uninstall -g git-submodules-tui
npm install -g git-submodules-tui

"zsh is required"

Install zsh:

  • macOS: brew install zsh
  • Ubuntu/Debian: sudo apt-get install zsh
  • See: https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH

"Not a git repository"

Make sure you're in a git repository:

git status
# Should not show "fatal: not a git repository"

Development

git clone https://github.com/adishM98/git-submodules.git
cd git-submodules/tui
npm install
npm run dev

Build

npm run build

Test Locally

npm link
gsm-tui

Related Projects

This TUI is part of the larger git-submodules Oh My Zsh plugin, which provides:

  • 25+ git submodule commands
  • Smart commit message generation
  • Parallel operations
  • Interactive branch management
  • And much more

License

MIT © adishM98

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support