{"adoption": {"forks": 242, "observed_at": "2026-08-28T04:07:05.311701+00:00", "stars": 2626}, "canonical_url": "https://ross.abutalabs.com/products/code-maat", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A command line tool to mine and analyze data from version-control systems", "domain": ["developer-tools", "version-control", "analytics"], "enriched": true, "function": ["developer-tools", "analytics", "data-science"], "health_score": 38, "homepage": "http://www.adamtornhill.com/code/codemaat.htm", "language": "Clojure", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["adamtornhill/code-maat"], "name": "adamtornhill/code-maat", "platform": ["cli", "cross-platform"], "pushed_at": "2025-07-03T11:51:48+00:00", "repo": "adamtornhill/code-maat", "stars": 2626, "tags": ["version-control", "code-analysis", "technical-debt", "repository-mining", "clojure", "behavioral-code-analysis", "docker"], "topics": ["behavioral-code-analysis", "code-analysis-tool", "repository-mining", "technical-debt"], "urls": [], "use_cases": ["mine git history to find hotspots with high change frequency", "detect technical debt from version-control data", "analyze code churn and complexity trends over time", "identify social and organizational coupling between modules", "find development bottlenecks in large codebases", "suggest refactoring directions based on actual code interactions", "export VCS analysis data for visualization"], "what_it_is": "Code Maat is a command line tool written in Clojure that mines and analyzes data from version-control systems to reveal technical, social, and organizational patterns in code evolution. It accompanies Adam Tornhill's books 'Your Code as a Crime Scene' and 'Software Design X-Rays', with its analyses since evolved into the commercial CodeScene product.", "when_to_avoid": ["you want automated, GUI-based analyses with visualizations - use CodeScene instead", "you need actively developed features - the tool is in maintenance mode", "you need a tool without GPL v3 licensing constraints", "you need real-time code quality monitoring rather than historical analysis"], "when_to_choose": ["you want to analyze repository history for hotspots and technical debt from the command line", "you're following the techniques in 'Your Code as a Crime Scene' or 'Software Design X-Rays'", "you need a scriptable, free tool for behavioral code analysis", "you want to run analyses as a Clojure library or via Docker"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/code-maat", "repo": "adamtornhill/code-maat", "role": "main", "score": 36}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "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:07:05.311701+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.311701+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:19:46.563389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01fa6e8dfae7897c97859f321ba737e761b0eb0bec81f9a252c992cff9bb3625", "fetched_at": "2026-08-28T04:07:05.311701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adamtornhill/code-maat"}, {"content_hash": "4c1b356c0d3530470d2c88181da865d611290a27f9333e4545a345eecdf00949", "fetched_at": "2026-08-29T10:02:38.596456+00:00", "kind": "homepage", "missing": false, "url": "http://www.adamtornhill.com/code/codemaat.htm"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 29, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4773, "days_push": 426, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 36, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}