-
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
enhancementNew feature or requestNew feature or requestpluginIt's a Plugin implementationIt's a Plugin implementation
Description
Enable AI model integration through a pluggable architecture, allowing the plan analyzer to generate intelligent impact analyses of Terraform/OpenTofu plans. This would pave the way for deeper contextual understanding and actionable insights, powered by LLMs or external multi-agent planning (MCP) systems.
Motivation
While tfsumpy currently focuses on parsing and structuring IaC plans, there's a growing need to go beyond syntax and structure—toward understanding and evaluating impact.
- By integrating AI models via plugins, we can:
- Summarize and explain plan changes in natural language
- Evaluate potential risks and downstream impacts
- Suggest improvements or alternatives
- Enable integration with external tools like Cursor, VS Code extensions, or custom MCP pipelines
Proposal
Introduce a plugin interface that allows users to integrate AI models or external MCP systems. Key points:
- Plugin Format: Pluggable modules that receive structured plan data and return enriched insights
- Configurable MCP: Support for JSON-based MCP configuration (inspired by how tools like VS Code or Cursor define agent behaviors)
- Extensible Output: Ability to return custom summaries, impact flags, or recommendations in the report
- Local or Remote: Plugins may run locally (e.g., using openai or ollama) or call remote endpoints (e.g., LangChain agents or custom APIs)
Deliverables
- Plugin architecture/interface
- OpenAI plugin
- Support for MCP JSON config ingestion
- Documentation on how to implement custom plugins
Benefits
- Adds value beyond syntax analysis by providing contextual interpretation
- Empowers teams to automate change reviews and governance
- Bridges the gap between static plans and intelligent infrastructure management
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpluginIt's a Plugin implementationIt's a Plugin implementation