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

@scinddev/xcind

v0.6.1

Published

Slim shell wrapper around docker compose with per-application config

Readme

Xcind

Xcind is a slim shell wrapper around docker compose that resolves compose files, env files, and override variants per-application from a .xcind.sh config — and adds a shared Traefik proxy, host.docker.internal normalization, and workspace-mode networking on top.

Install

# npm (recommended)
npm install -g @scinddev/xcind

# Install script
sudo ./install.sh                    # /usr/local
./install.sh ~/.local                # custom prefix

# Nix
nix profile install github:scinddev/xcind

# Docker
docker pull ghcr.io/scinddev/xcind:latest

Full installation guide: docs/getting-started/installation.md.

Quick Start

In any project with a compose.yaml:

xcind-application init               # writes .xcind.sh
xcind-compose up -d                  # like `docker compose`, but resolves config

That's it. xcind-compose is a drop-in for docker compose and forwards every argument straight through. From now on it works from any subdirectory of your project, picks up .override siblings of your compose / env files, and runs the built-in hooks (naming, host-gateway, etc.).

To reach your app at https://<app>.localhost instead of localhost:PORT, set up the shared proxy once and declare an export — see docs/guides/proxy-setup.md.

What you get

  • One config file per app. .xcind.sh is sourceable bash; defaults match docker compose's own discovery.
  • Override files for free. compose.override.yaml, .env.override, .env.local — all picked up if present.
  • Shared Traefik proxy. Hostname routing across all your Xcind apps. Stable host-port "assigned" exports for things that need a fixed port.
  • host.docker.internal everywhere. Normalized across Docker Desktop, native Linux, and WSL2.
  • Workspaces. Group multiple apps under one parent so they share a domain and an internal network.
  • Custom hooks. Generate your own compose overlays from app context.

Documentation

Development

make test       # run tests
make format     # auto-format shell
make lint       # shfmt + shellcheck
make check      # lint + test (run before opening a PR)

See AGENTS.md for the contributor workflow and engineering/maintenance/releasing.md for the release process.

License

MIT — see LICENSE.