Visual Infrastructure Assurance for Terraform & OpenTofu
Transform dense, thousands-of-lines terminal plan outputs into an interactive, hierarchical DAG. Eliminate cascading destruction, audit transitive blast radius, and inspect 2-tier resource diffs before running apply.
docker pull aatir0docking/plan-parse:latestWhy Traditional Plan Reviews Fail at Scale
Terraform CLI outputs are linear and text-based. In contrast, cloud infrastructures are non-linear, deeply interdependent Directed Acyclic Graphs.
Traditional Terminal Output
- ✕Thousands of Lines of Dense Text: Critical resource replacements (
+/-) are easily overlooked amidst 5,000 lines of scrolling JSON/terminal output. - ✕Invisible Blast Radius: Changing a base subnet or security group does not reveal which downstream databases or services will cascade into re-creation.
- ✕Cognitive Overload: When only 3 out of 250 resources mutate, reviewing the full plan requires manual cognitive filtering of 247 unchanged lines.
- ✕Outage Vulnerability: Forced resource replacements happen silently during apply, tearing down production databases unexpectedly.
plan-parse Visual Assurance
- ✓Interactive Cytoscape DAG: Complete hierarchical visualization reflecting the exact dependency graph of your infrastructure.
- ✓Transitive Blast Radius Traversal: Instant automated BFS traversal flagging direct and indirect casualties with severity metrics.
- ✓Mutations-Only DAG Contraction: Prunes no-op nodes and synthesizes bridging edges so you focus 100% on actual mutations.
- ✓100% Privacy & Zero Dependencies: Single zero-dependency Go binary or Docker container; parsing runs entirely client-side in your browser.
Dedicated Architectural Deep-Dives
Every core capability of plan-parse is documented with interactive visual viewports, real Terraform plan fixtures, and algorithmic graph contractions.
Collapsed Nodes (Mutations Only)
Deterministic DAG pruning that collapses hundreds of unchanged resources into synthetic bridging edges.
- 1Collapsed Cluster Pill: Condenses intermediate unchanged clusters into a single pill indicating the exact count of hidden no-op resources.
- 2Synthetic Transitive Bridging Edge: Computes transitive closure edges so upstream dependency lines between surviving mutating nodes remain mathematically intact.
- 3Header Toggle & Live Counter: Dedicated workbench toolbar button showing live collapsed counts with hotkey accelerator indicator [C].
Blast Radius Analysis & Subgraph Isolation
Transitive BFS impact graph traversal revealing every resource placed at risk before running apply.
- 1Blast Radius HUD Pill: On-canvas floating HUD breaking down direct casualties, transitive casualties, and destructive replacements in real time.
- 2Subgraph Isolation Mode: Dedicated toggle ([B]) that dims or removes all unrelated infrastructure to focus purely on the impacted dependency cascade.
- 3Depth Filter Stepper: Interactive stepper switching between 1-hop direct dependencies, 2-hop intermediate links, and full transitive closure.
2-Tier Progressive IaC Resource Diff
Instant contextual popovers paired with full-bleed side-by-side HCL and attribute matrix diffing.
- 1Tier 1 Quick Popover: Node-anchored modal displaying change summary badges (+N added, ~N modified, -N removed) and forces replacement warnings.
- 2Tier 2 Unified HCL Diff: Terminal-accurate syntax highlighted HCL diff with sticky line gutters and colored block additions/removals.
- 3Side-by-Side (Split) View: Synchronized dual-pane diff contrasting Current State (before) directly against Planned State (after).
Color Grading & Visual Grammar
Rigorous 60-30-10 color grammar delivering instant architectural clarity without reading text.
- 1Semantic Action Tokens: Emerald for Create (+), Sky for Update (~), Rose for Delete (-), Amber for Replace (±), Purple for Read, and Slate for No-op.
- 2Compound Module Containers: Visual module bounding hulls depicting nested encapsulation and logical grouping boundaries.
- 3Directional Dependency Edges: High-contrast vector arrows illustrating explicit provider references and implicit dependency hierarchies.
Dedicated Resource Panel (Inspector)
Docked right slide-over inspector providing deep attribute diffs, lineage navigation, and raw schema views.
- 1Resource Address & Copy Header: Full Terraform HCL address with one-click copy icon for instant CLI targeting.
- 2Attribute Diff View: Real-time before/after property inspection with colorized syntax highlighting and change markers.
- 3Lineage Navigation Chips: Interactive chips for upstream 'Depends On' and downstream 'Referenced By' that pan the DAG directly to related nodes.
Workbench Sidebar & Ingestion Dropzone
Left docked hierarchy tree, real-time fuzzy search, action filtering, and local drag-and-drop plan ingestion.
- 1Real-Time Resource Search: Instant fuzzy filtering across thousands of resources by address, resource type, or module path.
- 2Action Filter Pills: One-click toggle pills to isolate specific mutations (Create, Update, Delete, Replace, or All).
- 3Module Hierarchy Tree: Collapsible nested tree reflecting the exact module hierarchy of your Terraform project.
Power-User Utilities & Workstation Tools
Command palette, retina diagram exports, targeted apply generators, and diagnostic CLI error handling.
- 1Global Command Palette (⌘K): Keyboard-first switcher to jump to any node, run actions, switch themes, and execute commands.
- 2High-DPI Diagram Export: Export the full canvas as a Retina 2.5x raster PNG or infinite-zoom vector SVG for PR reviews.
- 3Targeted Apply Generator: One-click generation of exact `terraform apply -target="..."` commands for isolated deployments.
How to Use plan-parse in 4 Steps
Seamlessly integrate visual assurance into your daily terminal development workflow or CI/CD pipelines.
Export Terraform or OpenTofu Plan JSON
Generate the standard JSON representation of your execution plan using the standard CLI tools:
# Standard Terraform flow
terraform plan -out=tfplan
terraform show -json tfplan > plan.json
# OpenTofu equivalent
tofu plan -out=tofuplan
tofu show -json tofuplan > plan.jsonLaunch plan-parse via Binary or Docker
Pass your plan file directly to the standalone binary, run via Docker, or drop the file into the web UI:
# Option A: Standalone Binary
./plan-parse -plan plan.json
./plan-parse -plan /path/to/tf_plan.json -addr 0.0.0.0 -port 9000 -collapsed=true -no-browser -no-banner
# Option B: Docker Container (read-only mount)
docker run -it --rm -p 8080:8080 -v $(pwd):/workspace:ro aatir0docking/plan-parse:latest plan.json
# The workbench will automatically open at http://localhost:8080Audit DAG, Isolate Blast Radius, and Review Diffs
Use keyboard accelerators for rapid navigation: press C to collapse unchanged clusters, click any mutating node and press B to isolate the blast radius, and hit D to inspect line-by-line HCL diffs.
Safely Apply or Generate Targeted Rollout Commands
Once verified, execute your deployment with absolute confidence. If you need a canary rollout, copy the generated targeted apply syntax:
# Safely apply full verified plan
terraform apply tfplan
# Or apply only verified isolated sub-resources
terraform apply -target="module.vpc.aws_subnet.private[0]"Binary Downloads & Docker Image
Zero-dependency standalone executables compiled for all major operating systems, plus official Docker Hub images.
Standalone Pre-Compiled Binaries
v1.0.0No Node.js, Go, or Python runtime required. Single binary with the visualizer UI pre-embedded:
Official Docker Hub Container
Docker HubMount your working directory as read-only (:ro) for complete security isolation:
# Run with local plan file mounted read-only
docker run -it --rm \
-p 8080:8080 \
-v $(pwd):/workspace:ro \
aatir0docking/plan-parse:latest plan.jsonThe container requires zero network egress. The read-only flag guarantees your local files and state cannot be modified.