O que golang-pkg-go-dev faz?
Dependências: godig — go install github.com/samber/godig/cmd/godig@latest (ou use um servidor MCP godig registrado / a instância hospedada como alternativa).
godig consulta a API do pkg.go.dev. Use-a para responder perguntas sobre pacotes e módulos Go: documentação, símbolos, versões, importadores e vulnerabilidades. Funciona como CLI e como servidor MCP, e todas as operações são somente leitura e não precisam de autenticação.
Quando usar esta skill
Disparar em perguntas como:
- "Quais versões do github.com/samber/lo estão disponíveis?"
- "O golang.org/x/text tem vulnerabilidades conhecidas?"
- "Mostre a documentação / símbolos do pacote X."
- "Quais pacotes importam X?"
- "Pesquise pacotes Go por Y."
Escolhendo entre godig, gopls, Context7 e govulncheck
Em resumo: godig responde perguntas sobre o ecossistema publicado (funciona mesmo para pacotes que ainda não estão no seu go.mod); gopls raciocina sobre seu build local resolvido (go.sum, incluindo forks com replace); Context7 é uma alternativa para documentação não-Go ou não indexada; govulncheck é a auditoria de vulnerabilidades da árvore inteira (→ samber/cc-skills-golang@golang-security). Veja a skill samber/cc-skills-golang@golang-gopls para conectar gopls (servidor MCP, ferramenta nativa LSP e CLI) com Claude Code, e a seção "godig vs gopls vs Context7 vs govulncheck" da skill samber/cc-skills-golang@golang-how-to para a matriz completa de tarefa-para-ferramenta.
Configuração
Instalação
go install github.com/samber/godig/cmd/godig@latest
Registrar o servidor MCP (opcional)
godig mcp executa sobre stdio por padrão, ou HTTP transmissível com --transport http. O comando é independente de plataforma — qualquer host compatível com MCP pode apontar para ele. Claude Code o registra via sua própria CLI:
stdio (o cliente inicia o godig sob demanda):
claude mcp add pkg-go-dev -- godig mcp
HTTP transmissível (servidor compartilhado em /mcp, padrão :8080):
godig mcp --transport http --addr :8080
claude mcp add --transport http pkg-go-dev http://localhost:8080/mcp
Instância hospedada (sem instalação necessária) — um servidor público roda em https://godig.samber.dev/mcp:
claude mcp add --transport http pkg-go-dev https://godig.samber.dev/mcp
Outras plataformas compatíveis com MCP (Cursor, Windsurf e outras) cada uma tem seu próprio registro de servidor MCP — uma entrada em seu respectivo arquivo de configurações apontando para o mesmo comando godig mcp ou URL hospedada, não um formato de configuração compartilhado.
O CLI e o servidor MCP expõem as mesmas operações com nomes correspondentes. Prefira o CLI quando godig estiver instalado; a instância hospedada é uma alternativa quando não estiver.
Comandos
Flags globais (todos os comandos): -o/--output table|json|raw|md (padrão table — use -o md para chat), --base-url (API pkg.go.dev), --vuln-base-url (banco de dados de vulnerabilidades Go, consultado por vulns e overview), --timeout, --log-level debug|info|warn|error|off. Todos também podem ser definidos via variáveis de ambiente GODIG_*.
| Comando | Argumentos | Flags específicas | Propósito |
|---|---|---|---|
overview | <caminho> | --version | Resumo compacto (metadados, versões, licenças, vulnerabilidades) — comece por aqui |
search | <consulta> | --symbol --limit --filter | Encontrar pacotes (opcionalmente exportando um símbolo) |
package info | <caminho> | --module --version | Metadados do pacote |
package imports | <caminho> | --module --version | Pacotes que este pacote importa (lista simples) |
package doc | <caminho> | --module --version --goos --goarch --format md|text|html|markdown | Documentação completa do pacote (GRANDE) |
package examples | <caminho> | --module --version --goos --goarch --symbol | Exemplos executáveis (GRANDE; escopo com --symbol) |
package licenses | <caminho> | --module --version | Arquivos de licença, texto completo (GRANDE) |
symbol doc | <caminho> <símbolo> | --module --version --goos --goarch | Assinatura + documentação de um símbolo (econômico em tokens) |
symbol examples | <caminho> <símbolo> | --module --version --goos --goarch | Exemplos executáveis de um símbolo |
symbols | <caminho> | --module --version --goos --goarch --limit --filter | Listar símbolos exportados |
module info | <caminho> | --version | Metadados do módulo |
module licenses | <caminho> | --version | Arquivos de licença do módulo (GRANDE) |
module readme | <caminho> | --version | README do módulo, Markdown completo (GRANDE) |
dependencies | <caminho> | --version | Dependências go.mod: requires / replaces / excludes / diretiva go |
packages | <caminho> | --version --limit --filter | Pacotes contidos em um módulo |
versions | <caminho> | --limit --filter | Todas as versões, da mais nova para a mais antiga |
major-versions | <caminho> | --limit --filter --exclude-pseudo | Versões principais (v1, v2…) que existem como módulos separados |
imported-by | <caminho> | --module --version --limit --filter | Pacotes que importam este |
vulns | <caminho> | --version --limit | Vulnerabilidades conhecidas (do banco de vulnerabilidades Go) |
mcp | — | --transport stdio|http --addr --cache-ttl --cache-size | Executar como servidor MCP |
version | — | — | Exibir versão / commit / data de compilação do godig |
Quando godig executa como servidor MCP, cada comando de dados acima é exposto como uma operação de mesmo nome.
Códigos de saída: 0 sucesso, 1 erro de execução (rede, pacote não encontrado), 2 erro de uso — um argumento ou flag ausente/inválido (ex.: um --limit não positivo), ou um grupo de comandos invocado sem subcomando (godig package). Verifique 2 para distinguir uma chamada malformada de uma consulta que falhou.
Saída completa -o md para cada comando: sample-output.md.
Dicas
- Comece com
overview— uma chamada retorna um resumo compacto (metadados, versões mais recentes + recentes, tipos de licença, vulnerabilidades). Recorra adoc/examples/module readme/licenses(GRANDE) apenas quando o texto completo for necessário. - Sempre use
-o mdpara que os resultados sejam renderizados como Markdown (tabelas, ou documentação/README brutos) no chat. Outros formatos existem (tablepadrão,json,raw), mas prefiramdaqui. <caminho>é um caminho de importação completo, ex.:github.com/samber/lo— passe-o como argumento posicional.--versionfixa uma versão específica do módulo (v1.5.0,latest,master,main);--moduledesambigua a qual módulo um pacote pertence.--filterestreita os resultados da lista no lado do servidor com uma expressão booleana Go — veja Sintaxe de filtro.--goos/--goarchdefinem o contexto de compilação da documentação/símbolos (ex.:linux/amd64).- Prefira
symbol doc/symbol examplesem vez depackage doc/package examplesno nível do pacote quando você precisar apenas de um símbolo específico.