rr-domain-cli
4
总安装量
4
周安装量
#52663
全站排名
安装命令
npx skills add https://github.com/dedene/realtime-register-cli --skill rr-domain-cli
Agent 安装分布
amp
4
github-copilot
4
codex
4
kimi-cli
4
gemini-cli
4
opencode
4
Skill 文档
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
# 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
Pagination
All list commands return max 50 results by default. Use --limit and --offset to paginate:
rr domain list --limit 100 # First 100
rr domain list --limit 100 --offset 100 # Next 100
Loop to get all results:
offset=0; while true; do
batch=$(rr domain list --limit 100 --offset $offset --json)
[ "$(echo "$batch" | jq length)" -eq 0 ] && break
echo "$batch" | jq -r '.[].domainName'
offset=$((offset + 100))
done
Output Formats
Always use --json for parsing. TSV (--plain) for simple scripting.
rr domain list # Table (human-readable)
rr domain list --json # JSON (for parsing)
rr domain list --plain # TSV (tab-separated)
Command Quick Reference
Domains
| Command | Description |
|---|---|
rr domain list |
List domains (paginated, default 50) |
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
| Command | Description |
|---|---|
rr contact list |
List contacts (paginated, default 50) |
rr contact create <handle> |
Create contact |
rr contact update <handle> |
Update contact |
DNS Zones
| Command | Description |
|---|---|
rr zone list |
List zones (paginated, default 50) |
rr zone get <id> |
Get zone with records |
rr zone record add <zoneID> |
Add DNS record |
rr zone sync <id> --file records.yaml |
Sync from YAML |
Other
| Command | Description |
|---|---|
rr status |
Account overview |
rr process list |
List processes (paginated, default 50) |
rr tld list |
List available TLDs |
Common Workflows
Check and Register Domain
rr domain check example.com --json
rr domain register example.com --registrant mycontact --period 1 -y
Bulk Availability Check
rr domain check-bulk domain1.com domain2.net domain3.io --json
Create Contact First
rr contact create myhandle \
--name "John Doe" --email john@example.com \
--phone "+1.5551234567" --country US
DNS Zone Management
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
rr domain list --expiring-within 30 --json | jq '.[].domainName'
Parsing JSON Output
# 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 Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 3 | Authentication error |
| 4 | API error |
Common fixes:
not authenticatedârr auth logincustomer not configuredârr config set customer <handle>rate limitedâ Wait and retry, or use bulk endpoints
Environment Variables
| Variable | Description |
|---|---|
RR_API_KEY |
API key (overrides keyring) |
RR_CUSTOMER |
Customer handle |
RR_JSON |
Enable JSON output |
Scripting Tips
# Skip confirmation prompts
rr domain delete example.com -y
Installation
brew install dedene/tap/rr