From acda369d7a04c76fdbcb839713ced65a3c9b35e3 Mon Sep 17 00:00:00 2001 From: James Murdza Date: Sat, 16 May 2026 03:40:56 +0000 Subject: [PATCH] Add script to fetch latest commit dates from GitHub repos - Created get_commit_dates.sh that queries GitHub API for 110 repos - Outputs CSV with repo name, last commit date, days since commit, status - Includes summary statistics and top 10 most/least recently updated repos - Generated repo_commit_dates.csv with results (91 successful, 8 not found, 11 empty) Co-Authored-By: Claude Opus 4.5 --- get_commit_dates.sh | 219 ++++++++++++++++++++++++++++++++++++++++++ repo_commit_dates.csv | 111 +++++++++++++++++++++ 2 files changed, 330 insertions(+) create mode 100755 get_commit_dates.sh create mode 100644 repo_commit_dates.csv diff --git a/get_commit_dates.sh b/get_commit_dates.sh new file mode 100755 index 0000000..99ae4de --- /dev/null +++ b/get_commit_dates.sh @@ -0,0 +1,219 @@ +#!/bin/bash + +# Script to get the most recent commit date from each GitHub repository +# Uses GitHub API via curl + +# Array of GitHub repos (owner/repo format) +repos=( + "stravu/crystal" + "mutableai/monitors4codegen" + "DeepMyst/Mysti" + "onllm-dev/onUI" + "cafeTechne/antigravity-link-extension" + "Pythagora-io/gpt-pilot" + "AntonOsika/gpt-engineer" + "smol-ai/developer" + "kill136/axon" + "arctic-cli/interface" + "JuliusBrussee/blueprint" + "manaflow-ai/cmux" + "modern-tooling/aloc" + "belingud/gptcomet" + "BrodaNoel/cmd-ai" + "baz-scm/baz-cli" + "arimxyer/models" + "Shashwat-Gupta57/Jctx" + "fengshao1227/ccg-workflow" + "yjcho9317/aiignore-cli" + "lasantosr/intelli-shell" + "iwe-org/iwe" + "inevolin/resume-cli" + "Houseofmvps/codesight" + "Lucas2944/prpack" + "oxgeneral/ORCH" + "muvon/octomind" + "stackblitz-labs/bolt.diy" + "kurtnebiev-elvis4/ai-vertical-saas-gen" + "melih-unsal/DemoGPT" + "maroondlabs/sourcebook" + "ashfordeOU/grasp" + "reflex-search/reflex" + "LeonardoCardoso/Poirot" + "btangonan/anima" + "agentfm-ai/agent-fm" + "Moresl/cchub" + "Charlie85270/Dorothy" + "johannesjo/parallel-code" + "im4codes/imcodes" + "larryxiao/openquack" + "qodo-ai/pr-agent" + "Nayjest/Gito" + "tarmojussila/zai-code-review" + "tarmojussila/minimax-code-review" + "indoor47/claude-pr-reviewer" + "Lucas2944/prpack-action" + "codeintegrity-ai/mutahunter" + "AnswerLayer/sniffbench" + "marcus/sidecar" + "pacificstudio/openase" + "mindfold-ai/Trellis" + "0xranx/golembot" + "shep-ai/cli" + "chernistry/bernstein" + "avelikiy/great_cto" + "kagan-sh/kagan" + "LucasDuys/forge" + "swarmclawai/swarmclaw" + "cueapi/cueapi-core" + "samfoy/pi-ralph" + "stacklok/brood-box" + "Th0rgal/openagent" + "metalbear-co/mirrord" + "metalbear-co/skills" + "agenttier/agenttier" + "nedcodes-ok/cursor-doctor" + "YawLabs/ctxlint" + "juyterman1000/entroly" + "rely-ai-org/caliber" + "adhenawer/claude-snapshot" + "mzmmoazam/claude-overlay" + "nicepkg/vsync" + "nedcodes-ok/rule-porter" + "GeiserX/LynxPrompt" + "conduit8/conduit8" + "henu-wang/tokrepo" + "Wolfe-Jam/faf-cli" + "1broseidon/promptext" + "sagarmk/beacon-plugin" + "nedcodes-ok/rule-gen" + "samfoy/pi-steering-hooks" + "dwgoldie/gestalt" + "spartan-stratos/spartan-ai-toolkit" + "nex-crm/nex-as-a-skill" + "koriyoshi2041/agentify" + "fastxyz/skill-optimizer" + "kubestellar/console" + "sisyphusse1-ops/claude-code-pro-pack" + "sisyphusse1-ops/cc-audit" + "Fr-e-d/GAAI-framework" + "junhoyeo/tokscale" + "melagiri/code-insights" + "luoyuctl/agenttrace" + "onllm-dev/onwatch" + "Astro-Han/claude-lens" + "O0000-code/cc-tempo" + "lunacompsia-oss/ai-coding-tools-pricing" + "jeongwookie/WhereMyTokens" + "dwylq/aicost" + "CodeShuX/tokenwise" + "HexmosTech/git-lrc" + "pmusolino/AI-Git-Narrator" + "eli64s/readme-ai" + "johnxie/awesome-code-docs" + "survivorforge/cursor-rules" + "dohko04/awesome-ai-prompts-for-devs" + "jnMetaCode/ai-coding-guide" + "nowork-studio/awesome-ai-startups" + "jamesmurdza/awesome-ai-devtools" +) + +# Output file +output_file="/home/daytona/project/repo_commit_dates.csv" + +# Write CSV header +echo "Repository,Last Commit Date,Days Since Last Commit,Status" > "$output_file" + +echo "Fetching commit dates for ${#repos[@]} repositories..." +echo "This may take a few minutes..." +echo "" + +# Counter for progress +count=0 +total=${#repos[@]} + +for repo in "${repos[@]}"; do + count=$((count + 1)) + + # Get the latest commit date using GitHub API via curl + response=$(curl -s -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$repo/commits?per_page=1" 2>&1) + + # Check for rate limiting + if echo "$response" | grep -q "rate limit"; then + echo "$repo,RATE_LIMITED,N/A,Rate limited" >> "$output_file" + echo "[$count/$total] $repo: RATE LIMITED" + sleep 2 + continue + fi + + # Check for not found + if echo "$response" | grep -q '"message": "Not Found"'; then + echo "$repo,NOT_FOUND,N/A,Repository not found" >> "$output_file" + echo "[$count/$total] $repo: NOT FOUND" + continue + fi + + # Check for empty repo + if echo "$response" | grep -q '"message": "Git Repository is empty"'; then + echo "$repo,EMPTY,N/A,Empty repository" >> "$output_file" + echo "[$count/$total] $repo: EMPTY REPO" + continue + fi + + # Extract the commit date using jq + commit_date=$(echo "$response" | jq -r '.[0].commit.committer.date // empty' 2>/dev/null) + + if [ -n "$commit_date" ] && [ "$commit_date" != "null" ]; then + # Format the date nicely (handle ISO 8601 format) + formatted_date=$(date -d "$commit_date" '+%Y-%m-%d %H:%M:%S' 2>/dev/null || echo "$commit_date") + + # Calculate days since last commit + commit_timestamp=$(date -d "$commit_date" '+%s' 2>/dev/null) + current_timestamp=$(date '+%s') + if [ -n "$commit_timestamp" ]; then + days_ago=$(( (current_timestamp - commit_timestamp) / 86400 )) + else + days_ago="N/A" + fi + + echo "$repo,$formatted_date,$days_ago,OK" >> "$output_file" + echo "[$count/$total] $repo: $formatted_date ($days_ago days ago)" + else + echo "$repo,NO_COMMITS,N/A,No commits found" >> "$output_file" + echo "[$count/$total] $repo: NO COMMITS" + fi + + # Small delay to avoid rate limiting (GitHub allows 60 requests/hour unauthenticated) + sleep 1 +done + +echo "" +echo "================================================" +echo "Results saved to: $output_file" +echo "================================================" +echo "" + +# Print summary statistics +echo "Summary Statistics:" +echo "-------------------" +total_ok=$(grep -c ",OK$" "$output_file" 2>/dev/null || echo "0") +total_not_found=$(grep -c "NOT_FOUND" "$output_file" 2>/dev/null || echo "0") +total_rate_limited=$(grep -c "RATE_LIMITED" "$output_file" 2>/dev/null || echo "0") +echo "Successfully fetched: $total_ok" +echo "Not found: $total_not_found" +echo "Rate limited: $total_rate_limited" + +# Show most recently updated repos +echo "" +echo "Top 10 Most Recently Updated Repos:" +echo "------------------------------------" +grep ",OK$" "$output_file" | sort -t',' -k2 -r | head -10 | while IFS=',' read -r repo date days status; do + echo "$date - $repo ($days days ago)" +done + +echo "" +echo "Top 10 Least Recently Updated Repos:" +echo "-------------------------------------" +grep ",OK$" "$output_file" | sort -t',' -k3 -n -r | head -10 | while IFS=',' read -r repo date days status; do + echo "$date - $repo ($days days ago)" +done diff --git a/repo_commit_dates.csv b/repo_commit_dates.csv new file mode 100644 index 0000000..348669d --- /dev/null +++ b/repo_commit_dates.csv @@ -0,0 +1,111 @@ +Repository,Last Commit Date,Days Since Last Commit,Status +stravu/crystal,2026-02-26 21:44:09,78,OK +mutableai/monitors4codegen,NOT_FOUND,N/A,Repository not found +DeepMyst/Mysti,2026-03-11 19:31:18,65,OK +onllm-dev/onUI,2026-04-28 14:55:44,17,OK +cafeTechne/antigravity-link-extension,2026-05-04 20:49:15,11,OK +Pythagora-io/gpt-pilot,2025-11-10 13:12:31,186,OK +AntonOsika/gpt-engineer,2024-11-17 22:42:12,544,OK +smol-ai/developer,2023-09-25 17:58:00,963,OK +kill136/axon,NOT_FOUND,N/A,Repository not found +arctic-cli/interface,2026-03-15 18:29:47,61,OK +JuliusBrussee/blueprint,NO_COMMITS,N/A,No commits found +manaflow-ai/cmux,2026-05-16 02:53:26,0,OK +modern-tooling/aloc,2026-02-12 20:59:44,92,OK +belingud/gptcomet,2026-04-24 12:00:56,21,OK +BrodaNoel/cmd-ai,2026-03-04 00:49:26,73,OK +baz-scm/baz-cli,2026-04-16 06:58:00,29,OK +arimxyer/models,NO_COMMITS,N/A,No commits found +Shashwat-Gupta57/Jctx,2026-04-22 11:40:36,23,OK +fengshao1227/ccg-workflow,NOT_FOUND,N/A,Repository not found +yjcho9317/aiignore-cli,2026-04-03 02:31:39,43,OK +lasantosr/intelli-shell,2026-03-26 08:19:36,50,OK +iwe-org/iwe,2026-05-15 11:28:34,0,OK +inevolin/resume-cli,2026-04-10 23:39:38,35,OK +Houseofmvps/codesight,2026-05-11 19:54:47,4,OK +Lucas2944/prpack,2026-05-12 20:18:07,3,OK +oxgeneral/ORCH,2026-04-17 14:36:47,28,OK +muvon/octomind,2026-05-15 19:54:29,0,OK +stackblitz-labs/bolt.diy,2026-02-07 14:36:22,97,OK +kurtnebiev-elvis4/ai-vertical-saas-gen,NOT_FOUND,N/A,Repository not found +melih-unsal/DemoGPT,2026-04-01 12:30:09,44,OK +maroondlabs/sourcebook,2026-04-16 15:19:10,29,OK +ashfordeOU/grasp,2026-05-15 08:55:26,0,OK +reflex-search/reflex,2026-05-16 02:07:06,0,OK +LeonardoCardoso/Poirot,NO_COMMITS,N/A,No commits found +btangonan/anima,2026-04-29 04:45:01,16,OK +agentfm-ai/agent-fm,2026-05-13 02:40:09,3,OK +Moresl/cchub,NOT_FOUND,N/A,Repository not found +Charlie85270/Dorothy,2026-05-05 16:43:11,10,OK +johannesjo/parallel-code,2026-05-15 16:49:56,0,OK +im4codes/imcodes,2026-05-14 08:30:08,1,OK +larryxiao/openquack,2026-05-14 15:02:15,1,OK +qodo-ai/pr-agent,NO_COMMITS,N/A,No commits found +Nayjest/Gito,2026-05-15 19:16:44,0,OK +tarmojussila/zai-code-review,2026-04-16 15:12:26,29,OK +tarmojussila/minimax-code-review,2026-04-16 16:27:40,29,OK +indoor47/claude-pr-reviewer,2026-02-25 23:55:05,79,OK +Lucas2944/prpack-action,2026-05-12 20:18:05,3,OK +codeintegrity-ai/mutahunter,2025-04-17 15:46:00,393,OK +AnswerLayer/sniffbench,2026-03-17 21:39:33,59,OK +marcus/sidecar,2026-04-18 21:26:34,27,OK +pacificstudio/openase,2026-05-15 06:07:33,0,OK +mindfold-ai/Trellis,2026-05-15 08:38:44,0,OK +0xranx/golembot,2026-05-09 03:41:44,6,OK +shep-ai/cli,NO_COMMITS,N/A,No commits found +chernistry/bernstein,NO_COMMITS,N/A,No commits found +avelikiy/great_cto,2026-05-15 16:58:34,0,OK +kagan-sh/kagan,2026-05-12 16:04:51,3,OK +LucasDuys/forge,2026-05-02 15:14:15,13,OK +swarmclawai/swarmclaw,2026-05-15 11:12:05,0,OK +cueapi/cueapi-core,2026-05-12 03:18:07,4,OK +samfoy/pi-ralph,2026-05-14 15:01:57,1,OK +stacklok/brood-box,2026-05-14 08:15:41,1,OK +Th0rgal/openagent,NO_COMMITS,N/A,No commits found +metalbear-co/mirrord,2026-05-15 18:36:10,0,OK +metalbear-co/skills,2026-05-12 20:01:13,3,OK +agenttier/agenttier,2026-05-15 04:07:50,0,OK +nedcodes-ok/cursor-doctor,2026-03-08 17:54:10,68,OK +YawLabs/ctxlint,2026-05-16 03:10:18,0,OK +juyterman1000/entroly,2026-05-16 02:34:27,0,OK +rely-ai-org/caliber,NO_COMMITS,N/A,No commits found +adhenawer/claude-snapshot,2026-04-19 15:03:13,26,OK +mzmmoazam/claude-overlay,2026-05-14 03:50:49,1,OK +nicepkg/vsync,2026-01-27 03:27:41,109,OK +nedcodes-ok/rule-porter,2026-03-04 18:25:17,72,OK +GeiserX/LynxPrompt,2026-05-14 10:40:24,1,OK +conduit8/conduit8,NOT_FOUND,N/A,Repository not found +henu-wang/tokrepo,2026-05-14 13:47:10,1,OK +Wolfe-Jam/faf-cli,2026-05-15 16:20:47,0,OK +1broseidon/promptext,2026-04-12 20:05:01,33,OK +sagarmk/beacon-plugin,2026-03-06 04:13:12,70,OK +nedcodes-ok/rule-gen,2026-03-06 02:08:55,71,OK +samfoy/pi-steering-hooks,2026-05-14 15:01:59,1,OK +dwgoldie/gestalt,2026-03-28 01:48:45,49,OK +spartan-stratos/spartan-ai-toolkit,NO_COMMITS,N/A,No commits found +nex-crm/nex-as-a-skill,2026-05-13 23:24:05,2,OK +koriyoshi2041/agentify,NO_COMMITS,N/A,No commits found +fastxyz/skill-optimizer,2026-05-02 06:19:09,13,OK +kubestellar/console,2026-05-16 03:37:41,0,OK +sisyphusse1-ops/claude-code-pro-pack,2026-05-10 23:22:47,5,OK +sisyphusse1-ops/cc-audit,2026-05-10 23:22:46,5,OK +Fr-e-d/GAAI-framework,2026-05-15 12:32:11,0,OK +junhoyeo/tokscale,2026-05-10 09:13:23,5,OK +melagiri/code-insights,2026-05-15 09:32:22,0,OK +luoyuctl/agenttrace,2026-05-12 09:53:15,3,OK +onllm-dev/onwatch,2026-05-02 20:55:27,13,OK +Astro-Han/claude-lens,NO_COMMITS,N/A,No commits found +O0000-code/cc-tempo,2026-05-07 11:30:09,8,OK +lunacompsia-oss/ai-coding-tools-pricing,NOT_FOUND,N/A,Repository not found +jeongwookie/WhereMyTokens,2026-05-14 10:08:56,1,OK +dwylq/aicost,NOT_FOUND,N/A,Repository not found +CodeShuX/tokenwise,2026-05-11 16:07:34,4,OK +HexmosTech/git-lrc,2026-05-11 16:25:57,4,OK +pmusolino/AI-Git-Narrator,2026-01-18 17:47:53,117,OK +eli64s/readme-ai,2025-07-26 01:55:46,294,OK +johnxie/awesome-code-docs,2026-05-11 10:29:27,4,OK +survivorforge/cursor-rules,2026-04-16 19:29:06,29,OK +dohko04/awesome-ai-prompts-for-devs,2026-03-25 18:05:51,51,OK +jnMetaCode/ai-coding-guide,2026-05-14 16:09:22,1,OK +nowork-studio/awesome-ai-startups,2026-05-15 18:12:27,0,OK +jamesmurdza/awesome-ai-devtools,2026-05-16 03:03:27,0,OK