diff options
Diffstat (limited to 'claude.md')
| -rw-r--r-- | claude.md | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/claude.md b/claude.md new file mode 100644 index 0000000..4a90660 --- /dev/null +++ b/claude.md @@ -0,0 +1,79 @@ +# DomainDig – Project Context + +## What this is +An iOS utility app for querying DNS records and inspecting SSL/TLS certificates +for any domain. Designed for developers, sysadmins, and anyone who manages or +troubleshoots domains and servers. + +## Target user +Technically literate adults — developers, IT/sysadmin, homelab enthusiasts. +Comfortable with terms like A record, CNAME, MX, TTL, and TLS. The UI should be +clean and information-dense, not hand-holding. + +## Design principles +- Minimal, utilitarian UI — this is a tool, not a consumer app +- Results should be readable at a glance — use clear labels, monospace where + appropriate for IPs and raw values +- Dark mode preferred as the primary aesthetic +- No onboarding, no tutorials, no splash screens +- Fast — results should appear as soon as they're available, not after all + lookups complete + +## Features + +### DNS Lookup +Query the following record types for any domain via DNS-over-HTTPS (use +Cloudflare 1.1.1.1 — https://cloudflare-dns.com/dns-query): +- A +- AAAA +- MX +- NS +- TXT +- CNAME + +Display each record type in its own section. Show TTL alongside each result. +If a record type returns no results, show "No records found" for that type +rather than hiding the section entirely. + +### SSL/TLS Certificate Check +Connect to the domain on port 443 via URLSession and inspect the server's +certificate chain using URLSession delegate methods. Display: +- Common name (CN) +- Subject Alternative Names (SANs) +- Issuer +- Valid from / Valid until dates +- Days until expiry — highlight in red if under 30 days, yellow if under 60 +- Certificate chain depth + +### Results layout +- Domain input at the top — large text field, keyboard shows on launch +- Run button to trigger both DNS and SSL lookups simultaneously +- DNS and SSL results displayed in clearly separated sections below +- Each section loads independently — don't block SSL results waiting for DNS + or vice versa + +## Technical constraints +- SwiftUI, iOS only +- Fully offline except for DNS-over-HTTPS requests and SSL connections +- No accounts, no analytics, no ads +- No third-party dependencies — URLSession and Network framework only +- Targets latest iOS + +### Recent searches +Store the last 20 searched domains locally using UserDefaults. Display them as +a tappable list below the text field when no results are showing. Tapping a +recent domain populates the text field and runs the lookup immediately. Include +a "Clear" button to wipe history. Most recent at the top. + +### Share / export +A share button (SF Symbol: `square.and.arrow.up`) in the top-right of the +results area. Formats the full DNS and SSL results as plain text and presents +the iOS share sheet via ShareLink or UIActivityViewController. The export +should include the domain, timestamp, all DNS records with TTLs, and all SSL +cert fields. + +## What good looks like +A developer pastes a domain, taps run, and within a couple of seconds sees a +clean breakdown of every DNS record type and the full SSL cert status. It should +feel like a native, polished version of running `dig` and `openssl s_client` +from the terminal. |
