Cuando estoy nombrando un proyecto, lo primero que hago es verificar si el dominio está disponible. Abrir el navegador, escribir el dominio, esperar WHOIS — demasiado lento. Quería algo que pudiera ejecutar desde la terminal o pedirle a mi agente que verifique en un segundo. Así que construí Dotter.
Dotter es un verificador de disponibilidad de dominios construido en Go. Dale un nombre y te dice qué TLDs están libres en paralelo.
$ dotter miproyecto
✗ miproyecto.com is TAKEN
Alternative TLDs for "miproyecto":
TLD Status
─────────── ───────
.dev ✓ FREE
.io ✓ FREE
.tech ✓ FREE
.app ✓ FREE
.ai ✓ FREE
.net ✓ FREE
→ 6 TLDs disponibles! Prueba: miproyecto.dev
Características Clave
Verificaciones Rápidas en Paralelo
Goroutines de Go verifican múltiples TLDs simultáneamente. Por defecto 10 consultas concurrentes, configurable:
dotter miproyecto # Verifica .com + TLDs curados
dotter miproyecto --all # Escanea ~70 TLDs extendidos
dotter miproyecto --tlds .io,.dev,.tech # Lista personalizada
Detección en Dos Etapas
- DNS check (rápido) — resuelve registros NS. NS existe → dominio ocupado.
- WHOIS fallback (preciso) — si DNS es inconcluso, consulta servidores WHOIS.
Esta combinación es rápida y confiable.
Modo Servidor MCP
Dotter funciona también como servidor MCP, permitiendo que cualquier agente lo llame:
dotter mcp # Inicia servidor MCP stdio
Herramientas expuestas al agente:
| Herramienta | Descripción |
|---|---|
check_domain | Verifica disponibilidad + sugiere TLDs alternativos |
Configuración en Hermes Agent:
# ~/.hermes/config.yaml
mcp_servers:
dotter:
command: dotter
args: ["mcp"]
Y luego dile a tu agente: “checa si miproyecto.dev está disponible.”
Formatos de Salida
| Flag | Formato | Caso de Uso |
|---|---|---|
--json | JSON | Pipe a otras herramientas |
| Default | Tabla formateada | Legibilidad humana |
| Exit code 0 | Al menos un TLD libre | Condiciones en scripts |
| Exit code 1 | Ningún TLD libre | Lógica de bloqueo |
Stack Tecnológico
| Componente | Elección | Por qué |
|---|---|---|
| Lenguaje | Go | Binario único, goroutines para checks paralelos |
| Resolución DNS | net.LookupNS | Librería estándar, sin dependencias |
| WHOIS | TCP directo a servidores WHOIS | Sin librería externa |
| MCP SDK | Protocolo stdio personalizado | Liviano, sin framework |
| Concurrencia | Goroutines + semáforo | Escaneo paralelo de TLDs |
| Tamaño | ~8 MB binario estático | Descarga instantánea |
| Tests | Go test suite | Lógica core de verificación probada |
Inicio Rápido
go install github.com/fxckcode/dotter@latest
# Verificar un dominio
dotter example.com
# Verificar con alternativas
dotter miproyecto --tlds .io,.dev,.tech
# Salida JSON
dotter miproyecto --json
O descarga un binario pre-compilado desde la página de releases.
El proyecto tiene licencia MIT y está abierto en GitHub.