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

glissa

v0.16.0

Published

Spawn and manage Claude Code sessions with a browser dashboard: a Windows terminal manager with real-time xterm.js streaming

Readme

Glissa

npm version License: MIT Node.js Platform: Windows

Run dozens of Claude Code agents at once. See every session. Miss nothing.

Claude Code is powerful, but managing multiple sessions across terminals is chaos. You're alt-tabbing between windows, losing track of which agent is waiting for input, and missing the moment one finishes. Work piles up while you context-switch.

Glissa gives you a single browser dashboard to spawn, monitor, and control all your Claude Code sessions in real time. Live terminal output streams via WebSocket. Native browser notifications tell you exactly when a session needs attention. Every agent, every project, one screen.

Built for Windows: the platform where multi-session Claude Code tooling didn't exist. One npm install -g glissa and you're running.

Glissa Dashboard

Install

npm install -g glissa

Usage

glissa                      # Start on default port 3000
glissa --port 3001          # Custom port
glissa --config <path>      # Custom config file path
glissa doctor               # Diagnose install / PATH issues
glissa --help               # Show help
glissa --version            # Show version

Open http://localhost:3000 to view the dashboard.

Troubleshooting

glissa is not recognized after npm install -g glissa

The install succeeded, but the directory where npm placed the glissa command is not on your PATH (common with a zip/standalone Node, a locked-down corporate image, or pnpm without pnpm setup). To fix it:

  1. Confirm it installed: npm ls -g glissa

  2. Find npm's global command directory: npm config get prefix. On Windows the command shims (glissa.cmd, glissa.ps1) live directly in that directory.

  3. Make sure that directory is on your PATH. The official Node.js Windows installer adds it for you; if you installed Node from a zip, add it in PowerShell, then open a NEW terminal:

    [Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH","User") + ";$(npm config get prefix)", "User")
  4. Using pnpm? Run pnpm setup once (it configures and registers the global bin directory), then reinstall.

  5. Once glissa resolves, run glissa doctor to confirm PATH, the native module, and the config path are all healthy.

Features

  • Focus view: a single-session work surface with a roster rail of every session beside a worktree review sidebar
  • Per-session git worktree isolation: review and merge each agent's committed work from the dashboard while it keeps running
  • Spawn and manage multiple Claude Code sessions simultaneously
  • Real-time terminal output via xterm.js with WebGL acceleration
  • Dual WebSocket architecture (control channel + per-session PTY streaming)
  • Structural status detection: authoritative Claude Code hooks (injected per session, no repo changes) with an OSC-0 title fallback, never screen scraping
  • Native browser notifications when a session needs input, finishes, or fails (opt-in Windows toast fallback)
  • Keyboard navigation: jump between sessions, step through the ones needing attention, and merge or resolve from the keyboard
  • Teams: project-portable agent pipelines that run against any project you manage
  • Dormant boot so unopened sessions cost nothing until you focus them
  • Configurable themes (Golgari, Midnight, Phyrexian, Compleated)
  • Hot-reloadable configuration

Focus

Glissa centers on one session at a time. A left roster rail lists one pill per session (grouped by project, with a live working heartbeat and a "needs you" queue); the center borrows that session's live terminal as the work surface; a right review sidebar shows its changes.

Every git-repo session runs in its own git worktree forked from the integration branch (integrationBranch, default develop), so an agent's edits stay out of your main checkout until you review them. The sidebar splits Committed (the mergeable unit) from Uncommitted work, keeps the diff live, and merges into the integration branch with one click while the session keeps running. If a merge hits conflicts it parks, and Resolve in session hands the conflict back to the agent that owns the worktree with a ready-to-run prompt.

Navigate it all from the keyboard: Alt+1..Alt+9 jump to a session, Alt+Up/Alt+Down move through the rail, Alt+W steps through the sessions needing attention, and Alt+M / Alt+R merge or resolve the selected one. Press ? for the full list.

Teams

A team is a sequential agent pipeline (the bundled marketing team runs researcher -> strategist -> writer -> editor -> publisher) that you can point at any project Glissa manages. Ownership is split so the same agents serve every project:

  • Glissa owns the agents: generic, brand-neutral role prompts under teams/<id>/.
  • The project owns the pack: its voice, avoid-list, brand, content calendar, and channels live under <project>/.glissa/teams/<id>/pack/.

On first run, Glissa scaffolds the pack and halts until you fill it in, either by hand or with the dashboard's Set up automatically button, which spawns one interactive Claude session that reads the repo and interviews you for the subjective fields. Each run executes inside a throwaway git worktree so your working tree is never dirtied mid-run.

Configuration

On first run, Glissa creates ~/.glissa/config.json with defaults. You can also configure from the dashboard Settings button.

{
  "port": 3000,
  "projects": [
    { "name": "my-project", "path": "C:\\path\\to\\project" }
  ],
  "repoRoots": ["C:\\path\\to\\repos"]
}

Requirements

  • Node.js >= 18
  • Windows 11
  • Claude Code CLI installed and available on PATH

Development

npm install
npm run dev             # Vite dev server with HMR (port 5173)
npm run dev:server-only # Express backend only (port 3000)
npm run build           # Production build to dist/
npm start               # Production server

Changelog

See CHANGELOG.md for release history.

License

MIT