Terraform RAG

Base de conocimiento impulsada por IA para tus módulos de Terraform. Indexa, busca, compone y audita, todo desde un solo lugar.

Documentación

⬡

Terraform RAG

Base de conocimiento impulsada por IA para tus módulos de Terraform.
Indexa, busca, compone y audita, todo desde un solo lugar.

Demo en vivo - Arquitectura - Inicio rápido - Servidor MCP

Python 3.12 FastAPI pgvector MCP License


Prueba la demo en vivo

Interfaz web - explora más de 2700 módulos en más de 175 repositorios (AWS / Azure / GCP):

https://terraform-rag.io

Inicio de sesión: demo@terraform-rag.io / demo (solo lectura)

MCP - conecta tu IDE a la base de conocimiento:

{
  "mcpServers": {
    "terraform-rag": {
      "type": "http",
      "url": "https://terraform-rag.io/mcp",
      "headers": {
        "Authorization": "Bearer trag_6c495d7a027369cb5d324d877626c272"
      }
    }
  }
}

9 herramientas disponibles: query_modules, pick_modules, list_modules, get_module_details, get_dependencies, get_module_usage, find_similar_usages, fetch_example_code, get_stats (list_modules también acepta semantic_query para búsqueda en lenguaje natural).


Qué hace

Apúntalo a tus repositorios de módulos de Terraform. Los clona, analiza cada archivo HCL, genera embeddings y construye una base de conocimiento buscable en PostgreSQL + pgvector. Luego aprende cómo se usan realmente esos módulos en tus repositorios de consumo: patrones de nombres, convenciones de variables, estrategias de etiquetado, diseños de implementación, y lo destila en orientación autoritativa.

Un pipeline agéntico (Claude, Bedrock o cualquier modelo compatible con OpenAI) explora la base de conocimiento a lo largo de múltiples turnos de uso de herramientas para ensamblar respuestas fundamentadas y revisables: recuperación asistida con un humano en el circuito, no un generador de código autónomo. Consulta desde la interfaz web, la API REST o directamente desde tu IDE a través de MCP.

Véalo en acción

Module browser
Explorador de módulos - más de 2700 módulos en más de 175 repositorios
Agentic query
Composición agéntica - llamadas a herramientas y razonamiento en tiempo real
Generated HCL
HCL generado - salida con resaltado de sintaxis
Knowledge browser
Explorador de conocimiento - convenciones y patrones de uso
Index jobs
Trabajos de indexación - panel de indexación de repositorios
Audit logs
Registros de auditoría - rastro completo de llamadas LLM, MCP y API

Características

Pipeline de consulta agéntico - más que una simple búsqueda RAG. El LLM navega por los módulos, verifica detalles, lee convenciones y obtiene código de ejemplo a lo largo de múltiples turnos de uso de herramientas antes de componer una respuesta para que la revises. Cuatro modos de consulta: componer, buscar, optimizar y auditar.

Capa de conocimiento - indexa repositorios de consumo para aprender patrones de uso del mundo real. Destila convenciones en seis dimensiones (nombres, variables, etiquetado, diseño, versiones, implementación) y las trata como orientación autoritativa en todos los prompts.

Servidor MCP - el endpoint HTTP Streamable funciona con Claude Code, Cursor, Windsurf y cualquier cliente compatible con MCP. Consulta tu base de conocimiento de módulos directamente desde tu IDE.

Grafo de dependencias - los CTE recursivos de PostgreSQL mapean el árbol completo de dependencias entre módulos. Encuentra qué depende de qué, rastrea el impacto y visualiza las relaciones con un grafo dirigido por fuerza D3.

Seguimiento de versiones - descubrimiento automático de etiquetas git con historial de versiones por módulo. El almacenamiento en caché de hash de código evita llamadas redundantes de LLM/embeddings al reindexar.

Backend LLM flexible - Anthropic (directo o Bedrock), OpenRouter, Ollama o cualquier endpoint compatible con OpenAI. Cambia de modelo sin modificar código.

Integración CI/CD - flujo de trabajo de GitHub Actions y endpoints de webhook para reindexación automática cuando cambian los archivos .tf.

Autenticación - deshabilitada (predeterminado), correo/contraseña local con JWT, o SSO terminado en ALB mediante AWS Identity Center / OIDC.

Inicio rápido

# 1. Clone and configure
git clone https://github.com/krzysztofgawrys/rag-for-terraform.git
cd rag-for-terraform
cp .env.example .env
# Edit .env - set POSTGRES_PASSWORD, JWT_SECRET, and your LLM API key

# 2. Start everything
docker compose up -d

# 3. Index your first repo
curl -X POST http://localhost:8000/index/ \
  -H "Content-Type: application/json" \
  -d '{"repo_url": "git@github.com:org/tf-modules.git", "branch": "main"}'
ServicioURL
Frontendhttp://localhost:3000
Documentación de APIhttp://localhost:8000/docs
Endpoint MCPhttp://localhost:8000/mcp/

Para repositorios privados, coloca tu clave de implementación SSH en ./worker_deploy_key (o establece SSH_KEY_PATH en .env).

Servidor MCP

Conecta cualquier cliente compatible con MCP a http://localhost:8000/mcp/.

Claude Code (.mcp.json):

{
  "mcpServers": {
    "terraform-rag": {
      "type": "http",
      "url": "http://localhost:8000/mcp/"
    }
  }
}

Herramientas disponibles: query_modules, pick_modules, list_modules, get_module_details, get_dependencies, get_module_usage, find_similar_usages, fetch_example_code, get_stats.

Configuración de LLM

ModoLLM_BASE_URLEjemplo de LLM_MODEL
Anthropic (directo)(vacío)claude-sonnet-4-6
AWS Bedrock(establece AWS_BEDROCK_REGION)us.anthropic.claude-sonnet-4-6-20250514-v1:0
OpenRouterhttps://openrouter.ai/api/v1anthropic/claude-sonnet-4-6
Ollama (local)http://ollama:11434/v1qwen2.5-coder:32b

Se puede usar un modelo económico separado para descripciones de módulos durante la indexación (variables DESCRIPTION_LLM_*).

Arquitectura

  Browser         AI Agent / IDE
     |               |
+---------+      +--------+      +----------------+
| Frontend|----->|  API   |----->| PostgreSQL 16  |
| (Vite)  |      | FastAPI|      | + pgvector     |
+---------+      +---+----+      +----------------+
                     |
                +----+----+
                | Worker  |      +-------+
                | (Celery)|----->| Redis |
                +---------+      +-------+

Para el análisis técnico completo (detalles de la pila, estructura de directorios, endpoints de API, internos del agente, pipeline de la capa de conocimiento, limitaciones conocidas y notas de implementación), consulta docs/ARCHITECTURE.md.

Licencia

Business Source License 1.1 - consulta LICENSE para más detalles.

  • Se permite el uso no productivo (evaluación, pruebas, desarrollo)
  • El uso productivo requiere una licencia comercial del autor
  • El 2029-05-25 la licencia se convierte a AGPL-3.0