Help us improve
Share bugs, ideas, or general feedback.
From porkbun-dns
Use when managing DNS records on Porkbun, listing domains, creating/editing/deleting DNS entries, or troubleshooting domain configuration
npx claudepluginhub jsvana/porkbun-cli --plugin porkbun-dnsHow this skill is triggered — by the user, by Claude, or both
Slash command
/porkbun-dns:porkbun-dnsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manages DNS records and domains on Porkbun via the `porkbun-cli` tool.
Adds, updates, deletes, and lists DNS records (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS) for Zeabur-registered domains via the Zeabur CLI.
Guides DNS configuration for custom funnel domains on Netlify, Vercel, Cloudflare Pages. Covers A/CNAME records, SSL setup, provider references, verification commands, and troubleshooting.
Hits Cloudflare REST API for bulk/fleet ops: DNS records, custom hostnames, email routing, cache purge, WAF/redirect rules, D1 cross-DB queries, R2/KV bulk, Vectorize/Queues. Outputs curl/scripts.
Share bugs, ideas, or general feedback.
Manages DNS records and domains on Porkbun via the porkbun-cli tool.
Requires: Config file at ~/.config/porkbun-cli/config.toml with api_key and secret_key.
Important: Each domain must have API access enabled in the Porkbun dashboard before it can be managed via this CLI. Domains without API access opted in will return auth errors.
Source code is in this repository.
Output is tab-separated, one record per line, for easy use with grep, cut, awk, etc. Use --headers to print a header row.
porkbun-cli domains
porkbun-cli --headers domains # with column headers
porkbun-cli dns list example.com
porkbun-cli --headers dns list example.com # with column headers
# A record for subdomain
porkbun-cli dns create example.com -t A 1.2.3.4 --name www
# A record at root
porkbun-cli dns create example.com -t A 1.2.3.4
# CNAME
porkbun-cli dns create example.com -t CNAME target.example.com --name blog
# MX with priority
porkbun-cli dns create example.com -t MX mail.example.com -p 10
# TXT record (e.g., SPF, DKIM, verification)
porkbun-cli dns create example.com -t TXT "v=spf1 include:_spf.google.com ~all"
# With custom TTL
porkbun-cli dns create example.com -t A 1.2.3.4 --name www --ttl 3600
# Get the record ID from `dns list`, then edit
porkbun-cli dns edit example.com 123456789 -t A 5.6.7.8 --name www
porkbun-cli dns delete example.com 123456789
# Delete all A records for a subdomain
porkbun-cli dns delete-by-name-type example.com -t A --name www
# Delete all root TXT records
porkbun-cli dns delete-by-name-type example.com -t TXT
A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA, HTTPS, SVCB, SSHFP
porkbun-cli dns list example.comporkbun-cli dns create example.com -t A 1.2.3.4 --name subporkbun-cli dns list example.comporkbun-cli dns delete-by-name-type example.com -t MXporkbun-cli dns create example.com -t MX aspmx.l.google.com -p 1
porkbun-cli dns create example.com -t MX alt1.aspmx.l.google.com -p 5
porkbun-cli dns create example.com -t TXT "v=spf1 include:_spf.google.com ~all"
| Mistake | Fix |
|---|---|
Forgetting --name creates a root record | Always specify --name for subdomains |
| Duplicate records | List first, delete conflicts before creating |
| TTL too low | Minimum is 600 seconds |
| Missing config | Create ~/.config/porkbun-cli/config.toml with api_key and secret_key |
| API access not enabled | Enable API access per-domain in Porkbun dashboard |
Always confirm with the user before creating, editing, or deleting DNS records. DNS changes propagate globally and can cause downtime. Show the planned action and get explicit approval.
dns list first