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

dominion-cli

v0.2.2

Published

Domain management CLI — DNS, registrar, SSL from your terminal

Readme

dominion

npm version license node

██████╗  ██████╗ ███╗   ███╗██╗███╗   ██╗██╗ ██████╗ ███╗   ██╗
██╔══██╗██╔═══██╗████╗ ████║██║████╗  ██║██║██╔═══██╗████╗  ██║
██║  ██║██║   ██║██╔████╔██║██║██╔██╗ ██║██║██║   ██║██╔██╗ ██║
██║  ██║██║   ██║██║╚██╔╝██║██║██║╚██╗██║██║██║   ██║██║╚██╗██║
██████╔╝╚██████╔╝██║ ╚═╝ ██║██║██║ ╚████║██║╚██████╔╝██║ ╚████║
╚═════╝  ╚═════╝ ╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝╚═╝ ╚═════╝ ╚═╝  ╚═══╝

Premium CLI for domain search, registration, and management.

Search, register, and manage domains directly from your terminal. Built with Ink for rich TUI output, backed by the Name.com API, with optional Vercel integration for seamless deployments.


Install

npm install -g dominion-cli

Verify the installation:

dominion --version

Requires Node.js 18+.


Quickstart

Get from zero to domain owner in five steps.

1. Authenticate

dominion login

Enter your Name.com API username and token. Credentials are stored locally at ~/.dominion/config.json with 0600 permissions (owner-only).

Don't have an API token? Run dominion login --browser to open the Name.com API keys page.

2. Search for domains

dominion search myapp

Returns an availability table across popular TLDs with pricing:

  Domain            Price     Status
  ─────────────────────────────────────
  myapp.com         $12.99    ✓ Available
  myapp.net         $11.99    ✓ Available
  myapp.io          $39.99    ✓ Available (Premium)
  myapp.org         $12.99    ✗ Taken
  myapp.co          $29.99    ✓ Available

Filter by TLD or budget:

dominion search myapp --tld com,io --max-price 20

3. Add to cart

dominion cart add myapp.com

4. Purchase

dominion buy

Reviews your cart, confirms pricing, and registers all domains in a single transaction.

5. Manage

dominion domains myapp.com          # View domain details
dominion dns myapp.com list         # List DNS records
dominion dns myapp.com add A @ 76.76.21.21  # Point to your server

Features

Domain Search

Interactive TUI-powered domain search across multiple TLDs. Filter by price, filter by TLD, and add results directly to your cart.

Shopping Cart

Persistent cart stored at ~/.dominion/cart.json. Add, remove, and review domains before purchasing. Stale prices (older than 24 hours) are flagged automatically.

Purchase Flow

Batch-purchase all cart items or buy a single domain directly with dominion buy myapp.com. Skip the confirmation prompt with --yes for scripted workflows.

Domain Management

List all domains in your account, view detailed settings, expiration dates, nameserver configuration, and auto-renewal status.

DNS Records

Full CRUD for DNS records: A, AAAA, CNAME, MX, TXT, SRV, NS, ANAME, and URL redirect. Set custom TTLs and priorities.

Domain Settings

Configure auto-renew, domain lock, and nameservers. Switch nameservers instantly with presets:

dominion settings myapp.com set nameservers --preset vercel
dominion settings myapp.com set nameservers --preset namecom

Vercel Integration

Connect your Vercel account and link domains to projects with automatic DNS configuration:

dominion vercel setup                # Configure Vercel token
dominion vercel link myapp.com       # Link domain to Vercel project
dominion vercel status               # View integration status

Team Management

Add collaborators with role-based access:

dominion team add [email protected] --role admin --name "Alice"
dominion team list
dominion team remove [email protected]

Roles: admin, member, viewer.

Webhooks

Get notified when domain events occur:

dominion webhooks add https://api.example.com/hooks --events domain.registered,dns.changed
dominion webhooks list
dominion webhooks remove <id>

Supported events: domain.registered, domain.expired, dns.changed, domain.renewed.

Billing

View a billing summary across all your domains:

dominion billing

Account

View and update your account details and WHOIS contact information:

dominion account                     # View account details
dominion account set contact         # Update WHOIS contact info interactively
dominion account set email [email protected]

Command Tree

dominion
├── login [--browser]                    Authenticate with Name.com API credentials
├── register                             Create a new Dominion account
├── logout                               Clear stored credentials
├── whoami                               Display authenticated user info
├── search <query> [--tld] [--max-price] Search for available domains
├── cart
│   ├── list                             View cart contents
│   ├── add <domain>                     Add a domain to your cart
│   ├── remove <domain>                  Remove a domain from your cart
│   └── clear                            Clear all items from your cart
├── buy [domain] [--yes]                 Purchase domain(s) from cart or by name
├── domains [domain] [--json]            List domains or view domain details
├── dns <domain>
│   ├── list [--json]                    List DNS records
│   ├── add <type> <name> <value>        Add a DNS record [--ttl] [--priority]
│   └── remove <record-id>              Remove a DNS record
├── settings <domain>
│   └── set <key> <value> [--preset]     Update domain settings
├── account
│   └── set
│       ├── contact                      Set or update WHOIS contact info
│       └── email <email>                Update contact email address
├── billing                              View domain billing summary
├── team
│   ├── list                             List team members
│   ├── add <email> [--role] [--name]    Add a team member
│   └── remove <member>                  Remove a team member
├── vercel
│   ├── status                           View Vercel integration status
│   ├── setup                            Configure Vercel integration
│   ├── link <domain>                    Link a domain to Vercel project
│   └── unlink <domain>                  Unlink a domain from Vercel project
├── webhooks
│   ├── list                             List configured webhooks
│   ├── add <url> [--events]             Add a webhook
│   └── remove <id>                      Remove a webhook by ID
├── integrations                         View available integrations
├── credits                              View the credits
├── --version, -v                        Print the current version
└── --help, -h                           Display help for command

Configuration

All data is stored in ~/.dominion/:

~/.dominion/
├── config.json          API credentials, Vercel config, preferences
├── cart.json             Shopping cart (domains pending purchase)
├── team.json             Team member list
├── webhooks.json         Webhook configurations
└── achievements.json     Unlocked achievements and usage stats

config.json is created with 0600 file permissions to protect your API credentials.

Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | DOMINION_API_URL | Override the Dominion API base URL (useful for local development or self-hosted instances) | https://dominion.sh/api | | NO_COLOR | Disable all ANSI color output (no-color.org) | — |

For details on each file's schema, see docs/configuration.md.


Easter Eggs

Dominion has a few surprises hidden throughout the CLI. Here are some hints:

  • Try searching for some famous sci-fi domains. HAL might have something to say.
  • There's a classic cheat code that works in the terminal. Think 1986, Konami.
  • Run dominion on certain... unlucky dates. The CLI gets a little spooky.
  • Somewhere in the CLI, there's a command that isn't listed. Hackers welcome.
  • Use the CLI enough and you'll start earning achievements. Can you collect all 10?

No spoilers. Discover them yourself.


Scripting & CI/CD

Dominion is built for automation. Use these flags to integrate with scripts and pipelines:

# Suppress decorative output (logos, animations)
dominion domains --quiet

# Disable color output (for log files and CI)
dominion domains --no-color

# Get machine-readable output
dominion domains --json

# Skip confirmation prompts
dominion buy --yes

# Combine for fully non-interactive operation
dominion domains --json --quiet --no-color

Pipe JSON output to jq for processing:

dominion domains --json --quiet | jq '.[].domainName'

Environment variable support: set NO_COLOR=1 to disable colors globally (no-color.org).


Contributing

See docs/contributing.md for setup instructions, coding patterns, and the PR checklist.


License

MIT