# ArcSync > Automatically generate interactive architecture diagrams from infrastructure-as-code. ArcSync parses Terraform (HCL) and CloudFormation (CDK, templates) to produce editable Fabric.js canvas diagrams and Mermaid diagrams. It supports AWS, Azure, and GCP resource types. ## Key Capabilities - Parse Terraform `.tf` files and CloudFormation templates into architecture graphs - Auto-detect IaC type (Terraform vs CloudFormation) and cloud provider - Generate interactive canvas diagrams with drag-and-drop editing - Generate Mermaid markdown diagrams for documentation - Publish diagrams to a public gallery - GitHub Action for CI/CD diagram generation and PR comments - CLI tool for local diagram generation ## How It Works 1. Submit a Git repository URL containing IaC files 2. ArcSync clones the repo and detects the IaC format 3. Resources and relationships are parsed into a directed graph 4. Dagre layout engine positions nodes and routes edges 5. Results render as interactive Fabric.js canvas or Mermaid markdown ## Supported Input Formats - **Terraform**: HCL source files (`.tf`) - **CloudFormation**: Single-stack and multi-stack templates, CDK synthesized output ## Supported Cloud Providers - AWS (40+ resource types) - Azure (18+ resource types) - GCP (17+ resource types) ## Integration Points - **Web App**: https://arcsync.dev — submit repos, view and edit diagrams - **CLI**: `npx @auto-arch-diagram/cli` — local diagram generation - **GitHub Action**: `neilvanlandingham/arcsync` — CI/CD integration with PR comments ## API Base URL: `https://api.arcsync.dev` | Method | Path | Auth | Description | |--------|------|------|-------------| | POST | /graphs/generate | Yes | Start async graph generation from a repo URL | | POST | /graphs/ingest | Yes | Direct graph data upload | | GET | /graphs | Yes | List user's graphs (paginated) | | GET | /graphs/{id} | Yes | Get full graph data | | GET | /graphs/{id}/status | Yes | Get generation status | | PUT | /graphs/{id}/overrides | Yes | Save layout/label overrides | | PUT | /graphs/{id}/visibility | Yes | Toggle public/private visibility | | DELETE | /graphs/{id} | Yes | Delete a graph | | GET | /gallery | No | List public graphs (paginated) | | GET | /gallery/{id} | No | Get public graph data | ## Output Formats - **Fabric.js Canvas**: Interactive diagrams with curved bezier edges, group containers, drag-and-drop node positioning - **Mermaid Markdown**: Static diagrams embeddable in GitHub READMEs, docs, and wikis ## Documentation - [llms-full.txt](https://arcsync.dev/llms-full.txt): Complete technical documentation including API reference, graph model, and all supported resource types (~1800 tokens) - [agents.md](https://arcsync.dev/agents.md): Agent-specific instructions for using ArcSync programmatically (~400 tokens) - [skill.md](https://arcsync.dev/skill.md): Capability descriptions for agent skill registries (~500 tokens)