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

claude-dock

v1.4.0

Published

A lightweight terminal dock for macOS to manage AI coding agent sessions - Claude Code, Amp, and Codex

Readme

Claude Dock

A lightweight, expandable terminal dock for macOS built with Hammerspoon. Manage multiple AI coding agent sessions - Claude Code, Amp, and Codex.

Claude Dock npm version

Features

  • Multi-agent support - Works with Claude Code, Sourcegraph Amp, and OpenAI Codex
  • Expandable dock - Start with 3 slots, add more with "+" button or hotkey
  • Terminal management - Each slot tracks a specific terminal window
  • Auto-launch - New terminals automatically run your configured agent
  • Custom naming - Name your terminals for easy identification
  • Visual status - See which terminals are active, minimized, or on other spaces
  • Notification badges - Red dot appears when a terminal has activity while unfocused
  • Quick access - Click to focus/unminimize terminals
  • Keyboard shortcuts - Full hotkey support

Installation

npx claude-dock

That's it! The installer will:

  • Install Hammerspoon (if needed)
  • Set up the dock configuration
  • Launch Hammerspoon

Note: You'll need to grant Accessibility permissions when prompted: System Settings → Privacy & Security → Accessibility → Enable Hammerspoon

Manual Installation

  1. Install Hammerspoon:

    brew install --cask hammerspoon
  2. Grant Accessibility permissions:

    • System Settings > Privacy & Security > Accessibility
    • Enable Hammerspoon
  3. Clone this repo and copy the config:

    git clone https://github.com/matthewmolinar/claude-dock.git
    cp claude-dock/init.lua ~/.hammerspoon/init.lua
  4. Launch Hammerspoon (or reload if already running)

Usage

Keyboard Shortcuts

| Shortcut | Action | |----------|--------| | Cmd+Option+T | Toggle dock visibility | | Cmd+Option+N | Add new slot + launch terminal | | Cmd+Option+M | Minimize all terminals | | Cmd+Option+R | Reload configuration | | Option+Click | Rename a slot |

Slot States

| Color | Status | |-------|--------| | Gray | Empty - click to open new terminal | | Green | Active terminal | | Blue | Minimized or on other space | | Red dot | Terminal has new activity |

Click Actions

  • Click empty slot - Prompts for name, opens terminal, runs agent
  • Click active slot - Focuses that terminal window
  • Click minimized slot - Unminimizes and focuses
  • Click "+" button - Adds new slot and launches terminal
  • Option+Click any slot - Rename it

Configuration

Edit ~/.hammerspoon/init.lua to customize.

Changing the Agent

By default, claude-dock launches claude. To use a different agent:

local config = {
    -- Agent to launch: "claude", "amp", or "codex"
    agent = "amp",  -- Change to your preferred agent
    ...
}

Supported agents:

Other Options

local config = {
    agent = "claude",      -- Which AI agent to launch
    slotWidth = 140,       -- Width of each slot
    slotHeight = 60,       -- Height of each slot
    gap = 8,               -- Gap between slots
    margin = 10,           -- Dock padding
    bottomOffset = 5,      -- Distance from screen bottom
    initialSlots = 3,      -- Starting number of slots
}

Running Tests

hs -c "runTests()"

License

MIT License - see LICENSE for details.

Contributing

Contributions welcome! Please open an issue or PR.