# Supporto Terraform in Maguyva: contesto infrastrutturale per agenti IA

Canonical source: https://maguyva.ai/it/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).

Maguyva supporta Terraform con parsing AST ed estrazione dei simboli, così gli agenti IA possono tracciare moduli, local, variabili, riferimenti a risorse, e pattern infrastrutturali dinamici prima di suggerire modifiche.

## Istantanea del supporto

- Livello: Supporto AST e simboli
- Infrastruttura
- Estensioni: .tf, .tfvars
- Analisi AST reale per ricerca sintattica e contesto strutturale.
- I simboli nominati alimentano la ricerca semantica e i riferimenti incrociati. La navigazione del grafo è disponibile quando è abilitata l’estrazione delle relazioni.
- Questo linguaggio è indicizzato per la ricerca, ma al momento non viene memorizzato nel grafo del codice.
- Sono disponibili sia l’analisi AST sia l’estrazione dei simboli.

## Il più adatto per

- Team platform che gestiscono moduli Terraform riutilizzabili, cartelle per ambiente, e pattern infrastrutturali condivisi.
- Repository dove le modifiche al codice applicativo richiedono spesso modifiche infrastrutturali corrispondenti o una revisione d'impatto.
- Workflow ad agenti che hanno bisogno di capire riferimenti e raggio d'impatto prima di toccare le definizioni infrastrutturali.

## Workflow degli agenti

- Traccia come variabili, local, moduli, e risorse si collegano prima di modificare un plan.
- Confronta le varianti d'ambiente e l'uso dei moduli per mantenere le modifiche coerenti.
- Ispeziona il probabile impatto a valle prima che l'agente suggerisca una modifica infrastrutturale.

## Perché Terraform ha bisogno di contesto a livello di repository

Il codice di infrastruttura è dove molto tooling IA ricade silenziosamente su una gestione superficiale del testo. Non è abbastanza buono. Le modifiche a Terraform sono di solito sensibili, ricche di riferimenti, e sparse tra moduli, local, variabili, data source, e cartelle specifiche per ambiente. La parte difficile è capire come la configurazione si tiene insieme prima di modificarla.

Ecco perché il supporto Terraform conta anche se il tuo codice applicativo principale vive altrove. Se il repository contiene codice di infrastruttura, l'agente deve vederlo come parte dello stesso sistema, non come un allegato su cui deve indovinare.

## Cosa Maguyva aiuta gli agenti a capire in Terraform

Maguyva supporta Terraform strutturalmente, il che è la base utile per seguire i riferimenti tra moduli, i flussi delle variabili, e le relazioni tra risorse. Conta ancora di più una volta che il codice usa `count`, `for_each`, blocchi dinamici, e moduli condivisi che rendono la vera forma del plan più difficile da recuperare con una lettura veloce.

Il beneficio pratico è che l'agente può rispondere a domande a livello di repository come "dove viene riutilizzato questo modulo?", "cosa dipende da questa variabile?", o "quali cartelle di ambiente divergono dal pattern?" prima di proporre una modifica.

## Cosa dimostra questo sulla copertura linguistica di Maguyva

Terraform è un buon banco di prova dell'utilità del supporto ai linguaggi. Mostra se Maguyva riesce a trattare codice applicativo, codice operativo, e infrastruttura come un unico problema a livello di repository invece che isole separate.

Se la tua infrastruttura sta accanto al codice di servizio, la [guida Go](/it/languages/go) è l'accoppiamento backend più vicino. Se lo stesso repository include package web o platform, la [guida TypeScript](/it/languages/typescript) è la pagina adiacente giusta.

## Quando questa pagina è utile

Usa questa pagina se la domanda è "l'agente riesce a mantenere anche il contesto dell'infrastruttura?" È una domanda più realistica che chiederlo solo dei linguaggi applicativi. Per la matrice di supporto completa, usa [compatibilità](/it/docs/compatibility).

## Dettagli del motore

- La normalizzazione degli import rimuove `module` e `source`, il che rende più facile confrontare i riferimenti a livello di modulo.
- Le regole del linguaggio Terraform riconoscono i riferimenti a `var`, `local`, `module`, `data` e alle risorse per l’estrazione delle relazioni, ma l’attuale policy del grafo non li memorizza nel grafo del codice di Maguyva.
- Il controllo di flusso specifico di Terraform come `count`, `for_each` e i blocchi dinamici è trattato come struttura di prima classe invece che come semplice testo.

## Punti di ingresso MCP utili

- `get_task_context`: Usalo per prompt come “traccia come l'output del modulo VPC alimenta il servizio ECS” quando ti serve una risposta che riunisce il contesto in fretta.
- `text_pattern_search`: Usa il testo esatto per indirizzi di risorse, nomi di moduli o chiavi di variabili prima di allargare l'analisi.
