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

cdd-cli

v4.0.0

Published

CLI Docker Dashboard

Readme

CDD — CLI Docker Dashboard

A terminal dashboard for Docker containers — monitor, manage, and create, all without leaving your keyboard.


🎉 What's new in v3.2

v3.2 ships the interactive creation wizard — and it's a game changer.

Forget docker run flags, forgotten env vars, and broken :latest tags. Press C and CDD guides you through creating a container in seconds:

  • 20 curated image profiles available offline — postgres, redis, nginx, node, mysql, mongo, and more
  • Smart default tags that actually work: postgres:17-alpine, redis:7-alpine, nginx:1.27-alpine — no more silent :latest failures
  • Live Docker Hub search with a single Tab keystroke — with a [searching Docker Hub...] indicator so you always know what's happening
  • Contextual env var hints — creating a Postgres container? CDD suggests POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB automatically
  • Context-sensitive HUD — only the keys that make sense right now are shown, nothing more

This is what developer experience should feel like.


Features

  • 🐳 Live view of all Docker containers with CPU/memory stats
  • 🔄 Auto-refresh every few seconds — always up to date
  • ⌨️ Keyboard-driven actions: start, stop, restart, log streaming, removal
  • 🎨 Color-coded container states and visual feedback
  • Interactive creation wizard — step-by-step container setup with curated profiles and live Hub search
  • 🪵 Real-time log streaming for any selected container
  • 🐛 Toggleable live debug panel (D key)

Install globally

npm install -g cdd-cli
cdd

Quick start (local)

git clone https://github.com/caertos/cdd.git
cd cdd
npm install
npm run build
node dist/index.js

To use as a global command during development:

npm link
cdd

Usage

Use / to navigate containers. Available keyboard shortcuts:

| Key | Action | |-----|--------| | / | Navigate container list | | I | Start selected container | | P | Stop selected container | | R | Restart selected container | | C | Open creation wizard | | L | Stream logs for selected container | | E | Erase (remove) selected container — confirmation required | | D | Toggle live debug panel | | Q | Quit |


The Creation Wizard

Press C from the dashboard to launch the wizard. A context-sensitive HUD at the bottom always shows which keys are active at each step — no guessing required.

Step 0 — Image

Type to filter through 20 curated offline profiles (postgres, redis, nginx, node, mysql, mongo, python, golang, and more). Results appear instantly.

Press Tab at any time to search Docker Hub live. A [searching Docker Hub...] indicator confirms the search is running. Use / to navigate suggestions, Enter to select.

Smart default tags: selecting an image profile automatically applies a known-good tag — postgres:17-alpine, redis:7-alpine, nginx:1.27-alpine, etc. No more containers that fail silently because of a stale :latest.

Step 1 — Container name

Free-text input. Give your container a memorable name.

Step 2 — Port mapping

Enter a port mapping in HOST:CONTAINER format, e.g. 8080:80, 5432:5432. Leave blank to skip.

Step 3 — Environment variables

Enter KEY=VALUE pairs one at a time. Contextual hints show recommended variables for the selected image:

| Image | Suggested vars | |-------|---------------| | postgres | POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB | | mysql | MYSQL_ROOT_PASSWORD, MYSQL_DATABASE | | redis | (no required vars) | | mongo | MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD | | node / nginx / others | Common runtime vars as applicable |

Press Enter on an empty line to finish and create the container.


Requirements

  • Node.js >= 18
  • Docker installed and running (CDD connects to the local Docker socket)

Development

npm install
npm run build        # compile src/ → dist/
node dist/index.js   # run from compiled output

Re-run npm run build after any source changes. Use npm link to test the global cdd command locally.


Tests

npm test

Tests live in test/ and cover helpers, services, and hooks.


Logging

By default CDD shows info, warn, and error messages. For deeper diagnostics:

CDD_LOG_LEVEL=debug cdd

Press D inside the dashboard to toggle the live debug panel in real time. Press D again to hide it.

To capture logs to a file:

CDD_LOG_LEVEL=debug cdd > cdd-debug.log 2>&1

Troubleshooting

  • No containers visible? Make sure Docker is running and your user has access to the Docker socket.
  • Permission errors on Linux/macOS? Try sudo cdd or add your user to the docker group.
  • Windows? Run your terminal as Administrator.
  • dist/ missing? Run npm run build — it's in .gitignore and not committed.
  • Wizard search not working? Check your internet connection. Offline profiles always work without network access.

Contributing

See CONTRIBUTING.md.


License

MIT/ISC — see LICENSE.


🇪🇸 Ver en Español