Skip to main content

Porkbun

@magistr/porkbunv2026.10.25.10· MIT· 1d agoBEHAVIORS
01README

Porkbun DNS record management with full CRUD for all common record types

02Release Notes

2026.10.25.10

  • Repo-wide republish; no functional change.
03Behaviors1
@magistr/porkbunv2026.10.25.10extensions/models/porkbun.ts

Global Arguments

ArgumentTypeDescription
domainstringThe domain name (e.g., example.com)
apiKeystringPorkbun API key
secretApiKeystringPorkbun secret API key
fn ping()
Test API credentials and get your public IP address
fn list()
List all DNS records for the domain
fn get(subdomain?: string)
Get DNS records by subdomain and type
ArgumentTypeDescription
subdomain?stringSubdomain (empty for root)
fn create(subdomain?: string, content: string, ttl?: number, prio?: number, notes?: string)
Create a new DNS record
ArgumentTypeDescription
subdomain?stringSubdomain (empty for root)
contentstringRecord content (IP, hostname, etc.)
ttl?numberTTL in seconds
prio?numberPriority (for MX, SRV)
notes?stringNotes for this record
fn update(recordId: string, subdomain?: string, content: string, ttl?: number, prio?: number)
Update an existing DNS record by ID
ArgumentTypeDescription
recordIdstringRecord ID to update
subdomain?stringNew subdomain
contentstringNew record content
ttl?numberNew TTL in seconds
prio?numberNew priority
fn delete(recordId: string)
Delete a DNS record by ID
ArgumentTypeDescription
recordIdstringRecord ID to delete
fn deleteByNameType(subdomain?: string)
Delete DNS records by subdomain and type
ArgumentTypeDescription
subdomain?stringSubdomain (empty for root)
fn applyRecords(content: string, ttl?: number, prio?: number)
Reconcile a desired set of DNS records in one run. Only the (subdomain, type) groups named in the input are touched: within each, records not desired are deleted and missing ones created. Running it twice changes nothing.
ArgumentTypeDescription
contentstring
ttl?number
prio?numberMX / SRV priority
fn checkDomains()
Check availability and Porkbun price (including registry premium) for one or more domains
04Previous Versions15
2026.10.15.9MIT

2026.10.15.9

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.8MIT

2026.10.15.8

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.6MIT

2026.10.15.6

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.5MIT

2026.10.15.5

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.4MIT

2026.10.15.4

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.3MIT

2026.10.15.3

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.2MIT

2026.10.15.2

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.1MIT

2026.10.15.1

Added

  • applyRecords: reconcile DNS to a desired state in one run. Records are grouped by (subdomain, type); only named groups are touched. Within a group, records not desired are deleted and missing ones created; matching is by normalised content (case, trailing dot) and MX/SRV priority. Running it twice changes nothing. dryRun reports the plan without writing. Writes a dns-reconciled resource with per-group created/deleted/kept.
  • checkDomains: availability and price for one or more domains, including registry premium, renewal and transfer price and first-year promo. Checks are paced (delayMs, default 10.5 s) to stay under Porkbun's 1-per-10s limit. One domain-check resource per domain; a failed check records its error and leaves available null rather than reporting a false "no".

Fixed before release

  • applyRecords aborts when the read of existing records fails. Before, any error (auth, network, rate limit) was read as "no records", so the plan re-created records that already existed. Only an explicit not-found answer counts as an empty group.
  • checkDomains rejects anything that is not a domain name, so a value such as ../dns/delete/x cannot change the API path.

Modified 1 behaviors

2026.10.14.2MIT(was none)

2026.10.14.2

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.09.19.2

2026.09.19.2

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.09.17.1

2026.09.17.1

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.08.19.1
2026.07.16.2

Release 2026.07.16.2 — align model versions with manifests

Maintenance release across the @magistr extensions. For most packages this carries no functional change: the only edit is the model's version: field, brought back in line with its manifest version so the published model type version and the package version no longer drift.

Functional changes in this release are limited to:

  • anime-cron: normalizeTitle now strips a ": subtitle" suffix and a trailing parenthesized year before comparison, fixing dedup false-misses where the torrent title carries a subtitle or year that the AniList romaji does not.

  • arckit: first publish. Standalone ArcKit port — a 12-phase architecture governance state machine with 65 bundled templates, driven by a bundled skill.

Also tracks three extensions (kaiten, observability-agent, music-library) that previously existed only as untracked working-tree directories, recovered from stashes.

2026.05.25.1

Merge pull request #4 from umag/extensions/magistr-grade-a-workspace

extensions: stage 15 @magistr extensions as Grade A workspace dirs + wire CI

2026.02.27.1
05Stats
A
100 / 100
Downloads
39
Archive size
7.2 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels