{"adoption": {"forks": 424, "observed_at": "2026-08-28T04:09:13.415363+00:00", "stars": 5231}, "canonical_url": "https://ross.abutalabs.com/products/linutil", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Chris Titus Tech's Linux Toolbox - Linutil is a distro-agnostic toolbox designed to simplify everyday Linux tasks.", "domain": ["operating-systems", "developer-tools", "self-hosted"], "enriched": true, "function": ["cli", "developer-tools", "configuration-management", "security", "workflow-automation"], "health_score": 99, "homepage": "https://linutil.christitus.com", "language": "Shell", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["ChrisTitusTech/linutil"], "name": "ChrisTitusTech/linutil", "platform": ["cli", "rust"], "pushed_at": "2026-08-17T19:53:13+00:00", "repo": "ChrisTitusTech/linutil", "stars": 5231, "tags": ["tui", "distro-agnostic", "system-setup", "firewall", "gaming", "shell-scripts", "system-optimization", "command-line", "automation", "linux"], "topics": ["linux"], "urls": [], "use_cases": ["set up applications on a fresh Linux install", "optimize and tweak my Linux system", "apply firewall security baselines with UFW or FirewallD", "install gaming dependencies like Wine, Vulkan, and MangoHud on Linux", "run common Linux setup tasks from one tool", "manage system configuration across different distros"], "what_it_is": "Linutil is a distro-agnostic Linux toolbox built in Rust that provides an interactive terminal UI (TUI) for installing applications, configuring systems, and running common Linux setup tasks. It can be run via a single curl command or installed through package managers like AUR, openSUSE repos, or Cargo.", "when_to_avoid": ["you need fully unattended, idempotent configuration management like Ansible", "you are on a non-Linux platform such as macOS or Windows", "you require guaranteed stability, as the project is under active development and features may change"], "when_to_choose": ["you want a single interactive tool to handle everyday Linux setup and tweaks across distros", "you prefer inspectable open-source shell scripts over manual configuration", "you want quick one-command execution without permanent installation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/linutil", "repo": "ChrisTitusTech/linutil", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "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:09:13.415363+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.415363+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:59:39.055592+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc7e55814180f45ea2e9d65956e28db9da5c473ed52f73066de191506b7c8e34", "fetched_at": "2026-08-28T04:09:13.415363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChrisTitusTech/linutil"}, {"content_hash": "81a68e3096bb7b0ea2f310aa3b3a217a7fe8cf5be9b92d09c3e38ca8260b81b2", "fetched_at": "2026-08-29T08:54:59.396703+00:00", "kind": "homepage", "missing": false, "url": "https://linutil.christitus.com"}, {"content_hash": "1ad848547b7b0d4d074785b75c6afd5669a18d9c32268a28b54a655d94bdcca8", "fetched_at": "2026-08-29T08:54:59.409422+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/getting-started"}, {"content_hash": "57457fbcc8dad71db8140b4b9610eb7eff91bf40691f7b6db5b6df525c6318b3", "fetched_at": "2026-08-29T08:54:59.411531+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/userguide/features"}, {"content_hash": "6d9e1d43c621bf3a2bf32210533795064db396e93d34ad74ed78583b5c018ac1", "fetched_at": "2026-08-29T08:54:59.405597+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/dev"}, {"content_hash": "b45b6ffe51724bc88d8ff5c000489125245aaaef77cfeb24af27e1f6b243041a", "fetched_at": "2026-08-29T08:54:59.407507+00:00", "kind": "site_page", "missing": false, "url": "https://linutil.christitus.com/faq"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 60, "rhythm": 81}, "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": 841, "days_push": 16, "days_rel": 47, "gap_med": 32.0, "n_releases_24m": 19}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}