{"adoption": {"forks": 125, "observed_at": "2026-08-28T04:08:11.861949+00:00", "stars": 3621}, "canonical_url": "https://ross.abutalabs.com/products/terramate", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Open-source Infrastructure as Code (IaC) orchestration platform: GitOps workflows, orchestration, code generation, observability, drift detection, asset management, policies, Slack notifications, and more. Integrates with Terraform, OpenTofu, Terragrunt, Kubernetes, GitHub Actions, GitLab CI/CD, BitBucket Pipelines, and any other CI/CD platform.", "domain": ["infrastructure-as-code", "cloud-computing", "self-hosted"], "enriched": true, "function": ["infrastructure-as-code", "deployment", "ci-cd", "monitoring", "workflow-automation", "cli"], "health_score": 100, "homepage": "https://terramate.io", "language": "Go", "license": "MPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["terramate-io/terramate"], "name": "terramate-io/terramate", "platform": ["windows", "cli", "cloud"], "pushed_at": "2026-08-26T13:46:17+00:00", "repo": "terramate-io/terramate", "stars": 3621, "tags": ["terraform", "opentofu", "terragrunt", "gitops", "stacks", "drift-detection", "orchestration", "code-generation", "kubernetes", "devops", "automation", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["orchestrate terraform apply across multiple stacks with change detection", "split large terraform state files into smaller stacks", "generate terraform backend and provider configurations to keep code DRY", "automate infrastructure deployments with gitops in github actions or gitlab ci", "detect and manage configuration drift in terraform infrastructure", "add pull request previews for infrastructure changes", "manage multi-environment terraform deployments"], "what_it_is": "Terramate is an open-source Infrastructure as Code orchestration and code generation platform written in Go, designed to help Terraform, OpenTofu, Terragrunt, and Kubernetes projects scale. It provides stack management, dependency-aware orchestration with change detection, GitOps automation in any CI/CD, and optional cloud features for observability, drift detection, and asset management.", "when_to_avoid": ["you only have a single small Terraform project with simple needs", "you use Pulumi or Ansible as your primary IaC tool (support is not yet available)", "you need a fully self-hosted TACOS alternative without any cloud component for advanced features", "you want a GUI-first infrastructure management tool rather than a CLI workflow"], "when_to_choose": ["you manage large or monolithic Terraform/OpenTofu codebases that need to scale", "you want dependency-aware orchestration and change detection for IaC runs", "you want to automate infrastructure delivery via GitOps in your existing CI/CD", "you need drift detection, observability, or asset inventory for IaC", "you want to reduce code duplication with programmatic code generation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/terramate", "repo": "terramate-io/terramate", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "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:08:11.861949+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.861949+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:58.374680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ae42967eaca68c7f5a1562ce074d3411dd763ea257f9da3f991cfa3ec7318e", "fetched_at": "2026-08-28T04:08:11.861949+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terramate-io/terramate"}, {"content_hash": "0ea93bff1ec14f22809691184cbdda04172a8afcbb684b4b14aaa8da74d40f4e", "fetched_at": "2026-08-29T09:26:40.466009+00:00", "kind": "homepage", "missing": false, "url": "https://terramate.io"}, {"content_hash": "cba7b7288f188c8ddcb0e5518684edb97decef0f082dd14c206a34e4b275c7db", "fetched_at": "2026-08-29T09:26:40.480799+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/docs"}, {"content_hash": "761a5cc41a03652d7ecd63b4dd2570a00e9b622e15c7454ba85e4529e271f55e", "fetched_at": "2026-08-29T09:26:40.476686+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/demo"}, {"content_hash": "f3ce75b302fbb139ada12af3c331351096aa738c93bc95a7c4627bd788e28c5b", "fetched_at": "2026-08-29T09:26:40.478546+00:00", "kind": "site_page", "missing": false, "url": "https://terramate.io/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 95}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1799, "days_push": 7, "days_rel": 33, "gap_med": 12.5, "n_releases_24m": 41}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}