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

batipanel

v0.4.46

Published

AI-powered terminal workspace manager — multi-panel tmux layouts with Claude Code, git, monitoring, and more

Readme


One command. Full dev environment. Auto-installs Claude Code, lazygit, btop, yazi + configures your terminal. Manage everything as persistent tmux sessions with just b.

curl -fsSL batipanel.com/install.sh | bash

What happens when you run this:

  1. Auto-installs everything — tmux, Claude Code, lazygit, btop, yazi, eza (+ Nerd Font on macOS)
  2. Configures your terminal — themed prompt, powerline glyphs, color scheme
  3. One command to startb myproject launches a multi-panel workspace
  4. Session persistence — SSH drops? Terminal closed? b myproject brings it all back.

Quick Start

# Install (pick one)
npx batipanel                                         # Node.js users (quickest)
npm install -g batipanel                              # Node.js users (global)
curl -fsSL https://batipanel.com/install.sh | bash    # Everyone else

# Start your workspace
b myproject

# Done? Detach with:
# Ctrl+b then d    ← session keeps running in the background
# b myproject      ← come back anytime, everything restored

Key Features

| | | |---|---| | All-in-one install | One command sets up Claude Code + 5 dev tools + terminal theme. No manual config. | | Session management | b start, b stop, b ls — manage workspaces like containers. Persistent across disconnects. | | 8 layouts | From 4-panel laptop to 8-panel ultrawide. Switch with b myproject --layout 6panel. | | 8 color themes | Dracula, Nord, Gruvbox, Tokyo Night, Catppuccin, Rose Pine, Kanagawa. Live reload with b theme. | | Smart fallbacks | Every tool has a fallback. No btop? Uses htop. No htop? Uses top. Nothing breaks. | | Cross-platform | macOS (Terminal.app, iTerm2) + Linux (Ubuntu, Amazon Linux, CentOS) + WSL. |


Layouts

b myproject                     # use default layout
b myproject --layout 6panel     # use specific layout
b config layout dual-claude     # change default

| Layout | Panels | Best For | |--------|--------|----------| | 7panel (default) | 7 | AI coding + external monitor | | 4panel | 4 | Laptops (13-14") | | 5panel | 5 | Balanced workspace | | 6panel | 6 | General dev + large monitor | | 7panel_log | 7 | Full-width log bar | | 8panel | 8 | Dual Claude + monitoring | | dual-claude | 7 | Multi AI agent + ultrawide | | devops | 5 | Docker / K8s operations |

7panel (default)

┌────────────────────────────────┬──────────────┐
│                                │ btop         │
│  claude (main workspace)       ├──────────────┤
│  55% width, 70% height        │ file tree    │
│                                ├──────────────┤
│                                │ remote-ctrl  │
├───────────┬────────────────────┴──────────────┤
│ lazygit   │ terminal         │ logs/server    │
└───────────┴──────────────────┴────────────────┘

4panel

┌────────────────────────┬──────────────────┐
│  claude (main)         │  btop            │
├────────────────────────┼──────────────────┤
│  lazygit               │  terminal        │
└────────────────────────┴──────────────────┘

6panel

┌──────────────┬───────────────┬────────────────┐
│ remote-ctrl  │ claude        │ btop           │
├──────────────┼───────────────┼────────────────┤
│ lazygit      │ terminal      │ file tree      │
└──────────────┴───────────────┴────────────────┘

dual-claude

┌──────────────────┬──────────────────┐
│  claude #1       │  claude #2       │
│  (main)          │  (secondary)     │
├──────────┬───────┴──────┬───────────┤
│ lazygit  │  terminal    │ file mgr  │
└──────────┴──────────────┴───────────┘

devops

┌──────────────────┬──────────────────┐
│  claude          │  btop            │
├──────────────────┼──────────────────┤
│  lazydocker      │  terminal        │
├──────────────────┴──────────────────┤
│  logs — full width (docker logs)    │
└─────────────────────────────────────┘

5panel

┌──────────────────────────────┬──────────────┐
│  claude (main)               │  lazygit     │
├──────────────┬───────────────┼──────────────┤
│ remote-ctrl  │  terminal     │  file tree   │
└──────────────┴───────────────┴──────────────┘

7panel_log

┌───────────────────────┬──────────┬────────────┐
│  claude (main)        │ lazygit  │ btop       │
├──────────┬────────────┤          │            │
│ remote   │ terminal   ├──────────┤            │
│          │            │ file tree│            │
├──────────┴────────────┴──────────┴────────────┤
│  logs — full width (tail -f / npm run dev)    │
└───────────────────────────────────────────────┘

8panel

┌──────────────┬──────────────┬──────────────┐
│  claude #1   │  claude #2   │  btop        │
│  (main)      │  (secondary) │              │
│              │              ├──────────────┤
│              │              │  logs        │
├──────────────┴──────────────┼──────────────┤
│  lazygit                    │  file mgr    │
└─────────────────────────────┴──────────────┘

Color Themes

b theme              # list all themes
b theme dracula      # apply a theme (live reload)

| Theme | Style | |-------|-------| | default | Green/blue — clean and balanced | | dracula | Purple/pink dark theme | | nord | Arctic blue palette | | gruvbox | Retro warm colors | | tokyo-night | Blue/purple night theme | | catppuccin | Pastel warm dark (Mocha) | | rose-pine | Warm rose, soho vibes | | kanagawa | Japanese ink painting palette |

Themes apply to tmux status bar (Powerline arrows), window tabs, pane borders, and shell prompt. Persists across sessions.


Commands

# Session
b myproject                        # start or resume
b myproject --layout 6panel        # start with specific layout
b stop myproject                   # stop session
b reload myproject                 # restart session

# Project
b new myproject ~/path/to/project  # register project
b ls                               # list sessions & projects

# Config
b config layout 7panel_log         # change default layout
b theme dracula                    # change color theme
b config iterm-cc on               # iTerm2 native integration

# System
b doctor                           # check system health
b layouts                          # show available layouts
b help                             # show all commands

# AI Telegram Bot (Docker)
b server init                      # interactive setup
b server start                     # start server
b server stop                      # stop server
b server status                    # status + security report

Keyboard Shortcuts

| Shortcut | Action | |----------|--------| | Alt + h/j/k/l | Move between panels (vim-style) | | Alt + Arrow Keys | Move between panels | | Alt + f | Zoom/focus current panel (toggle) | | Alt + Space | Toggle last panel | | Alt + 1-9 | Switch to window by number |

Panel Management

| Shortcut | Action | |----------|--------| | Alt + \ | Split vertically | | Alt + - | Split horizontally | | Alt + x | Close current panel | | Alt + n | New window | | Alt + [ / ] | Previous / next window |

Resizing

| Shortcut | Action | |----------|--------| | Alt + Shift + Arrow | Fine resize (1 unit) | | Prefix + Arrow | Resize (5 units, prefix = Ctrl+B) | | Prefix + = | Equalize all panels | | Mouse drag | Drag panel borders |

Swapping

| Shortcut | Action | |----------|--------| | Alt + Shift + h/j/k/l | Swap panel in direction |

Copy Mode (vi-style)

| Shortcut | Action | |----------|--------| | Prefix + [ | Enter copy mode | | v | Begin selection | | Ctrl + v | Rectangle selection | | y | Copy to clipboard | | Escape | Exit copy mode |

Session

| Shortcut | Action | |----------|--------| | Prefix + s | List sessions | | Prefix + S | New session | | Prefix + r | Reload tmux config |


Installation

  1. Open Terminal (Cmd + Space → "Terminal")
  2. Run:
    curl -fsSL https://batipanel.com/install.sh | bash
  3. Type b to start

Alternatives: npx batipanel (Node.js required) or brew install batiai/tap/batipanel

  1. Open your terminal
  2. Run:
    curl -fsSL https://batipanel.com/install.sh | bash
  3. Type b to start

Alternatives: npx batipanel or git clone https://github.com/batiai/batipanel.git && cd batipanel && bash install.sh

Step 1: Install WSL2 (PowerShell as Administrator):

wsl --install

Step 2: Open Windows Terminal > Ubuntu tab:

curl -fsSL https://batipanel.com/install.sh | bash

Step 3: Type b

Tip: Use Windows Terminal and go fullscreen (F11) for the best experience.

# npm — one-time run
npx batipanel

# npm — global install
npm install -g batipanel

# Homebrew
brew tap batiai/tap
brew install batipanel

# Manual
git clone https://github.com/batiai/batipanel.git
cd batipanel && bash install.sh

The installer auto-detects your package manager (apt, dnf, pacman, brew, port, nix, apk, zypper) and installs everything.

# Upgrade
npm update -g batipanel          # npm
brew upgrade batipanel            # Homebrew
cd batipanel && git pull && bash install.sh  # manual

# Uninstall
npm uninstall -g batipanel        # npm
brew uninstall batipanel          # Homebrew
bash uninstall.sh                 # manual

Your projects and settings are always preserved during upgrades.


AI Telegram Bot (OpenClaw) — Experimental

Note: This feature is experimental and under active development. API and configuration may change.

Deploy a personal AI bot in an isolated Docker environment with one command.

b server init     # 3-step setup wizard (bot token, AI model, user ID)
b server start    # start Docker server — done!
  • Zero extra cost for Claude Max subscribers ($200/mo) — OpenClaw gateway uses your existing session
  • 5-layer Docker isolation — read-only filesystem, network loopback, Telegram allowlist, sandboxed tool execution
  • Full AI agent capabilities via Telegram: web search, PDF analysis, code execution, report generation
b server init       # interactive setup wizard
b server start      # start the Docker server
b server stop       # stop the server
b server status     # status + security report
b server logs [-f]  # view logs
b server update     # pull latest image & restart
b server config     # view config (secrets masked)

| Security Layer | Protection | |----------------|-----------| | Container | Read-only filesystem, dropped Linux capabilities | | Sandbox | Tool execution in separate containers | | Network | Loopback binding only (not exposed to LAN) | | Access | Telegram allowlist (only your user ID) | | Credentials | File permissions 600, gateway token auto-generated |


Requirements

| Tool | Required? | Notes | |------|-----------|-------| | tmux | Yes | Auto-installed | | Claude Code | Recommended | curl -fsSL https://claude.ai/install.sh \| bash | | lazygit | Optional | Git UI (fallback: git status) | | btop | Optional | Monitor (fallback: htop → top) | | yazi | Optional | File manager (fallback: eza → tree) | | Docker | Optional | Only for b server (Telegram bot) |

All optional tools are auto-installed when possible. Missing tools gracefully fallback to simpler alternatives.


Platform Support

| Platform | Status | Terminals Tested | |----------|--------|------------------| | macOS | Stable | Terminal.app, iTerm2 | | Ubuntu/Debian | Stable | GNOME Terminal, default terminal | | Amazon Linux / CentOS | Beta | default terminal (tmux 2.6+ required, auto-installed) | | Windows | Beta | Windows Terminal + WSL2 | | Other Linux | Community | Alacritty, Kitty, WezTerm, xterm |

macOS Terminal.app (built-in)

batipanel works out of the box with macOS's built-in Terminal. The installer automatically:

  • Creates a dedicated batipanel Terminal profile (your original profile is untouched)
  • Installs Nerd Font (MesloLGS NF) via Homebrew and sets it on the profile
  • Applies theme colors (background, text, cursor)

All layouts, panels, keyboard shortcuts, 256-color themes, Powerline arrows, and session resume work fully.

Want true color (24-bit)? Use iTerm2 for the richest color experience. Terminal.app supports 256 colors which covers all themes well.

Linux

The installer auto-installs Nerd Font to ~/.local/share/fonts. You may need to select the font manually in your terminal's preferences (look for "MesloLGS NF" or "MesloLGS Nerd Font").

On distributions with old tmux (e.g. Amazon Linux 2 ships 1.8), the installer will attempt to install tmux 3.x automatically.

Panels look too small? Try b myproject --layout 4panel or maximize your terminal.

"tmux is not installed"? Run brew install tmux (macOS) or sudo apt install tmux (Ubuntu).

"claude CLI not installed"? Run curl -fsSL https://claude.ai/install.sh | bash. Everything else still works without it.

Powerline arrows showing as ">"? Make sure your terminal font is set to a Nerd Font (e.g., MesloLGS NF). On macOS, the installer sets this automatically.

WSL clipboard not working? Run sudo apt install xclip.

Navigation: Use Alt + h/j/k/l to switch panels, Alt + f to zoom, mouse click to select.


Documentation

| | | |---|---| | Getting Started | Install, first run, activation | | Usage Guide | Commands, sessions, project management | | Layouts & Panels | 8 presets, panel types, customization | | Themes | 8 color themes, fonts, prompt styling | | Configuration | config.sh, tmux.conf, env variables | | Supported Tools | Claude Code, lazygit, btop, yazi, eza | | Remote & SSH | Server sessions, detach/reattach | | FAQ | Troubleshooting, platform-specific fixes | | Contributing | Dev setup, testing, PR guidelines | | Roadmap | Planned features, what's next |


Contributing

Contributions welcome! See CONTRIBUTING.md for details.


License

MIT — Copyright (c) 2026 bati.ai

"batipanel" and the batipanel logo are trademarks of batiai. See TRADEMARK.md for details.