{"adoption": {"forks": 21, "observed_at": "2026-08-28T04:03:37.115780+00:00", "stars": 1108}, "canonical_url": "https://ross.abutalabs.com/products/vet", "card": {"archived": false, "artifact_type": "cli-tool", "description": "vet is a command-line tool that acts as a safety net for the risky curl | bash pattern. It lets you inspect, diff against previous versions, and lint remote scripts before asking for your explicit approval to execute. Promoting a safer, more transparent way to handle remote code execution.", "domain": ["security", "developer-tools"], "enriched": true, "function": ["security", "cli", "developer-tools"], "health_score": 57, "homepage": "https://getvet.sh", "language": "Shell", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["vet-run/vet"], "name": "vet-run/vet", "platform": ["cli"], "pushed_at": "2025-08-20T15:46:48+00:00", "repo": "vet-run/vet", "stars": 1108, "tags": ["curl-bash", "shellcheck", "script-review", "pipe-security", "remote-script-execution", "sysadmin", "shell", "command-line", "devops", "linux", "macos"], "topics": ["bash", "cli", "command-line", "curl", "developer-tools", "devops-tools", "security", "security-hardening", "shell", "shell-script", "shellcheck", "sysadmin-tools", "vet", "wget", "pipe-security"], "urls": [], "use_cases": ["safely run curl | bash install scripts", "review remote shell scripts before executing them", "detect changes in install scripts between runs", "lint downloaded bash scripts with shellcheck", "prevent executing malicious or compromised remote scripts", "audit shell scripts fetched with curl or wget"], "what_it_is": "vet is a command-line tool that acts as a safety net for the risky `curl | bash` pattern. It fetches remote scripts, diffs them against previously run versions, lints them with shellcheck, and requires explicit approval before execution.", "when_to_avoid": ["you need sandboxed or isolated script execution rather than review", "you only run scripts from fully trusted, pinned sources", "you need a GUI-based script review tool", "you don't use shell-based package installation at all"], "when_to_choose": ["you frequently install tools via curl | bash one-liners", "you want a diff and lint review before running remote scripts", "you want explicit confirmation before executing downloaded scripts", "you're a sysadmin hardening shell workflows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vet", "repo": "vet-run/vet", "role": "main", "score": 37}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "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:37.115780+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.115780+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:44:00.104734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e59cd6173263aec9ca2bbfa354f3a40f7e698072e173714ba82014ea0d7773ac", "fetched_at": "2026-08-28T04:03:37.115780+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vet-run/vet"}, {"content_hash": "daccef42ca270cdc7e3351b393d6d8a02283d86f22ec346b38de98f1c1c0c7f4", "fetched_at": "2026-08-29T12:47:28.547097+00:00", "kind": "homepage", "missing": false, "url": "https://getvet.sh"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 37, "longevity": 31, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 434, "days_push": 378, "days_rel": 404, "gap_med": 1, "n_releases_24m": 8}, "score": 37, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}