{"adoption": {"forks": 105, "observed_at": "2026-08-28T04:04:56.493362+00:00", "stars": 1516}, "canonical_url": "https://ross.abutalabs.com/products/openreview", "card": {"archived": false, "artifact_type": "application", "description": "An open-source, self-hosted AI code review bot powered by Vercel.", "domain": ["developer-tools", "version-control", "artificial-intelligence"], "enriched": true, "function": ["code-review", "agent-framework", "llm-inference", "webhook", "workflow-automation", "developer-tools"], "health_score": 62, "homepage": "https://openreview.labs.vercel.dev", "language": "TypeScript", "license": null, "license_family": "other", "maturity": "experimental", "member_repos": ["vercel-labs/openreview"], "name": "vercel-labs/openreview", "platform": ["self-hosted", "cloud"], "pushed_at": "2026-03-06T16:44:33+00:00", "repo": "vercel-labs/openreview", "stars": 1516, "tags": ["ai-code-review", "github-app", "vercel", "claude", "pull-requests", "beta", "ai-agents", "automation", "web-server", "nodejs"], "topics": ["aisdk", "codereview", "vercel"], "urls": [], "use_cases": ["automate code review on pull requests", "self-host an AI reviewer for my GitHub repos", "get inline AI suggestions on PRs with one-click fixes", "have a bot run linters and tests during PR review", "auto-fix formatting and lint errors on PR branches", "customize AI review behavior with custom skills"], "what_it_is": "OpenReview is an open-source, self-hosted AI code review bot that deploys to Vercel and connects to GitHub via a GitHub App. Mentioning @openreview in a pull request triggers a Claude-powered agent that reviews diffs in a sandboxed environment, posts inline suggestions, and can commit fixes directly to the PR branch.", "when_to_avoid": ["you need a fully stable, production-hardened tool (it is beta with breaking changes)", "you don't use Vercel or GitHub for your workflow", "you require a permissive license (the repo currently has none)", "you want fully automatic reviews on every PR without mentioning the bot"], "when_to_choose": ["you want an on-demand, self-hosted AI code reviewer integrated with GitHub", "you already deploy on Vercel and can use Vercel Sandbox and Workflow", "you want the bot to run project tooling and push automated fixes", "you need extensible review behavior via custom skills"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openreview", "repo": "vercel-labs/openreview", "role": "main", "score": 46}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "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:56.493362+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.493362+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:07.869274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e26a61ccfaf48defb6e2223abe3428dce7c96813c17665b67643a712237f20d1", "fetched_at": "2026-08-28T04:04:56.493362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/openreview"}, {"content_hash": "b2ec0e7173a87dbc85b0f8ea862598d17945d4e08f843dcf9bac5211c2c3eb6f", "fetched_at": "2026-08-29T11:35:49.048805+00:00", "kind": "homepage", "missing": false, "url": "https://openreview.labs.vercel.dev"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 70, "longevity": 13, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 185, "days_push": 180, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 46, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}