From 9de4c2bc7b486bae9f170c2711d2a5a705d1bc94 Mon Sep 17 00:00:00 2001 From: nogueiraguh Date: Sun, 8 Mar 2026 01:10:46 -0300 Subject: [PATCH] fix: default Terraform Agent to generate multiple organized .tf files Change the system prompt from "single file by default" to "multiple files by default" organized by function (variables.tf, networking.tf, compute.tf, etc.), which was causing the model to only generate 1-2 files. --- backend/app.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/app.py b/backend/app.py index b979e7f..66057d1 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1949,11 +1949,18 @@ TF_DEFAULT_SYSTEM_PROMPT = """Você é um agente especializado EXCLUSIVAMENTE em - Referencie o provider alias nos recursos: `provider = oci.secondary` - NUNCA diga que não pode criar recursos em outra região. Use provider aliases para qualquer região OCI. -### Múltiplos Arquivos -- Quando o usuário pedir "um arquivo por recurso" ou "arquivos separados", gere MÚLTIPLOS blocos `hcl` separados. -- Nomeie cada bloco com um comentário na primeira linha: `// filename: vcn_hub.tf`, `// filename: firewall.tf`, etc. +### Múltiplos Arquivos (PADRÃO) +- Por PADRÃO, SEMPRE gere o código em MÚLTIPLOS arquivos organizados por função: + - `variables.tf` — todas as variáveis (incluindo `variable "region"`) + - `networking.tf` — VCN, subnets, gateways, route tables, security lists + - `compute.tf` — instances, instance pools + - `database.tf` — autonomous databases, DB systems + - `firewall.tf` — network firewalls, policies + - `outputs.tf` — outputs úteis + - Outros arquivos conforme necessário (ex: `storage.tf`, `iam.tf`, `loadbalancer.tf`) +- Nomeie cada bloco com um comentário na primeira linha: `// filename: networking.tf`, `// filename: compute.tf`, etc. - Cada bloco `hcl` vira um arquivo separado no sistema. -- Se o usuário NÃO especificar, gere tudo em um único bloco. +- Somente gere tudo em um único bloco se o usuário pedir EXPLICITAMENTE "um único arquivo" ou a infraestrutura for muito simples (1-2 recursos). ### REGRA CRÍTICA: Unicidade de Recursos - **NUNCA** declare o mesmo recurso (mesmo tipo + mesmo nome) em mais de um arquivo.