{"adoption": {"forks": 91, "observed_at": "2026-08-28T04:03:15.129943+00:00", "stars": 1019}, "canonical_url": "https://ross.abutalabs.com/products/cfn-diagram", "card": {"archived": false, "artifact_type": "cli-tool", "description": "CLI tool to visualise CloudFormation/SAM/CDK stacks as visjs networks, draw.io or ascii-art diagrams. ", "domain": ["cloud-computing", "infrastructure-as-code", "developer-tools"], "enriched": true, "function": ["cli", "developer-tools", "data-visualization", "infrastructure-as-code"], "health_score": 26, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["ljacobsson/cfn-diagram"], "name": "ljacobsson/cfn-diagram", "platform": ["cli", "cross-platform"], "pushed_at": "2024-04-19T10:32:58+00:00", "repo": "ljacobsson/cfn-diagram", "stars": 1019, "tags": ["aws", "cloudformation", "aws-cdk", "aws-sam", "drawio", "visjs", "diagram-generation", "infrastructure-visualization", "devops", "nodejs"], "topics": ["aws-tools", "cloudformation", "sam", "visualisation"], "urls": [], "use_cases": ["visualize cloudformation template as a diagram", "generate draw.io diagram from CDK stack", "convert SAM template to architecture diagram", "browse and diagram deployed AWS CloudFormation stacks", "create vis.js network diagram of AWS resources", "exclude IAM roles and policies from infrastructure diagrams"], "what_it_is": "cfn-diagram is a Node.js CLI tool that visualizes AWS CloudFormation, SAM, and CDK templates as diagrams. It can generate draw.io files, interactive vis.js HTML pages, or ASCII art from templates, including deployed stacks.", "when_to_avoid": ["you use Terraform, Pulumi, or other non-CloudFormation IaC tools", "you need a GUI application rather than a CLI workflow", "you need actively maintained tooling with guaranteed support"], "when_to_choose": ["you work with CloudFormation, SAM, or CDK and need visual architecture diagrams", "you want to filter out noisy resource types like roles and policies", "you prefer draw.io or browser-based interactive diagrams of your stacks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cfn-diagram", "repo": "ljacobsson/cfn-diagram", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.129943+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:09:23.715727+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9483320a840a641c106a13c19c0a9640b96ad17b4acc8876ada6cdca61d0318c", "fetched_at": "2026-08-28T04:03:15.129943+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljacobsson/cfn-diagram"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2303, "days_push": 866, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}