A CLI that renders flow diagrams, Gantt charts, timelines, and quadrant charts from simple YAML. Converts BPMN to YAML. 20+ curated themes. 600+ icons. Built for AI agents and humans alike.




graph LR subgraph Edge Client["fa:fa-globe Client App"] CDN["fa:fa-bolt CloudFront"] end subgraph API Tier APIGW["fa:fa-door-open API Gateway"] Cognito["fa:fa-lock Cognito"] LambdaAPI["fa:fa-code Lambda API"] end subgraph Async Processing SQS["fa:fa-envelope SQS"] LambdaWorker["fa:fa-cogs Lambda Workers"] SNS["fa:fa-bell SNS"] end subgraph Storage DynamoDB["fa:fa-database DynamoDB"] S3["fa:fa-archive S3"] end subgraph Operations CloudWatch["fa:fa-chart-line CloudWatch"] end Client --> CDN CDN --> APIGW APIGW -.->|authz| Cognito APIGW --> LambdaAPI LambdaAPI --> DynamoDB LambdaAPI --> S3 LambdaAPI -->|enqueue| SQS SQS --> LambdaWorker LambdaWorker -->|notify| SNS LambdaAPI -.-> CloudWatch LambdaWorker -.-> CloudWatchdirection: rightEdge: { Client: "Client App" CDN: "CloudFront"}API Tier: { APIGW: "API Gateway" Cognito: "Cognito" Lambda API: "Lambda API"}Async Processing: { SQS: "SQS" Lambda Worker: "Lambda Workers" SNS: "SNS"}Storage: { DynamoDB: "DynamoDB" { shape: cylinder } S3: "S3" { shape: stored_data }}Operations: { CloudWatch: "CloudWatch"}Edge.Client -> Edge.CDNEdge.CDN -> API Tier.APIGWAPI Tier.APIGW -> API Tier.Cognito: authz { style.stroke-dash: 3}API Tier.APIGW -> API Tier.Lambda APIAPI Tier.Lambda API -> Storage.DynamoDBAPI Tier.Lambda API -> Storage.S3API Tier.Lambda API -> Async Processing.SQS: enqueueAsync Processing.SQS -> Async Processing.Lambda WorkerAsync Processing.Lambda Worker -> Async Processing.SNS: notifyAPI Tier.Lambda API -> Operations.CloudWatch { style.stroke-dash: 3}Async Processing.Lambda Worker -> Operations.CloudWatch { style.stroke-dash: 3}title: "Cloud Architecture"direction: LRnodes: - id: client label: "Client App" icon: "🌐" - id: cdn label: "CloudFront" icon: "aws:cloudfront" variant: icon - id: apigw label: "API Gateway" icon: "aws:api-gateway" variant: icon - id: cognito label: "Cognito" description: "Auth" icon: "aws:cognito" variant: icon - id: lambda_api label: "Lambda" description: "API Handlers" icon: "aws:lambda" variant: icon - id: lambda_worker label: "Lambda" description: "Workers" icon: "aws:lambda" variant: icon - id: dynamo label: "DynamoDB" icon: "aws:dynamodb" variant: icon - id: s3 label: "S3" description: "Assets" icon: "aws:s3" variant: icon - id: sqs label: "SQS" icon: "aws:sqs" variant: icon - id: sns label: "SNS" description: "Alerts" icon: "aws:sns" variant: icon - id: cloudwatch label: "CloudWatch" icon: "aws:cloudwatch" variant: icongroups: - id: edge label: "Edge" members: [client, cdn] direction: LR - id: api label: "API Tier" members: [apigw, cognito, lambda_api] direction: TB - id: async label: "Async Processing" members: [sqs, lambda_worker, sns] direction: TB - id: storage label: "Storage" members: [dynamo, s3] direction: TB - id: ops label: "Operations" members: [cloudwatch]rows: - [edge, api, async, storage] - [ops]edges: - from: client to: cdn - from: cdn to: apigw - from: apigw to: cognito style: dashed label: "authz" - from: apigw to: lambda_api - from: lambda_api to: dynamo - from: lambda_api to: s3 - from: lambda_api to: sqs label: "enqueue" - from: sqs to: lambda_worker - from: lambda_worker to: sns label: "notify" - from: lambda_api to: cloudwatch style: dashed - from: lambda_worker to: cloudwatch style: dashedMermaid uses a custom DSL. D2 invented its own syntax. Both require LLMs to learn non-standard grammars — and they frequently get it wrong.
diagrams uses plain YAML. Every AI model already knows how to write valid YAML. That means your coding assistant, your CI pipeline, and your automation scripts can generate correct diagrams on the first attempt.
Built under the agent-clis umbrella — tools designed from the ground up for human-AI collaboration.
Every diagrams-as-code tool can output SVG. Only diagrams outputs directly to PowerPoint. Stop screenshotting your terminal and pasting into slides. One command, presentation-ready.
Already have business process models? The convert command transforms BPMN XML files into diagrams-compliant YAML with smart icon defaults. Tasks, events, gateways, lanes, and flows are all mapped automatically.
Switch the look of any diagram with a single flag. No CSS. No config files.
Mix brand logos, cloud service icons, Geist design system icons, favicons, and emoji in the same diagram.
Clean, minimal icons from Vercel
icon: geist:databaseBrand and technology logos
icon: dockerAmazon Web Services
icon: aws:lambdaGoogle Cloud Platform
icon: gcp:cloud-runAuto-fetched from any domain
icon: favicon:github.comAny emoji character
icon: 🚀diagrams compares| Feature | Mermaid | D2 | diagrams |
|---|---|---|---|
| Input format | Custom DSL | Custom DSL | Standard YAML |
| Themes | Limited | Basic | 20+ curated |
| Brand icons | 600+ | ||
| PPTX output | |||
| BPMN import | |||
| AI-friendly input | Fragile | Moderate | Native YAML |
| Visual quality | Basic | Good | Designed |
Install globally, write a YAML spec (or have your AI assistant write one), and render.