{"id":50126959,"url":"https://github.com/jongjinchoi/temper-domains","last_synced_at":"2026-06-08T05:01:13.980Z","repository":{"id":352761416,"uuid":"1204460383","full_name":"jongjinchoi/temper-domains","owner":"jongjinchoi","description":"Search domain availability from your terminal. Open source, fast, private.","archived":false,"fork":false,"pushed_at":"2026-05-23T05:29:31.000Z","size":9210,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-23T20:26:08.794Z","etag":null,"topics":["bun","cli","domain","domains","homebrew","mcp","rdap","terminal","tui","whois"],"latest_commit_sha":null,"homepage":"https://temper-domains.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jongjinchoi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-08T03:04:31.000Z","updated_at":"2026-05-23T05:29:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jongjinchoi/temper-domains","commit_stats":null,"previous_names":["jongjinchoi/temper-domains"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/jongjinchoi/temper-domains","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongjinchoi%2Ftemper-domains","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongjinchoi%2Ftemper-domains/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongjinchoi%2Ftemper-domains/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongjinchoi%2Ftemper-domains/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jongjinchoi","download_url":"https://codeload.github.com/jongjinchoi/temper-domains/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongjinchoi%2Ftemper-domains/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34048682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","cli","domain","domains","homebrew","mcp","rdap","terminal","tui","whois"],"created_at":"2026-05-23T20:05:04.670Z","updated_at":"2026-06-08T05:01:13.966Z","avatar_url":"https://github.com/jongjinchoi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/logo/header-dark.png\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/logo/header-light.png\" alt=\"temper — Never leave your terminal to find a domain.\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/jongjinchoi/temper-domains/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Apache%202.0-blue.svg\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/jongjinchoi/temper-domains\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/jongjinchoi/temper-domains?style=social\" alt=\"GitHub Stars\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  Search domains, check availability, and open purchase pages — all from your terminal.\u003cbr\u003e\n  Works as a CLI, or as an MCP server so Codex, Claude, and Cursor can search domains for you.\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#install\"\u003eInstall\u003c/a\u003e ·\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e ·\n  \u003ca href=\"#mcp\"\u003eMCP\u003c/a\u003e ·\n  \u003ca href=\"#themes\"\u003eThemes\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/demo.gif\" width=\"600\" /\u003e\u003c/p\u003e\n\n---\n\n## Why\n\nAI coding tools can't check if a domain is available. Claude suggests a name, you open a browser, search manually, come back — the flow breaks every time.\n\n**temper fixes this.** One command. 30 TLDs. Under 2 seconds.\n\n## Features\n\n- **Private** — CLI and MCP queries run on your machine. No tracking, no telemetry. The hosted web demo uses a server-side API route for live checks.\n- **Fast** — checks 30 TLDs by default with a 3s timeout. 59 with `--extended`.\n- **MCP native** — Codex, Claude Code, Claude Desktop, and Cursor can search domains directly.\n- **Keyboard-first** — vim-style navigation, single-key registrar selection.\n- **Pipe-friendly** — `--format json` for scripting and automation.\n- **Themeable** — 7 built-in themes (5 dark + 2 light).\n- **Open source** — Apache 2.0. Zero telemetry.\n\n## Install\n\n```bash\n# Homebrew (macOS/Linux) — no runtime needed\nbrew install jongjinchoi/temper-domains/temper\n\n# Or run from source (requires Bun or Node.js \u003e= 18)\nbun install \u0026\u0026 bun run src/index.ts search \u003cname\u003e\n```\n\n## Usage\n\n```\n$ temper --help\n\nUsage: temper [options] [command]\n\nNever leave your terminal to find a domain.\n\nCommands:\n  search [options] \u003cqueries...\u003e  Search domain availability across TLDs\n  suggest [options] [query]      Generate name combinations and check availability\n  whois \u003cdomain\u003e                 Show detailed WHOIS/RDAP info for a domain\n  init                           Set up temper (registrar + theme)\n  history                        Show search history\n  watch \u003cdomain\u003e                 Add a domain to watchlist\n  list                           Show watchlist with current availability\n  show-presets                   Show available TLD presets\n  config                         Manage temper configuration\n  mcp                            Start MCP server over stdio\n```\n\n### Keyboard shortcuts\n\n| Key | Action |\n|-----|--------|\n| `j`/`k` | Move up/down |\n| `Enter` | Buy domain / select |\n| `i` | WHOIS/RDAP detail |\n| `/` | Filter results |\n| `a` | Add to watchlist |\n| `s` | Suggest combinations |\n| `h` | Search history |\n| `w` | Watchlist |\n| `esc` | Back |\n| `q` | Quit |\n\n### Search\n\n```bash\ntemper search myproject                          # 30 default TLDs\ntemper search myproject --extended               # 59 TLDs\ntemper search myproject --tlds com,dev,io         # specific TLDs\ntemper search myproject --tld-preset tech         # preset: tech, popular, startup, cheap\ntemper search myproject -a                        # available only\ntemper search myproject -t 5                      # 5s timeout (default: 3)\ntemper search myproject --format json             # JSON output for piping\ntemper search localhoston writeholt tightship     # multiple keywords\n```\n\nNavigate with `j`/`k`, press `Enter` to buy, `a` to add to watchlist, `/` to filter. Press `s` for suggestions, `h` for history, `w` for watchlist. `q` to quit.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/search.png\" width=\"600\" /\u003e\u003c/p\u003e\n\n#### TLD Presets\n\n```bash\ntemper show-presets\n\n  popular    com, net, org, io, co, app, dev, ai, me\n  tech       io, ai, dev, app, gg, sh, tech, cloud, digital\n  startup    com, io, co, ai, app, dev, xyz, so, gg\n  cheap      xyz, fun, lol, top, site, online, store, shop, club\n```\n\n#### JSON output\n\n```bash\ntemper search localhoston --format json | jq '.[] | select(.status == \"available\") | .domain'\n```\n\n### Whois\n\nLook up detailed WHOIS/RDAP information for any domain. In search view, press `i` on any domain.\n\n```bash\ntemper whois example.com                         # TUI view\ntemper whois example.com --format json           # JSON output\n```\n\nShows registrar, registration/expiry dates, nameservers, DNSSEC status, and EPP status codes. Uses RDAP (RFC 9083) when available, falls back to WHOIS.\n\n### Suggest\n\nGenerate name combinations and check `.com` availability. Press `Enter` on any name to check all 30 TLDs.\n\n```bash\ntemper suggest localhoston                            # default prefixes + suffixes\ntemper suggest localhoston -p super,mega -s io,lab    # custom prefixes/suffixes\n```\n\n```\n  BASE\n    localhoston          ✗ taken\n\n  PREFIX\n    getlocalhoston       ✓ available\n    uselocalhoston       ✓ available\n    trylocalhoston       ✓ available\n    ...\n\n  SUFFIX\n    localhostonapp       ✓ available\n    localhostonlabs      ✓ available\n    ...\n\n  Summary: 13 available · 2 taken\n```\n\nDefault prefixes: `get` `use` `try` `my` `go` `join`\nDefault suffixes: `app` `labs` `hq` `ly` `dev` `hub` `run` `kit`\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/suggest.png\" width=\"600\" /\u003e\u003c/p\u003e\n\n### Watchlist \u0026 History\n\n```bash\ntemper history                # interactive search history (re-search, remove)\ntemper list                   # interactive watchlist (refresh, remove)\ntemper watch localhoston.com  # add a domain to watchlist from CLI\n```\n\nIn search view, press `a` to add a domain to your watchlist, `h` to view history, `w` to view watchlist.\n\n### Setup\n\n```bash\ntemper init                           # first-time setup (registrar + theme)\ntemper config theme seoul-night       # change theme\ntemper config theme --list            # list themes\n```\n\n\u003ch2 id=\"mcp\"\u003eMCP\u003c/h2\u003e\n\ntemper runs as a local MCP server. Your AI assistant searches domains without you switching context.\n\n\u003e **Prerequisite:** Install temper first — `brew install jongjinchoi/temper-domains/temper`\n\n### Codex\n\nCodex stores MCP server configuration in `~/.codex/config.toml` and shares it between the Codex CLI and IDE extension. Add temper with:\n\n```bash\ncodex mcp add temper -- temper mcp\n```\n\nIn the Codex TUI, run `/mcp` to confirm the server is active.\n\nYou can also edit `~/.codex/config.toml` directly:\n\n```toml\n[mcp_servers.temper]\ncommand = \"temper\"\nargs = [\"mcp\"]\n```\n\n### Claude Code\n\nPick one based on how you want temper available:\n\n**All projects (recommended):**\n\n```bash\nclaude mcp add --scope user --transport stdio temper -- temper mcp\n```\n\n**Current folder only:**\n\n```bash\nclaude mcp add --transport stdio temper -- temper mcp\n```\n\n### Claude Desktop\n\nSettings → Developer → Edit Config:\n\n```json\n{\n  \"mcpServers\": {\n    \"temper\": {\n      \"command\": \"temper\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop after saving.\n\n### Cursor\n\nSettings → Tools \u0026 Integrations → New MCP Server (command type):\n\n```json\n{\n  \"mcpServers\": {\n    \"temper\": {\n      \"command\": \"temper\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\n### Windsurf\n\nEdit `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"temper\": {\n      \"command\": \"temper\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\n### VS Code (Cline)\n\nCommand Palette → `MCP: Add server` → stdio → `temper mcp`\n\n---\n\n**Tools:**\n\n| Tool | Description |\n|------|-------------|\n| `search_domain` | Check 30 or 59 TLDs for one bare name |\n| `search_names` | Check up to 8 bare name candidates across default or extended TLDs |\n| `suggest_domain` | 15 name combinations × 5 TLDs using RDAP/WHOIS |\n| `check_domain_availability` | Verify explicit full domains only (up to 100) |\n| `whois_domain` | Detailed WHOIS/RDAP info (registrar, dates, nameservers) |\n| `open_registrar` | Open purchase page in browser |\n\n**Example: Brainstorm from scratch**\n\n```\nYou:    \"I'm building a health management app. Suggest domain names.\"\n\nClaude: [generates candidates: wellbi, vitalo, medra, healix, ...]\n        [calls search_names for generated bare names]\n        [calls suggest_domain for top picks]\n\n        Top Pick: wellbi.app\n        - Short, pronounceable, .app TLD fits mobile apps\n        - getwellbi.com also available\n\n        ⚠ Medra means \"fear\" in Spanish — avoid for global use\n        💡 Check @wellbi on social media before registering\n```\n\n**Example: Search with a name**\n\n```\nYou:    \"Find domains for localhoston\"\n\nClaude: [calls search_domain]\n        localhoston.com is taken, but these are available:\n        - localhoston.dev, localhoston.app, localhoston.io\n```\n\nFor names without a TLD, temper checks the default 30 TLDs first and treats\n`.com` as the first result to interpret. Use extended search only when the\ndefault set is not enough.\n\n**Example: Check specific domains**\n\n```\nYou:    \"Check getlocalhoston.com and trylocalhoston.com\"\n\nClaude: [calls check_domain_availability]\n        ✓ getlocalhoston.com — available\n        ✓ trylocalhoston.com — available\n```\n\n**Example: Buy a domain**\n\n```\nYou:    \"Open Cloudflare for getlocalhoston.com\"\n\nClaude: [calls open_registrar]\n        Done. Cloudflare opened in your browser.\n```\n\nWhen temper runs as a local CLI or MCP server, queries run on your machine. The hosted website demo uses its own API route for live checks.\n\n\u003ch2 id=\"themes\"\u003eThemes\u003c/h2\u003e\n\n| | |\n|---|---|\n| ![Temper Forge](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-temper-forge.png) | ![Seoul Night](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-seoul-night.png) |\n| ![Catppuccin Mocha](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-catppuccin-mocha.png) | ![Dracula](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-dracula.png) |\n| ![Default](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-default.png) | ![Catppuccin Latte](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-catppuccin-latte.png) |\n| ![Rosé Pine Dawn](https://raw.githubusercontent.com/jongjinchoi/temper-domains/main/assets/screenshots/theme-rose-pine-dawn.png) | |\n\n| Theme | |\n|-------|---|\n| **Temper Forge** | 🔥 Flame orange on dark steel |\n| **Seoul Night** | 🌃 Neon pink, Han River blue |\n| **Catppuccin Mocha** | 🎨 Soft pastels |\n| **Dracula** | 🧛 High contrast |\n| **Default** | ⚫ Terminal native |\n| **Catppuccin Latte** | ☀️ Pastel light |\n| **Rosé Pine Dawn** | 🌅 Warm natural light |\n\n## Contributing\n\n```bash\ngit clone https://github.com/jongjinchoi/temper-domains.git\ncd temper-domains\nbun install\nbun run src/index.ts search \u003cname\u003e    # run locally\nbun test                               # run tests\n```\n\nIssues and pull requests are welcome.\n\n## License\n\nApache 2.0 — see [LICENSE](./LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003etemper\u003c/strong\u003e — forged in the terminal. 🔥\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongjinchoi%2Ftemper-domains","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjongjinchoi%2Ftemper-domains","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongjinchoi%2Ftemper-domains/lists"}