{"adoption": {"forks": 147, "observed_at": "2026-08-28T04:09:15.409669+00:00", "stars": 5309}, "canonical_url": "https://ross.abutalabs.com/products/git-appraise", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Distributed code review system for Git repos", "domain": ["version-control", "developer-tools"], "enriched": true, "function": ["code-review", "version-control", "cli", "developer-tools"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["google/git-appraise"], "name": "google/git-appraise", "platform": ["cli", "cross-platform", "windows"], "pushed_at": "2023-08-12T01:06:27+00:00", "repo": "google/git-appraise", "stars": 5309, "tags": ["git", "distributed-code-review", "git-notes", "go", "command-line", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["do code reviews without GitHub or a review server", "store code review comments inside the git repository", "request and review changes from the command line", "sync review history across a team using git push/pull", "review code with any git hosting provider"], "what_it_is": "A distributed code review system for Git repositories, implemented as a Go command line tool. Reviews are stored as git objects (git-notes) inside the repo itself, so no server-side setup is needed and reviews sync via normal git push/pull.", "when_to_avoid": ["you prefer a web-based review UI like GitHub pull requests or Gerrit", "you need rich integrations, dashboards, or CI-triggered review flows", "the project appears minimally maintained, with the last release in 2023"], "when_to_choose": ["you want serverless, fully distributed code review tied to the repo", "your team lives in the terminal and uses plain git workflows", "you need reviews to work with any git host"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/git-appraise", "repo": "google/git-appraise", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "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:15.409669+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.409669+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:58:59.331078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b086a2e7627c2e9f6a9c80da0d341a020d067c341abcd2c1452d4524727ad6ec", "fetched_at": "2026-08-28T04:09:15.409669+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/git-appraise"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 4030, "days_push": 1118, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}