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

deployd-network-cli

v0.1.6

Published

CLI for Deployd Studio — create, manage and publish agency websites, and register and manage domains, from the command line.

Downloads

835

Readme

deployd-network-cli

The command line for Deployd Studio. Create draft websites, check and buy domains, and manage DNS — authenticated with an API key from any Deployd account, scoped to that account's own sites and nothing else. Your plan sets the draft quota (free: one draft at a time, Creator Pro: five, agency: 25+), never the door.

npm install -g deployd-network-cli

Sign in

deployd login

opens your browser: confirm the code on screen matches your terminal and click Authorize. The CLI receives a session token that lasts 24 hours and only works from the network that requested it — lifted from your laptop, it is useless anywhere else. Sessions can do everything, buying domains included: money still only moves through a Stripe checkout you pay, and DNS changes through an emailed confirmation you click.

For CI, or for a long-lived credential with hand-picked scopes, mint a key in Settings → API keys and either run deployd login --key or set DEPLOYD_API_KEY (it takes precedence).

Credentials are stored in ~/.deployd/config.json (mode 0600), never in an environment variable — env vars leak into ps, CI logs and crash reports.

Commands

deployd whoami                            agency, key scopes, draft quota
deployd sites                             list your sites
deployd sites worker <id> --off           stop the agent auto-resolving feedback
       --on                               turn it back on (on by default)
deployd sites price <id> 699              what your client pays you for the site
       --currency EUR                     your price — we never take a cut
deployd create "Acme Bakery"              create a draft site
deployd create "Acme" --dir ./build       …and upload a folder into it
deployd pull --site <id> --dir ./site     download the site's content
deployd push --site <id> --dir ./site     upload a folder as a new version

deployd feedback --site <id>              unresolved feedback (comment, page,
                                          selected elements); --all for history
deployd feedback resolve <fid> --site <id>  mark feedback handled

deployd domains                           domains you own
deployd domains check acme.com            availability + price, every registrar
       --country PT                       …with a VAT estimate for that country
deployd domains buy acme.com --site ID    buy it (pay first, registered after)
       --owner-email [email protected]              registrant contact — all optional
       --owner-name/-org/-phone
       --owner-address/-city/-zip/-state
       --owner-country PT                 two-letter ISO code
deployd domains status <purchaseId>       how a purchase is going
deployd domains subscribe acme.com        renew it yearly, on a card
       --cancel                           stop renewing it automatically

deployd subscriptions   (or: subs)        what this account pays for
deployd subscriptions cancel acme.com     stop a domain renewing itself

deployd dns acme.com                      list DNS records
deployd dns acme.com add A www 1.2.3.4    add a record       (email-confirmed)
deployd dns acme.com set <id> 5.6.7.8     change one         (email-confirmed)
deployd dns acme.com rm <id>              delete one         (email-confirmed)

deployd transfer in acme.com --auth-code X   bring a domain to Deployd
deployd transfer out acme.com                release it       (email-confirmed)
deployd transfer status acme.com             inbound transfer progress

deployd help                              everything else

The auto worker

The agent resolves a site's feedback on its own, and it is on for every website. deployd sites worker <id> --off stops it for one site; --on starts it again. deployd sites prints auto worker off on the sites where it is off, and nothing on the rest.

Off means "do not start a run", not "stop collecting". Feedback keeps arriving and keeps its place in the queue; nothing is discarded and nothing is marked resolved. Turn the worker back on and the next cycle picks the queue up exactly as it stands. While it is off, the account that built the site gets one email a day listing its worker-off sites and what is waiting on each — and no email at all on a day when nothing is waiting.

Round-tripping a site

pull downloads a site you own into a folder (skipping files you already have bit-identical, never deleting local files); edit; push uploads it back as a new version. Pull → edit → push is the whole update loop.

Uploading

push (and create --dir) uploads a folder as a new version of the site: files are staged in batches, then finalized atomically — an interrupted upload leaves the previous version untouched. The upload is a sync: remote files absent from your folder are removed (--no-delete keeps them). Dotfiles and node_modules are never uploaded. There is no way to "claim" a domain at creation — attach one by buying or transferring it in, which proves you control it.

What you are paying for

deployd subscriptions (or subs) lists it in two groups. Domain subscriptions show the yearly price and currency, the date the domain has to be renewed by, and the status; when the registrar's price has moved, both figures are shown (15.45 → 17.99) rather than only the new one. Site plans lists the sites on a paid plan — their prices and payment method live in the dashboard, which is also where they are changed.

deployd subscriptions cancel acme.com stops a domain renewing itself. The prompt says plainly what that costs: the domain will not renew automatically, somebody has to pay for it by hand before it expires — the expiry date is in the prompt — and if nobody does, it lapses and anyone can register it. The year already paid for is neither refunded nor cut short.

Four things worth knowing

Checkout links are never opened behind your back. domains buy, domains subscribe and transfer in print the full price first and then ask you to press ENTER before opening the browser — the same gate login puts in front of the browser, for the mirrored reason: a payment page that appears on its own is one whose price nobody read. Run without a terminal (CI, an agent, a script) and the link is simply printed; no browser is ever launched.

Buying is payment-first. domains buy returns a Stripe checkout link; the domain is registered only after the payment clears, and refunded automatically if registration then fails. The price shown by domains check is the price charged, and it is itemised: the cheapest registrar's cost plus a flat management fee, with VAT added at checkout for EU customers.

The --owner-* flags name the registrant — who the registry believes owns the domain, and what appears in a public WHOIS record. Every one is optional. Whatever you leave out is filled in server-side: the email from the account the key belongs to, everything else from the Deployd company contact. domains buy prints the registrant it will use before asking you to confirm. Cloudflare Registrar is the exception — it registers against its account's own contact and has no way to take a per-domain one, so a purchase that must carry the customer's own details is fulfilled by another registrar.

Renewal is payment-first too, subscription or not. A domain never renews on our card. domains subscribe sets up a yearly charge that lands about a month before the domain expires — enough room for a declined card to be replaced — and the domain is renewed at the registrar only once that invoice is paid. The price is re-quoted from the registrar before every renewal, because registry prices move; if it has changed you are emailed both the old and the new figure before the charge. Nothing renews until the checkout link is paid, so a subscribe you did not finish leaves the domain exactly where it was.

Sensitive changes are email-confirmed. DNS changes and outbound transfers do not apply when the command runs. A confirmation email — showing exactly what will change — goes to an address already registered on the domain (the customer, or the agency that manages them), and the change applies when someone clicks it. --confirm-to chooses among those addresses; it cannot add one. A key alone can never move a domain or its DNS.

Scopes

Keys carry explicit scopes. The default set covers reading and creating sites and checking domains; domains:register (spends money), dns:write and domains:write (can take a site offline) must be granted deliberately when the key is created.

Agent skill

An Agent Skill teaching AI agents (Claude Code and compatible tools) to install and drive this CLI ships with the package at skills/deployd-cli/SKILL.md — including the rules an agent must not get wrong: payment before registration, nothing live until the confirmation email is clicked, customer prices only.

To use it, copy the folder where your agent looks for skills:

cp -r "$(npm root -g)/deployd-network-cli/skills/deployd-cli" ~/.claude/skills/

(or into a project's .claude/skills/ to share it with a team). In the platform monorepo the same skill lives at .claude/skills/deployd-cli/ and is picked up automatically.