{"adoption": {"forks": 78, "observed_at": "2026-08-28T04:04:42.360135+00:00", "stars": 1430}, "canonical_url": "https://ross.abutalabs.com/products/tenv", "card": {"archived": false, "artifact_type": "cli-tool", "description": "OpenTofu / Terraform / Terragrunt / Terramate and Atmos version manager", "domain": ["infrastructure-as-code", "developer-tools"], "enriched": true, "function": ["developer-tools", "cli", "version-control", "configuration-management", "security"], "health_score": 99, "homepage": "https://tofuutils.github.io/tenv/", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["tofuutils/tenv"], "name": "tofuutils/tenv", "platform": ["windows", "bsd", "cli", "cross-platform", "go"], "pushed_at": "2026-08-20T09:46:49+00:00", "repo": "tofuutils/tenv", "stars": 1430, "tags": ["terraform", "opentofu", "terragrunt", "version-manager", "iac", "tfenv-successor", "cosign", "hcl-parsing", "devops", "command-line", "linux", "macos"], "topics": ["iac", "opentofu", "terraform", "tenv", "tofu", "hashicorp", "hashicorp-terraform", "tofuenv", "tfenv", "go", "hacktoberfest", "hacktoberfest2024", "hacktoberfest2025", "up-for-grabs"], "urls": [], "use_cases": ["switch between terraform versions per project", "manage opentofu versions", "install terragrunt specific version", "detect required terraform version from hcl files", "replace tfenv and tofuenv with a faster cross-platform tool", "verify terraform binary signatures with cosign or pgp"], "what_it_is": "tenv is a version manager written in Go for OpenTofu, Terraform, Terragrunt, Terramate, and Atmos. It detects required versions from HCL files, verifies download signatures, and works as standalone binaries across all major platforms.", "when_to_avoid": ["you need a generic version manager for many unrelated tools", "you already standardize on asdf-vm with its plugin ecosystem", "you only ever use one pinned version of Terraform"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tenv", "repo": "tofuutils/tenv", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "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:04:42.360135+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.360135+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:37:13.352518+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d84147f3dfc53ad77c29acc2dc4db2627e4608cb846719c0229049b34e3bc91", "fetched_at": "2026-08-28T04:04:42.360135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tofuutils/tenv"}, {"content_hash": "1911f752f9e08be76e0fb0646e4b2f31c34015ccca411297117986e7cb3e253b", "fetched_at": "2026-08-29T11:48:41.655368+00:00", "kind": "homepage", "missing": false, "url": "https://tofuutils.github.io/tenv/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 69, "rhythm": 94}, "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": 971, "days_push": 13, "days_rel": 40, "gap_med": 1, "n_releases_24m": 52}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}