{"adoption": {"forks": 494, "observed_at": "2026-08-28T04:09:43.428099+00:00", "stars": 6442}, "canonical_url": "https://ross.abutalabs.com/products/guard", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Guard is a command line tool to easily handle events on file system modifications.", "domain": ["developer-tools", "web-development"], "enriched": true, "function": ["cli", "developer-tools", "file-system", "testing", "workflow-automation"], "health_score": 96, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["guard/guard", "guard/guard-rspec", "guard/guard-livereload"], "name": "Guard", "platform": ["ruby", "cli", "cross-platform"], "pushed_at": "2026-07-16T07:46:14+00:00", "repo": "guard/guard", "stars": 6442, "tags": ["file-watcher", "task-automation", "ruby-gem", "plugin-ecosystem", "livereload", "build-automation", "command-line", "automation"], "topics": [], "urls": [{"kind": "homepage", "url": "https://rubygems.org/gems/guard-livereload"}, {"kind": "site_page", "url": "https://guides.rubygems.org/command-reference"}, {"kind": "site_page", "url": "https://rubygems.org/pages/about"}], "use_cases": ["automatically re-run tests when source files change", "reload the browser when CSS or HTML files are modified", "automate repetitive development tasks on file changes", "build a responsive build system or development workflow", "monitor and restart services when configuration files change"], "what_it_is": "Guard is a Ruby command-line tool that watches for file system modifications and runs custom rules or tasks in response. It has a large plugin ecosystem (300+ plugins) for tasks like re-running tests, reloading browsers, and automating build workflows.", "when_to_avoid": ["you work outside the Ruby ecosystem and prefer native tooling like nodemon or watchexec", "you need a one-shot build tool rather than continuous file watching", "you want a GUI-based automation tool"], "when_to_choose": ["you develop in Ruby or Rails and want automated test runs on file changes", "you want a plugin-based file watcher with a large ecosystem", "you need to automate repetitive commands triggered by file modifications"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/guard/guard", "repo": "guard/guard", "role": "main", "score": 86}, {"path": "/repos/guard/guard-livereload", "repo": "guard/guard-livereload", "role": "plugin", "score": 23}, {"path": "/repos/guard/guard-rspec", "repo": "guard/guard-rspec", "role": "plugin", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "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:43.428099+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.428099+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:44:42.385031+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "814bfaf084598400b0bf480ea65194f40199b068bb9d9bdf233d73b43f607bb9", "fetched_at": "2026-08-28T04:09:43.428099+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guard/guard"}, {"content_hash": "03ba57f7afdb3128bb7f80530d2dd64b00de1ce45f69ea8c5e755ccbc0ad38f8", "fetched_at": "2026-08-29T08:41:50.408564+00:00", "kind": "homepage", "missing": false, "url": "https://rubygems.org/gems/guard-livereload"}, {"content_hash": "ef62154d62533de887cfc0622fef4f3e9110c448f2bc7d119c9814709e4cd48e", "fetched_at": "2026-08-29T08:41:50.417845+00:00", "kind": "site_page", "missing": false, "url": "https://guides.rubygems.org/command-reference"}, {"content_hash": "e4248571fa5d45e8734c45760c0447824b31b116c18a81b0db1c82a5f26384a5", "fetched_at": "2026-08-29T08:41:50.421512+00:00", "kind": "site_page", "missing": false, "url": "https://rubygems.org/pages/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 69}, "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": 5875, "days_push": 48, "days_rel": 48, "gap_med": 114.0, "n_releases_24m": 5}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}