// arquivo de configuração
config.yaml
As extensões ficam em extensions no ~/.config/goose/config.yaml. goose configure → Add Extension escreve o mesmo tipo de entrada por você.
Para usuários do Goose
O Goose trabalha por meio de extensões, e cada extensão é um servidor MCP. O Maguyva é a que indexa a sua base de código, então o Goose pergunta onde as coisas estão em vez de listar diretórios.
Plano Free: 3 repositórios, Até 50 mil linhas de repositório indexadas, sem cartão.
Use .goosehints para como trabalhar. Use o Maguyva para o que o código diz agora. Quatro fatos específicos do Goose.
// arquivo de configuração
As extensões ficam em extensions no ~/.config/goose/config.yaml. goose configure → Add Extension escreve o mesmo tipo de entrada por você.
// transporte
O Maguyva é uma extensão streamable_http, então o Goose se conecta ao endpoint por conta própria: sem processo local, sem Node.js. A URL vai em uri, não em url.
// chave
O Goose envia o mapa headers em toda requisição, então a chave vai no cabeçalho Authorization. O Goose também pode preenchê-la a partir de uma variável de ambiente listada em env_keys.
// filtro de ferramentas
Uma extensão pode expor só parte das ferramentas: liste as que você quer em available_tools, ou deixe vazio para todas.
# .goosehints
- Use pnpm, não npm.
- Rode os testes de integração antes de dar uma mudança por concluída.O Goose carrega por padrão o AGENTS.md e o .goosehints: hints globais de ~/.config/goose/.goosehints, hints do projeto a partir do repositório e arquivos aninhados quando trabalha em subpastas. As hints exigem a extensão Developer. São o lugar certo para:
As hints descrevem o projeto. Elas não respondem “o que depende disto?”
Três lacunas que o Goose preenche com comandos de shell, um arquivo por vez.
Num repositório desconhecido, o Goose se orienta com listagens de diretórios e leituras de arquivos. Cada uma gasta contexto antes de a tarefa começar.
Uma busca de texto não distingue uma chamada real de um comentário, de um mock ou de um método com o mesmo nome.
Um arquivo de hints escrito no trimestre passado descreve a estrutura do trimestre passado. O Goose segue mesmo assim.
Uma entrada em extensions dá ao Goose:
As hints dizem ao Goose como trabalhar.
O Maguyva dá ao Goose um mapa do código.
Primeiro o mapa, depois deixe o Goose rodar.
// workflow 01
goose> por que algumas exportações terminam com zero linhas? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → O Goose lê dois arquivos, não o pacote export inteiro. [exit 0]
Resultados priorizados afunilam a busca antes de o Goose abrir um shell.
// workflow 02
goose> divida a classe Notifier em e-mail e SMS dependency_search("Notifier", dependents) 11 referências em 5 pacotes → O plano cobre as onze antes da primeira edição. [exit 0]
O Goose recebe a lista completa de dependentes numa só chamada, em vez de uma sequência de greps.
Três passos. Plano Free: 3 repositórios, Até 50 mil linhas de repositório indexadas, sem cartão.
// step 01
Escolha um que você já conheça, para poder avaliar as respostas.
// step 02
~/.config/goose/config.yaml
extensions:
maguyva:
name: maguyva
type: streamable_http
uri: https://maguyva.tools/mcp
enabled: true
headers:
Authorization: Bearer mgv_xxxx
timeout: 300
// step 03
Troque mgv_xxxx pela sua chave de API, rode goose session e faça uma pergunta cuja resposta você já saiba. YAML é sensível à indentação: use espaços, não tabs.