github patrickchugh/terravision v0.48.0
v0.48.0 — JSON Graph Input, AI Agent Tooling & 195 New Resource Icons

latest release: v0.48.1
3 hours ago

Highlights

Draw from a JSON graph, no Terraform needed

TerraVision can now draw a professional cloud architecture diagram from a plain JSON file. Describe the architecture as nodes and connections, using Terraform resource type names, so there is no new language to learn:

{
  "tv_aws_users.users": ["aws_cloudfront_distribution.cdn"],
  "aws_cloudfront_distribution.cdn": ["aws_s3_bucket.static_site", "aws_alb.api"],
  "aws_vpc.main": ["aws_subnet.public~1", "aws_subnet.private~1"],
  "aws_subnet.public~1": ["aws_alb.api"],
  "aws_subnet.private~1": ["aws_lambda_function.orders"],
  "aws_alb.api": ["aws_lambda_function.orders"],
  "aws_lambda_function.orders": ["aws_dynamodb_table.orders", "aws_sqs_queue.events"]
}
terravision draw --source architecture.tvg.json --format svg
  • Each key is <terraform_resource_type>.<name>; each value is what it connects to or contains. Works for AWS, Azure and GCP.
  • No Terraform required for JSON sources: only Graphviz and Git.
  • .tvg.json is the recommended extension for TerraVision Graph files. Any .json file still works.
  • The format is published: Graph Format spec, JSON Schema, node types and example graphs for AWS, Azure and GCP.

Built for AI assistants

  • New render_graph MCP tool: an agent passes the graph inline and gets a diagram back, with no files to write and no Terraform. Node addresses are validated against the same rules as the JSON Schema.
  • Agent skill in skills/terravision-cloud-diagrams for Claude Code, Codex, Gemini CLI, Cursor and Copilot, with a dependency-free graph validator.
  • Claude Code plugin and Gemini CLI extension manifests.
  • llms.txt and llms-full.txt on the docs site, so AI tools can find the format.

195 more resource types with official icons

Resource types that previously drew as generic boxes now use their provider's official icon. TerraVision now covers:

Provider Resource types New in 0.48
AWS 385 +69
Azure 245 +77
Google Cloud 264 +49
  • AWS: OpenSearch (and Serverless, Ingestion), App Runner, MemoryDB, Keyspaces, Aurora DSQL, RDS Proxy, Redshift Serverless, MSK Serverless and Connect, Bedrock (agents, knowledge bases, guardrails, AgentCore), Kendra, Amazon Q, Managed Grafana and Prometheus, MWAA, EventBridge Pipes, Network Firewall, Security Lake, Private CA, S3 Access Points and S3 Tables, and more.
  • Azure: Bastion, NAT Gateway, Firewall and WAF policies, Virtual Hub, Private DNS Resolver, Container Apps environments and jobs, AKS Fleet Manager, Red Hat OpenShift, Azure Virtual Desktop, AI Foundry, Managed Redis, Cosmos DB for MongoDB vCore and PostgreSQL, the Data Protection backup vault, Managed Grafana, Logic Apps Standard, and more.
  • GCP: Memorystore, Managed Kafka, Vertex AI Workbench, Vector Search and Agent Engine, TPUs, Vertex AI Search, Serverless VPC Access, NetApp Volumes, Parallelstore, Managed Lustre, Oracle Database@Google Cloud, Model Armor, Cloud Run worker pools, and more.

The full list is on the node types page.

Bug Fixes

  • Large stacks no longer hang (#212): the variable resolver is now near-linear, so stacks that took many minutes and several GB of memory render in seconds. Thanks @swirle13!
  • JSON graphs draw every node: nodes that appear only as a connection target are now drawn instead of silently dropped. Diagrams drawn from Terraform are unchanged.
  • AWS Internet Gateway icon path fixed.

Upgrade Note

  • terravision graphdata now saves architecture.tvg.json by default (previously architecture.json). An --outfile that already ends in .json is used as given, and --show_services output is still plain .json. If a script depends on the old default name, pass --outfile architecture.json.

Other Improvements

  • The README and docs site now lead with JSON graph input, with AWS, Azure and GCP examples.
  • The docs site adds Graph Format, Node types and MCP Server pages, plus a providers table with resource counts.
  • The MCP Registry publish can now be re-run on its own for an existing PyPI version.

Full changelog: v0.47.0...v0.48.0

Don't miss a new terravision release

NewReleases is sending notifications on new releases.