{"adoption": {"forks": 1037, "observed_at": "2026-08-28T04:10:36.154119+00:00", "stars": 9595}, "canonical_url": "https://ross.abutalabs.com/products/probot", "card": {"archived": false, "artifact_type": "framework", "description": "🤖 A framework for building GitHub Apps to automate and improve your workflow", "domain": ["developer-tools", "apis", "web-development"], "enriched": true, "function": ["web-framework", "webhook", "workflow-automation", "http-server", "middleware"], "health_score": 98, "homepage": "https://probot.github.io", "language": "TypeScript", "license": "ISC", "license_family": "permissive", "maturity": "stable", "member_repos": ["probot/probot"], "name": "probot/probot", "platform": ["serverless", "self-hosted"], "pushed_at": "2026-08-26T17:59:13+00:00", "repo": "probot/probot", "stars": 9595, "tags": ["github-apps", "github-api", "octokit", "webhooks", "bot-framework", "repository-automation", "automation", "nodejs", "typescript", "web-server"], "topics": ["probot", "github-apps"], "urls": [], "use_cases": ["build a GitHub App that comments on new issues", "automate pull request labeling and merging rules", "draft release notes automatically when PRs merge", "keep forks up to date with upstream", "manage repository settings via pull requests", "run a code review bot on pull requests", "listen to GitHub webhooks and call the GitHub API"], "what_it_is": "Probot is a Node.js/TypeScript framework for building GitHub Apps that respond to webhook events and automate repository workflows. It provides a simple event-driven API on top of the GitHub API via Octokit, with granular permissions and webhook handling built in.", "when_to_avoid": ["you need automation for Git platforms other than GitHub", "you want a no-code solution without writing JavaScript or TypeScript", "you only need simple CI/CD pipelines that GitHub Actions already covers", "you need a standalone bot outside the GitHub Apps ecosystem"], "when_to_choose": ["you want to extend GitHub with custom automation triggered by repository events", "you need a first-class GitHub App with granular permissions and webhook handling", "you want a large ecosystem of pre-built apps and templates to start from", "you prefer a simple event-driven JavaScript/TypeScript API over raw GitHub API calls"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/probot", "repo": "probot/probot", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "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:10:36.154119+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:36.154119+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:21:53.992710+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3b2bd9d832f66a66a5246be298b78af4f590b8bfa18e33723569c9839e5660a", "fetched_at": "2026-08-28T04:10:36.154119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/probot/probot"}, {"content_hash": "081cb08f75c4541a9f3093efd2e91ccbc9e69e253782583cb65f1225249efcac", "fetched_at": "2026-08-29T08:21:43.700005+00:00", "kind": "homepage", "missing": false, "url": "https://probot.github.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 77}, "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": 3638, "days_push": 7, "days_rel": 152, "gap_med": 6.0, "n_releases_24m": 27}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}