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

shelly-cloud-cli

v0.1.8

Published

Agent-native CLI for Shelly Cloud Control API v2

Readme

shelly-cloud-cli

Agent-native CLI for querying and controlling known Shelly Cloud devices through the Shelly Cloud Control API v2.

⚠️ This tool can cause physical side effects in a home. Use --dry-run before mutating commands and be careful with covers, lights, switches, and groups.

Install

npm install -g shelly-cloud-cli
pnpm add -g shelly-cloud-cli
bun add -g shelly-cloud-cli
npx shelly-cloud-cli --help
bunx shelly-cloud-cli --help
brew install jvm/tap/shelly-cloud-cli

Configuration

There is no built-in host default. API commands require both:

  • SHELLY_CLOUD_HOST or --host https://...
  • SHELLY_CLOUD_KEY from the process environment

Set environment variables using your preferred secret manager or shell:

export SHELLY_CLOUD_KEY="<authorization-key>"
export SHELLY_CLOUD_HOST="https://shelly-143-eu.shelly.cloud"
shelly-cloud devices get --id b48a0a1cd978 --json
npx shelly-cloud-cli devices get --id b48a0a1cd978 --json
bunx shelly-cloud-cli devices get --id b48a0a1cd978 --json

Examples

shelly-cloud doctor --json
shelly-cloud profiles save home --host https://shelly-143-eu.shelly.cloud
shelly-cloud profiles use home
shelly-cloud devices save kitchen-plug --id b48a0a1cd978 --type switch --channel 0
shelly-cloud devices get --device kitchen-plug --select status,settings --json
shelly-cloud switches set --device kitchen-plug --on true --dry-run --json
shelly-cloud covers set --id b48a0a1cd978 --relative -10 --dry-run --json
shelly-cloud lights set --id b48a0a1cd978 --mode white --temperature 3000 --brightness 25 --json
cat group-command.json | shelly-cloud groups set --input - --dry-run --json

JSON results use { "ok": true, "data": ..., "meta": ... }. JSON errors are written to stderr as { "ok": false, "error": ... }.

Exit codes: 0 success, 1 unexpected, 2 usage/validation, 3 configuration/authentication, 4 not found, 5 API, 6 rate limited, 7 timeout, 8 partial failure.

Verification with --verify is best-effort and inspects common status fields only. See docs/verification.md.

Release and Homebrew details are in docs/release.md. Current pre-release conformance status is in CONFORMANCE.md.

Core auth-key mode does not support remote discovery. devices list shows local aliases only.

Development

bun install
bun run typecheck
bun test
bun run build
bun run smoke
bun run install:check

bun run install:check builds and packs the CLI, then installs the local tarball into temporary npm, pnpm, and Bun global prefixes, runs binary smoke checks, and uses npm exec --package <tarball> as the local npx equivalent. bunx shelly-cloud-cli is verified after publish because Bun does not reliably execute local npm tarballs through bunx. If Bun serves a stale cached version after publish, use bunx --package shelly-cloud-cli@<version> shelly-cloud --version to confirm the exact published package.

Implementation decisions: Node-compatible npm artifact (dist/cli.js) with #!/usr/bin/env node, Bun >=1.2 for development, zero runtime dependencies, HTTPS-only host policy, no redirects, 1 MiB group input limit, group --force threshold of 3 targets, local feedback only.