# Suporte a Terraform no Maguyva: Contexto de Infraestrutura para Agentes de IA

Canonical source: https://maguyva.ai/pt-br/languages/terraform

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

O Maguyva oferece suporte a Terraform com parsing de AST e extração de símbolos, permitindo que agentes de IA rastreiem módulos, locals, variáveis, referências de recursos e padrões dinâmicos de infraestrutura antes de sugerir mudanças.

## Panorama de suporte

- Nível: Suporte a AST e símbolos
- Infraestrutura
- Extensões: .tf, .tfvars
- Parsing real de AST para busca com consciência de sintaxe e contexto estrutural.
- Símbolos nomeados alimentam a busca semântica e as referências cruzadas. A navegação por grafo fica disponível quando a extração de relações está habilitada.
- Esta linguagem é indexada para busca, mas atualmente não é persistida no grafo de código.
- A análise de AST e a extração de símbolos estão disponíveis.

## Uso ideal

- Equipes de plataforma que gerenciam módulos Terraform reutilizáveis, pastas de ambiente e padrões de infraestrutura compartilhados.
- Repositórios em que mudanças no código de aplicação costumam exigir edições correspondentes de infraestrutura ou revisão de impacto.
- Fluxos de trabalho de agentes que precisam entender referências e o raio de impacto antes de mexer em definições de infraestrutura.

## Fluxos de trabalho de agente

- Rastrear como variáveis, locals, módulos e recursos se conectam antes de editar um plano.
- Comparar variantes de ambiente e o uso de módulos para manter as mudanças consistentes.
- Inspecionar o provável impacto a jusante antes de o agente sugerir uma modificação de infraestrutura.

## Por que Terraform precisa de contexto no nível do repositório

Código de infraestrutura é onde muitas ferramentas de IA silenciosamente recorrem ao tratamento raso de texto. Isso não é bom o suficiente. Mudanças em Terraform costumam ser sensíveis, ricas em referências e espalhadas por módulos, locals, variáveis, data sources e pastas específicas de ambiente. A parte difícil é entender como a configuração se conecta antes de alterá-la.

É por isso que o suporte a Terraform importa mesmo que o seu código de aplicação principal viva em outro lugar. Se o repositório contém código de infraestrutura, o agente precisa vê-lo como parte do mesmo sistema, não como um anexo sobre o qual deveria apenas chutar.

## O que o Maguyva ajuda os agentes a entender em Terraform

O Maguyva oferece suporte estrutural a Terraform, que é a base útil para seguir referências de módulos, fluxos de variáveis e relacionamentos de recursos. Isso importa ainda mais quando o código usa `count`, `for_each`, blocos dinâmicos e módulos compartilhados que tornam o formato real do plano mais difícil de recuperar em uma leitura rápida.

O benefício prático é que o agente consegue responder a perguntas no nível do repositório, como "onde este módulo é reutilizado?", "o que depende desta variável?" ou "quais pastas de ambiente divergem do padrão?" antes de propor uma mudança.

## O que isso prova sobre a cobertura de linguagens do Maguyva

Terraform é um bom teste de se a cobertura de linguagens é realmente útil. Ela mostra se o Maguyva consegue tratar código de aplicação, código operacional e infraestrutura como um único problema no nível do repositório, em vez de ilhas separadas.

Se a sua infraestrutura fica ao lado do código de serviço, o [guia de Go](/pt-br/languages/go) é o pareamento de backend mais próximo. Se o mesmo repositório inclui pacotes web ou de plataforma, o [guia de TypeScript](/pt-br/languages/typescript) é a página adjacente correta.

## Quando esta página é útil

Use esta página se a pergunta for "o agente também consegue manter o contexto de infraestrutura?". Essa é uma pergunta mais realista do que perguntar apenas sobre linguagens de aplicação. Para a matriz completa, use [compatibilidade](/pt-br/docs/compatibility).

## Detalhes do motor

- A normalização de import remove `module` e `source`, o que facilita comparar referências no nível de módulo.
- As regras da linguagem Terraform reconhecem referências a `var`, `local`, `module`, `data` e recursos para extração de relações, mas a política de grafo atual não as persiste no grafo de código do Maguyva.
- Controle de fluxo específico do Terraform, como `count`, `for_each` e blocos dinâmicos, é tratado como estrutura de primeira classe, não como texto puro.

## Pontos de entrada MCP úteis

- `get_task_context`: Use para prompts como “rastreie como a saída do módulo VPC alimenta o serviço ECS” quando precisar de uma resposta rápida que reúna o contexto relevante.
- `text_pattern_search`: Use texto exato para endereços de recurso, nomes de módulo ou chaves de variável antes de ampliar a análise.
