AgentSkillsCN

rr-domain-cli

通过 RealtimeRegister API 管理域名、DNS 区域和联系人。 适用场景:查询域名可用性、注册或续费域名、管理 DNS 记录、创建联系人、跟踪异步进程。 触发短语:“域名可用性”、“注册域名”、“DNS 记录”、“RealtimeRegister”、“rr 命令”、“域名到期”、“域名转移”

SKILL.md
--- frontmatter
name: rr-domain-cli
description: |
  Manage domains, DNS zones, and contacts via RealtimeRegister API.
  Use when: checking domain availability, registering/renewing domains,
  managing DNS records, creating contacts, tracking async processes.
  Trigger phrases: "domain availability", "register domain", "DNS records",
  "RealtimeRegister", "rr command", "domain expiry", "transfer domain"
license: MIT
metadata:
  author: dedene
  version: "1.0.0"

rr CLI - RealtimeRegister Domain Management

CLI for RealtimeRegister domain registrar. Manage domains, DNS, contacts, and processes.

When to Use

  • Check domain availability (single or bulk)
  • Register, renew, transfer, or delete domains
  • Manage DNS zones and records
  • Create/update WHOIS contacts
  • Monitor async processes (registrations, transfers)
  • Check account status and expiring domains

Prerequisites

bash
# Install
brew install dedene/tap/rr

# Authenticate (stores in keyring)
rr auth login

# Or use environment variable
export RR_API_KEY=your-api-key

# Set customer handle (required for contacts)
rr config set customer mycustomer

Output Formats

Always use --json for parsing. TSV (--plain) for simple scripting.

bash
rr domain list          # Table (human-readable)
rr domain list --json   # JSON (for parsing)
rr domain list --plain  # TSV (tab-separated)

Command Quick Reference

Domains

CommandDescription
rr domain listList all domains
rr domain get <domain>Get domain details
rr domain check <domain>Check availability
rr domain check-bulk <domains...>Bulk check (max 50)
rr domain register <domain>Register domain
rr domain renew <domain>Renew domain
rr domain transfer-in <domain>Initiate transfer

Contacts

CommandDescription
rr contact listList contacts
rr contact create <handle>Create contact
rr contact update <handle>Update contact

DNS Zones

CommandDescription
rr zone listList zones
rr zone get <id>Get zone with records
rr zone record add <zoneID>Add DNS record
rr zone sync <id> --file records.yamlSync from YAML

Other

CommandDescription
rr statusAccount overview
rr process listList async processes
rr tld listList available TLDs

Common Workflows

Check and Register Domain

bash
rr domain check example.com --json
rr domain register example.com --registrant mycontact --period 1 -y

Bulk Availability Check

bash
rr domain check-bulk domain1.com domain2.net domain3.io --json

Create Contact First

bash
rr contact create myhandle \
  --name "John Doe" --email john@example.com \
  --phone "+1.5551234567" --country US

DNS Zone Management

bash
ZONE_ID=$(rr zone list --json | jq -r '.[] | select(.name=="example.com") | .id')
rr zone record add $ZONE_ID --type A --name www --content 1.2.3.4 --ttl 3600

Monitor Expiring Domains

bash
rr domain list --expiring-within 30 --json | jq '.[].domainName'

Parsing JSON Output

bash
# Get all domain names
rr domain list --json | jq -r '.[].domainName'

# Check if available
rr domain check example.com --json | jq -r '.available'

# Filter by status
rr domain list --json | jq '.[] | select(.status=="active")'

Error Handling

Exit CodeMeaning
0Success
1General error
3Authentication error
4API error

Common fixes:

  • not authenticatedrr auth login
  • customer not configuredrr config set customer <handle>
  • rate limited → Wait and retry, or use bulk endpoints

Environment Variables

VariableDescription
RR_API_KEYAPI key (overrides keyring)
RR_CUSTOMERCustomer handle
RR_JSONEnable JSON output

Scripting Tips

bash
# Skip confirmation prompts
rr domain delete example.com -y

# Pagination
rr domain list --limit 100 --offset 0 --json

Installation

bash
brew install dedene/tap/rr