A diagram from the files you already have

Plotwork reads 32 formats, from Terraform and Kubernetes to SQL, OpenAPI and a git log, and draws each as a finished diagram: typed boxes, product icons, labelled lines. No hand-drawn boxes.

Infrastructure

Containers

Databases

APIs and events

Architecture

Pipelines

Data and history

TerraformFrom *.tf *.tfvarsInfrastructure
Parcelpoint on Azure: 22 nodes, 21 connections. 29 resources on Azure, framed by the module that declares them and nested in the groups, networks, and subnets that hold them, imported from Terraform. An arrow means one resource refers to another, and its label says how: a role, a private link, logs, or a secret.

Run: plotwork generate --source infra22 nodes, 21 connections

Every format, and the diagram it becomes

One command, or one call from an agent with import_source. Anything left out is reported, with its line in your file.

Infrastructure

  • Terraform*.tf *.tfvarsplotwork generate --source infra
  • Terraform planshow -jsonplotwork import-source terraform-plan plan.json
  • Bicep*.bicepplotwork generate --source infra-bicep
  • ARM templatesazuredeploy.jsonplotwork generate --source infra-arm
  • PulumiPulumi.yamlplotwork generate --source infra-pulumi
  • CloudFormationtemplate.yamlplotwork generate --source infra-aws
  • AWS CDKcdk.out/plotwork generate --source infra-cdk
  • Serverless Frameworkserverless.ymlplotwork import-source serverless serverless.yml

Containers

  • Docker Composecompose.yamlplotwork import-source compose compose.yaml
  • DockerfileDockerfileplotwork import-source dockerfile Dockerfile
  • Kubernetesmanifestsplotwork generate --source cluster
  • HelmChart.yamlplotwork generate --source helm-chart
  • Kustomizekustomization.yamlplotwork generate --source kustomize
  • nginxnginx.confplotwork import-source nginx nginx.conf

Databases

  • SQL*.sqlplotwork generate --source database
  • Prismaschema.prismaplotwork import-source prisma schema.prisma
  • Drizzleschema.tsplotwork import-source drizzle schema.ts

APIs and events

  • OpenAPIopenapi.jsonplotwork generate --source api
  • GraphQLschema.graphqlplotwork import-source graphql schema.graphql
  • Protocol Buffers*.protoplotwork import-source protobuf checkout.proto
  • AsyncAPI*.asyncapi.yamlplotwork generate --source events

Architecture

  • Backstagecatalog-info.yamlplotwork generate --source catalog
  • Structurizrworkspace.dslplotwork generate --source c4-containers
  • JavaScript workspacespackage.jsonplotwork import-source workspaces package.json

Pipelines

  • GitHub Actionsworkflows/*.ymlplotwork generate --source ci
  • GitLab CI/CD.gitlab-ci.ymlplotwork generate --source ci-gitlab
  • Azure Pipelinesazure-pipelines.ymlplotwork generate --source ci-azure
  • dbtmanifest.jsonplotwork import-source dbt manifest.json

Data and history

  • CSV*.csv *.tsvplotwork generate --source shipments
  • JSON*.jsonplotwork import-source json latency.json
  • Folder treetree outputplotwork import-source tree tree.txt
  • Git historygit logplotwork import-source git-log git-log.txt

Coming from Mermaid?

Every Mermaid kind Plotwork draws converts in one call, and every loss is reported.