OSS · CLI em Python
domain-pre-flight
Domínios ruins se disfarçam de boas ideias.
Cheque o domínio antes de registrar. Estrutura, risco de abuso do TLD, histórico de conteúdo, similaridade com 120 marcas, sentido negativo em 11 idiomas e aptidão LLMO: um comando, um veredito de 0 a 100.
- Um veredito antes de comprar 0 a 100 em GREEN / YELLOW / ORANGE / RED
- Pega as armadilhas silenciosas Abuso de TLD, dono anterior, homoglyphs, marcas parecidas
- Detecta typosquats 120 marcas, Levenshtein + bigrams + confusables
- Chamável por agentes Servidor MCP incluído: 4 tools, stdio
- Open Source · MIT
- PyPI + MCP
- 11 subcomandos
- Criado por Ken Imoto
Três passos
-
domain-pre-flight check <domínio>Roda todas as checagens habilitadas e imprime um veredito pontuado em segundos, quase tudo offline. -
--check-handles / --check-trademarkChecagens online opcionais: mesmo handle em 5 plataformas e varredura de deep-links de marcas. -
--json ↳ exit 0 / 1 / 2Saída legível por máquina e código de saída alinhado à faixa, pronto para plugar no CI.
Para quem é
- Indie hackers e solo makers validam o nome antes de comprar: um comando no lugar de cinco abas do navegador
- Fundadores de startup e PMs triam uma shortlist de nomes de empresa ou produto contra as armadilhas que consomem semanas depois do lançamento
- Times de growth e marketing ponderam nomes por pronúncia, memorização e aptidão LLMO antes de fechar um
- Engenheiros de automação plugam no CI para que um domínio ruim nunca chegue ao passo do registrador
Quando usar
- Ao nomear um novo produto ou side project: mede os três candidatos favoritos com a mesma régua
- Ao considerar um SLD curto ou com muitos dígitos: as deduções mostram exatamente quanto o padrão custa
- Ao comprar um domínio de segunda mão: a sonda do Wayback mostra o que morava nele antes
- Ao automatizar aquisição de domínios: plugue no fluxo e deixe o exit code decidir se o pipeline segue
Instalação
pip install domain-pre-flight
# CLI + MCP server
pip install "domain-pre-flight[mcp]" O extra opcional inclui um servidor MCP, então agentes como o Claude chamam as mesmas checagens como ferramentas via stdio.
O que ele verifica
- Estrutura: comprimento, hífens, dígitos, IDN/punycode, validade RFC 1035 — totalmente offline
- Risco de abuso do TLD: estatísticas do Spamhaus e SURBL por TLD, até -70 nos piores
- Histórico de conteúdo: contagem de snapshots do Wayback Machine e período arquivado, até -25
- Typosquat e similaridade de marca: distância de Levenshtein e sobreposição de bigrams contra ~120 marcas conhecidas, até -60
- Sentido negativo: correspondência em 11 idiomas (EN, ES, PT, JA, KO, ZH, HI, AR, VI, TH, ID), até -70
- Aptidão LLMO: heurísticas de pronúncia e memorização, nota 0 a 20 (experimental)
- Homoglyphs: detecção visual de sósias em IDN contra confusables conhecidos, até -75
- Handles com mesmo nome (opt-in): checagem no GitHub, npm, PyPI, X, Instagram
Vereditos reais
Passam (faixa GREEN)
| domínio | faixa | nota | principais deduções |
|---|---|---|---|
| example.com | GREEN | 100/100 | (none) |
| llmoscore.com | GREEN | 100/100 | (none) |
Rejeitados (faixas ORANGE / RED)
| domínio | faixa | nota | principais deduções |
|---|---|---|---|
| google.com | ORANGE | 40/100 | brand match: google (−60) |
| my-app123.tk | RED | 10/100 | .tk TLD (−70), digits (−15), hyphen (−5) |
Um nome limpo em .com, sem colisão de marca, bate 100. Mude o TLD para .tk e adicione dígitos: 90 pontos já se foram antes de qualquer checagem extra. Um nome que bate exatamente com uma marca existente perde 60 pontos só por risco de marca. O veredito não indica qual nome escolher; indica quais não escolher.
Quanto uma única escolha move a nota
Mesmo SLD, só o fator mostrado mudou. Deduções reais da ferramenta.
Escolha do TLD
.tk vs .com → gap de 70 pontos
.tk leva a dedução máxima de risco de TLD (-70) porque Spamhaus e SURBL colocam ele na pior faixa; .com não adiciona dedução. Mesmo SLD, setenta pontos de diferença.
Colisão de marca
Levenshtein 0 vs 3 → gap de 60 pontos
SLD idêntico a uma marca conhecida custa 60 pontos (risco UDRP). Distância 3 para a mesma marca vira uma nota, sem dedução. A régua fica em "alguém vai te confundir com eles".
Uso
# checagem completa (estrutura + histórico + veredito)
domain-pre-flight check example.com
# só offline: pula a consulta ao Wayback
domain-pre-flight check example.com --no-history
# adiciona checagem de handles em 5 plataformas
domain-pre-flight check example.com --check-handles
# saída JSON para CI (exit code combina com a faixa)
domain-pre-flight check example.com --json O que execuções reais retornam
Três padrões comuns, todos medidos com configurações padrão. As strings de motivo vêm literais da ferramenta.
- my-app123.tk → RED (10/100): .tk TLD risk -70, 3 dígitos -15, 1 hífen -5. Três bandeiras vermelhas empilhadas em um nome que "parece bom"
- google.com → ORANGE (40/100): identical to known brand "google" -60. O veredito ignora que o TLD está limpo — o risco de marca carrega a dedução inteira
- llmoscore.com → GREEN (100/100): sem colisão de marca, sem match de sentido negativo em 11 idiomas. Como um candidato limpo aparece
A ferramenta não escolhe o nome. Ela traz à tona, antes de você comprar, o padrão que estava enterrado num nome que você quase fechou.
Status: experimental. Os pesos da nota e as faixas ainda estão sendo calibrados com decisões reais de domínio. O veredito é um dos critérios, não o único: o Wayback ainda tem lacunas, e ataques por homoglyph contra uma marca já em produção precisam de monitoramento próprio.
Por que esta ferramenta existe
Decisões de domínio são de mão única. Depois que você compra, o nome vive no produto, em cada URL, em cada "a grafia correta é —". Os sinais que teriam levantado a mão (um TLD altamente abusado, uma marca dentro da distância 1, uma palavra em inglês que vira ofensa em outro idioma, uma URL que já hospedou algo que você não gostaria de herdar) são todos baratos de checar antes do registro e caros de escapar depois. Essa ferramenta cobre todos, ao mesmo tempo, em um comando.
Ao lado do dnstwist e do Namechk
São perguntas diferentes. O dnstwist gera as permutações que atacantes poderiam registrar contra a sua marca; o Namechk confere disponibilidade de handle em redes sociais. domain-pre-flight fica uma camada antes de ambos: esse nome deve ser registrado, e sob quais critérios.
| domain-pre-flight | dnstwist | Namechk | |
|---|---|---|---|
| O que responde | Devo registrar este domínio? | Que sósias podem mirar minha marca? | Esse handle está livre em toda parte? |
| Veredito agregado 0 a 100 | ✓ 4 faixas com exit code de CI | — | — |
| Histórico de conteúdo | ✓ Sonda do Wayback | — | — |
| Sentido negativo (multi-idioma) | ✓ 11 idiomas | — | — |
| Geração de typosquats | via list_typo_permutations (MCP) | ✓ mais de 20 algoritmos | — |
| Checagem de handle homônimo | ✓ 5 plataformas | — | ✓ 90+ plataformas |
| Licença | MIT | Apache-2.0 | Proprietária (SaaS) |
O travessão indica ausência de menção nos docs oficiais em julho de 2026. As três ferramentas se complementam: use domain-pre-flight para decidir se compra, dnstwist para ver quem pode comprar contra você, e Namechk quando handles em muitas redes forem o critério de decisão.
FAQ
Como a nota é calculada?
Cada checagem gera uma dedução a partir de uma nota inicial de 100. O total cai em uma das quatro faixas: GREEN (90-100), YELLOW (70-89), ORANGE (40-69), RED (0-39). O exit code segue a faixa (0 / 0 / 1 / 2), então scripts podem gate nele. Todos os pesos ficam em um único módulo de pontuação no repositório: auditável, editável e versionado.
Precisa de chaves de API?
Não. Todas as checagens rodam contra dados públicos. O Wayback usa a API CDX gratuita, o risco de TLD lê estatísticas Spamhaus / SURBL empacotadas, e a varredura de sentido negativo usa listas de palavras vendorizadas. Com --no-history a ferramenta roda totalmente offline.
Quão confiável é a nota de aptidão LLMO?
A nota de aptidão LLMO é uma heurística experimental — clusters de consoantes, razão de vogais, comprimento, repetições de substrings, numa escala 0 a 20. O viés a favor da pronúncia em inglês está documentado no ADR 0008. Trate como sinal, não como veredito.
Qual a diferença para o dnstwist?
O dnstwist gera permutações de um domínio que atacantes poderiam usar contra ele. domain-pre-flight decide se o domínio que você está considerando vale ser registrado. A ferramenta inclui um tool MCP chamado list_typo_permutations que usa a mesma ideia para um propósito diferente: checar se o nome que você quer é um typo do nome de outra pessoa.
Checa marcas registradas?
Gera deep-links pré-preenchidos para USPTO, EUIPO e J-PlatPat para você conferir na mão — decisão registrada no ADR 0009, porque consultas automáticas contra esses registros são pouco confiáveis e são o sinal errado para a pergunta "devo registrar isto?". A checagem de typosquat marca sobreposição com 120 marcas conhecidas, o que já pega a maior parte das colisões antes mesmo de você abrir um registro.
Dá para chamar de um agente?
Sim. Instale com pip install "domain-pre-flight[mcp]" e execute domain-pre-flight-mcp; o servidor MCP expõe quatro tools (check_domain, check_handles, check_trademark, list_typo_permutations) via stdio. Claude, Cursor e qualquer outro agente compatível com MCP chamam as mesmas checagens que o CLI roda.
Dá para adicionar minha lista de marcas ou termos negativos?
Sim. As raízes de marca ficam em data/known_brands.txt e os termos de sentido negativo em data/negative_meanings/<lang>.txt. Ambos são texto plano e recarregados a cada execução, então um fork ou um PR já resolve o tuning.
O que está fora do escopo?
Avaliação de valor de domínio, scraping de WHOIS, monitoramento em lote de domínios que você já tem e sinais pagos de qualidade de backlinks. A ferramenta é uma checagem de pre-flight para o momento antes do registro, não um gestor de portfólio de domínios.
Sobre o autor
Criado por Ken Imoto: mais de 300 artigos técnicos em Zenn, Qiita, Dev.to e neste site, mais de 40 livros em 4 idiomas, mais de 400 mil pageviews em Zenn e Qiita, 4 artigos de pesquisa no Zenodo e criador do LLMO Framework.
Relacionado
A nota de aptidão LLMO implementa parte do LLMO Framework — um conjunto mais amplo de práticas para tornar conteúdo descobrível por LLMs. Leia o framework para o contexto mais largo.
Ferramentas relacionadas para devs
- opencut-mcp Servidor MCP que controla o OpenCut classic a partir de qualquer cliente MCP. Playwright mantém a sessão do editor; doze ferramentas expõem timeline, assets e pipeline de export. Roda contra um fork do OpenCut classic.
- mcp-scorecard Pre-flight checks for MCP servers: passive token footprint, use-case scoping, security, and name safety. LLM-facing quality scorecard.
- 404 Games Ten single-file canvas mini games for your 404 page, inspired by famous error pages. Vanilla JS, zero dependencies, theme-aware. Live on this site's 404.
- historymap Turn a YAML file into a corporate-style product-history timeline. Ten layouts, switchable right on the page. Static, self-contained, iframe-embeddable.