TerraVision

io.github.patrickchugh由 GitHub 帳號 patrickchugh 發布v0.56.1更新於 Oct 31, 2026

Draw cloud architecture diagrams with official AWS, Azure and GCP icons from a prompt or Terraform.

概覽

AI 產生的概覽

TerraVision 讓 AI 助理依自然語言描述或 Terraform 程式碼,以 AWS、Azure、GCP 官方圖示繪製雲端架構圖。

可以做什麼
  • 依自然語言描述產生雲端架構圖,資源會歸入對應的 VPC、子網路、可用區或資源群組
  • 從本機或公開 Git 儲存庫中的 Terraform 程式碼繪圖,依據 terraform plan 呈現程式碼實際部署的內容
  • 為產生的架構撰寫 Terraform,並輸出可互動的 HTML 頁面或可編輯的 draw.io 檔案
  • 設定 CI 工作流程,在 Terraform 變更時自動重繪架構圖
適用情境
適合需要 AWS、Azure 或 GCP 架構圖但不想手繪的情況,尤其是尚未部署或沒有帳號存取權的基礎設施,以及在 CI 中讓架構圖與 Terraform 保持同步。
執行需求
以 Python 套件形式透過 uvx 在本機執行(需 Python 3.11+)。需安裝 Graphviz 與 Git;僅在從 Terraform 程式碼繪圖時需要 Terraform 1.x 或 OpenTofu。不需雲端帳號存取、API 金鑰或環境變數。
安裝前請注意
會將圖表檔案寫入指定的輸出資料夾,並可能為儲存庫新增 CI 工作流程檔案。由 Terraform 產生的圖可能反映 tfvars 檔案中的變數值,發布前請先確認內容。選用的 AI 流程標註可能將內容傳送至 Ollama 或 Bedrock。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 TerraVision,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[圖片] TerraVision

Professional cloud architecture diagrams in official AWS, Azure and GCP style, from a description in Claude or ChatGPT or from your Terraform

[pytest] [CodeQL] [Ruff security rules] [pip-audit] [SonarQube quality gate] [SonarQube vulnerabilities] [SonarQube coverage]

[PyPI version] [PyPI downloads] [GitHub stars] [License]

🌐 terravision.online · 📖 Full documentation →

TerraVision is a free, open-source cloud architecture diagram generator for AWS, Azure and Google Cloud that works in both directions: design to code (describe it to your AI assistant, get the diagram, then the Terraform) and code to diagram (draw what your Terraform deploys).

Ask your AI assistant for a cloud architecture diagram, in plain words, and get the diagram a cloud architect would draw: the official AWS, Azure and GCP icons, with every resource in its VPC, subnet, zone or resource group. From a description, from your Terraform code, or the other way round, with the Terraform written from the diagram. TerraVision runs on your own computer and needs no cloud access.

Draw prod without prod access.

TerraVision draws what your Terraform will deploy, from the code alone. The infrastructure doesn't have to exist yet, and you need no access to any account it deploys to. Live cloud scanners can't do that. See how →


Watch the 90-Second Intro

[TerraVision extension for Claude and ChatGPT]


Gallery

The same three-tier design on each cloud, then a flagship for each. Every example comes with the prompt and the source file: see the full gallery →

More in the gallery: AWS serverless event-driven · AWS data lake · AWS multi-region failover · AWS multi-account network · Azure AKS · Google Cloud data pipeline


Get started in Claude or ChatGPT

TerraVision installs as an extension in Claude Desktop and a plugin in the ChatGPT desktop app, where the diagram appears right in the chat. It also works in Claude Code, Codex CLI, GitHub Copilot, Cursor and any other MCP client.

1. Install the prerequisites (once)

TerraVision needs Graphviz (to draw) and Git. uv runs TerraVision for Claude Code, Codex, Antigravity CLI and other MCP clients; Claude Desktop brings its own on Windows and macOS, so skip it there. Terraform is only needed to draw from Terraform code.

macOS

With Homebrew:

bash
brew install graphviz gitbrew install uv                        # not needed for Claude Desktopbrew install hashicorp/tap/terraform   # optional: to draw from Terraform code
Windows

In PowerShell:

powershell
winget install --id Graphviz.Graphviz -ewinget install --id Git.Git -ewinget install --id astral-sh.uv -e    # not needed for Claude Desktopwinget install --id Hashicorp.Terraform -e   # optional: to draw from Terraform code

Then open a new terminal, and restart your AI app, so they see the new programs.

Linux (Debian, Ubuntu)
bash
sudo apt install graphviz git# Ubuntu 26.04 and later only (also Debian 14 "forky"/testing).# Skip on older releases such as Ubuntu 24.04: graphviz already includes it.sudo apt install libgvplugin-neato-layout8
curl -LsSf https://astral.sh/uv/install.sh | sh   # Claude Desktop on Linux needs uv pre-installed
# optionally install terraform, to draw from Terraform code: HashiCorp's apt repositorywget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.listsudo apt update && sudo apt install terraform

Other distributions: HashiCorp's install guide.

No admin rights, or no package manager? Each tool can be unpacked into your home folder and added to your PATH: installation guide.

2. Connect your assistant

Claude Desktop: download terravision-<version>.mcpb from the latest release and open it (or drag it into Settings → Extensions). Diagrams appear right in the chat, with buttons to open the image, edit it in draw.io, show it in its folder and see its source.

Claude Code (terminal, VS Code or JetBrains):

bash
claude plugin marketplace add patrickchugh/terravisionclaude plugin install terravision-cloud-diagrams@terravision

Then start a new Claude Code session. Diagrams are saved in a diagrams folder in your project. If /mcp shows TerraVision failed to connect on first start (the install can take longer than Claude Code waits), choose Reconnect, or pre-install with uvx --from "terravision[mcp]" terravision --version.

ChatGPT desktop app and OpenAI Codex CLI: in the desktop app, go to Settings, add the marketplace https://github.com/patrickchugh/terravision, then select terravision-cloud-diagrams. For the CLI:

bash
codex plugin marketplace add https://github.com/patrickchugh/terravisioncodex plugin add terravision-cloud-diagrams@terravision

Google Antigravity CLI (agy):

bash
agy mcp add terravision -- uvx --from "terravision[mcp]" terravision mcp --output-dir /path/for/diagrams

VS Code with GitHub Copilot, Cursor and other MCP clients: add an MCP server that runs uvx --from "terravision[mcp]" terravision mcp --output-dir <folder for diagrams>. Configuration for each client, plus the npx skills add patrickchugh/terravision skill-only install, is in the setup guide.

3. Ask for a diagram (or code)

You haveAsk something likeYou get
An idea"Draw an AWS three-tier app: React on CloudFront, ECS Fargate behind an ALB in two AZs, SQL Server on RDS Multi-AZ"The diagram (PNG, SVG, editable draw.io) and its graph. Refine it by asking: "add ElastiCache", "show how a request flows through it"
A diagram you like generated from TerraVision"Write the Terraform for this architecture"Terraform for the resources, zones and connections, with the diagram's flows and labels kept (quality depends on model used)
Terraform code, local or on GitHub but no VERIFIED diagram"Draw the architecture of the Terraform in ./infra" or "Show me a cloud architecture diagram of https://github.com/patrickchugh/testcase-bastion//examples"A diagram of what terraform plan says the code deploys
A TerraVision diagram of your Terraform that you want to publish in HTML documentation, or review resource by resource, for example in a security audit"Make this diagram interactive" or "Give me an interactive version I can click through"A single HTML page that works in any browser or docs site, no server needed: click any resource to see its settings (encryption, public access, ports, IAM), search and zoom. Built from terraform plan, so it needs the Terraform, not just a picture
Terraform with an existing TerraVision diagram in a repository"Keep this diagram up to date in CI"A workflow that redraws the diagram whenever the Terraform changes

The first diagram takes a little longer while TerraVision installs itself. If anything is missing, the assistant says what to install. To check at any time, ask: "Is TerraVision set up correctly?"

The full guide, with more example prompts: Use TerraVision with AI assistants.


Keep diagrams current in CI/CD

Point the TerraVision GitHub Action at your Terraform, and the diagram redraws itself on every change:

yaml
- uses: hashicorp/setup-terraform@v3- uses: patrickchugh/terravision-action@v2  with:    source: ./infrastructure    outfile: docs/architecture    format: both

A terravision.yml next to the Terraform adds the title, numbered flows and connection labels to every version. GitLab, Jenkins, Azure DevOps and others: CI/CD Integration.


Why TerraVision?

  • ✅ Built for AI assistants: extensions and plugins for Claude, ChatGPT, Codex, Copilot and Cursor, with the diagram shown in the chat (guide)
  • ✅ Provably accurate: drawn from terraform plan, so the code is the source of truth and what you see is what deploys
  • ✅ Draw prod without prod access: the infrastructure need not exist and you need no access to the account it deploys to; one codebase draws dev, staging and prod from their variables files (how)
  • ✅ Official icons and conventions: AWS, Azure and GCP icons, with every resource in its VPC, subnet, zone or resource group
  • ✅ JSON graph input: describe an architecture in a few lines of JSON, no custom DSL to learn (Graph Format)
  • ✅ 100% client-side: runs locally, needs no cloud access, your code never leaves your machine
  • ✅ Interactive HTML and editable draw.io output, flow annotations (YAML or AI-generated via Ollama or Bedrock), Terragrunt support, free and open source

How it compares

TerraVisionManual tools
(draw.io, Lucidchart, Visio)
AI workspaces
(Eraser)
Diagram as code
(Mermaid, D2, Python Diagrams)
Live cloud scanners
(e.g. Cloudcraft)
Draw from a plain-English description✅ inside the assistant you already use (Claude, ChatGPT, Copilot)[Partly] only if your organisation approves third-party models✅[No][No]
Draw from Terraform✅ built from terraform plan, client side[No][Partly] AI interprets the files you paste (potentially exposes code & secrets)[No][No]
Draw an environment you have no access to, or one not built yet✅ from the code and a variables file alone: the infrastructure need not exist, and no access to any account it deploys to is needed. --varfile prod.tfvars draws prod, --varfile dev.tfvars draws dev[Partly] drawn by hand from documents[Partly] from code you paste[Partly] written by hand[No] draws only an account it can connect to
Write the Terraform for a design✅ by your assistant, checked by redrawing the code AI writes[Partly] Lucidchart beta, AWS only, paid add-on[No][No][No]
Official icons and VPC, subnet, zone grouping conventions✅ built in[Partly] icon libraries; correct grouping is up to you[Partly] icons, generic groups[No][No]
Stays current automatically✅ redrawn from the code in CI[No][Partly] repository sync[No]✅ follows the live account
High Security - No access to your cloud account or upload of your code✅✅[No]✅[No]
PriceFree, open sourceFree to paidFree tier, paid plansFree, open sourcePaid

Already draw by hand? Generate the first version with TerraVision, then polish the exported file in draw.io or Lucidchart. Full comparison: TerraVision vs draw.io, Lucidchart, Eraser, Mermaid and others.


Supported Cloud Providers

ProviderStatusResource types
AWS✅ Full support427 types
Google Cloud✅ Full support267 types
Azure✅ Full support263 types

Full list: Node types.


Use it from the command line

TerraVision is also a command-line tool, for scripts and for people who prefer to write the graph themselves.

Install

bash
pipx install terravision   # or: uv tool install terravision                           # or: pip install terravision in a virtual env

You also need Python 3.11+ (uv installs one for you), Graphviz and Git, plus Terraform 1.x (or OpenTofu) when drawing from Terraform code; JSON graphs don't need it. Platform-specific steps, Docker and Nix: Installation Guide.

Diagram from JSON (no Terraform needed)

Each key is <terraform_resource_type>.<name>; each value is what it connects to or contains. That is the whole format.

json
{  "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"]}
bash
terravision draw --source architecture.tvg.json --format svg

Works for AWS (aws_*), Azure (azurerm_*) and GCP (google_*). Full spec, schema and Azure and GCP examples: Graph Format.

Diagram from Terraform

bash
terravision draw --source ./path-to-your-terraform --show                    # local directoryterravision draw --source https://github.com/user/repo.git//subfolder --show # public Git repoterravision draw --source ./path-to-your-terraform --varfile prod.tfvars     # draw prod without prod accessterravision visualise --source ./path-to-your-terraform --show               # interactive HTML

The diagram is derived from terraform plan, so it shows what the code actually deploys: conditionals, count, for_each and modules are resolved. Eraser and friends draw what the AI imagines; TerraVision proves what the code deploys.

Output formats, pre-generated plans, AI annotations, the simplified view and every option (terravision --help): Usage Guide.

Try the interactive demos

  • 🟧 AWS demo: Wordpress on ECS Fargate with CloudFront, RDS, EFS
  • 🟦 Azure demo: VM scale set with load balancer and VNet
  • 🟩 GCP demo: Core GCP networking and compute

Documentation

Everything lives at patrickchugh.github.io/terravision (llms.txt for AI agents).


Contributing and support

TerraVision accepts pull requests only from invited collaborators. Bug reports, feature requests and questions are welcome in Issues and Discussions; CONTRIBUTING.md says what to put in a bug report.

Licensed under AGPL-3.0, see LICENSE. Built on Graphviz, Terraform and Terragrunt, with the official AWS, Azure and GCP icon sets.

來源:README.md,提交 849bf43

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

14
  1. v0.56.1最新Oct 31, 2026
  2. v0.56.0Oct 19, 2026
  3. v0.55.0Oct 16, 2026
  4. v0.54.0Oct 15, 2026
  5. v0.53.0Oct 6, 2026
  6. v0.52.0Oct 2, 2026
  7. v0.51.1Oct 1, 2026
  8. v0.51.0Sep 30, 2026
  9. v0.50.3Sep 30, 2026
  10. v0.50.2Sep 29, 2026
  11. v0.50.1Sep 28, 2026
  12. v0.48.2Sep 26, 2026
  13. v0.48.1Sep 25, 2026
  14. v0.47.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分