From a5aa8e18a3338b921ec618add0f641f3a77a54ca Mon Sep 17 00:00:00 2001 From: James Murdza Date: Sat, 16 May 2026 03:43:17 +0000 Subject: [PATCH] Add script to fetch star counts for repos older than 30 days - Created get_old_repos_with_stars.sh that queries repos with stale commits - Fetches star count from GitHub API for each repository - Outputs sorted tables by days since commit and by star count - Found 26 repos with commits older than 30 days Co-Authored-By: Claude Opus 4.5 --- get_old_repos_with_stars.sh | 74 +++++++++++++++++++++++++++++++++++++ old_repos_with_stars.csv | 27 ++++++++++++++ 2 files changed, 101 insertions(+) create mode 100755 get_old_repos_with_stars.sh create mode 100644 old_repos_with_stars.csv diff --git a/get_old_repos_with_stars.sh b/get_old_repos_with_stars.sh new file mode 100755 index 0000000..bddbd6c --- /dev/null +++ b/get_old_repos_with_stars.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +# Script to get repos older than 30 days with their star counts +# Uses GitHub API via curl + +# Read repos from CSV that are more than 30 days old +output_file="/home/daytona/project/old_repos_with_stars.csv" + +echo "Repository,Last Commit Date,Days Since Last Commit,Stars" > "$output_file" + +echo "Fetching star counts for repos with commits older than 30 days..." +echo "" + +# Get repos older than 30 days from the CSV +old_repos=$(awk -F',' 'NR>1 && $3 != "N/A" && $3 > 30 {print $1","$2","$3}' /home/daytona/project/repo_commit_dates.csv) + +count=0 +total=$(echo "$old_repos" | wc -l) + +while IFS=',' read -r repo date days; do + if [ -z "$repo" ]; then + continue + fi + + count=$((count + 1)) + + # Get star count from GitHub API + response=$(curl -s -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$repo" 2>&1) + + # Check for rate limiting + if echo "$response" | grep -q "rate limit"; then + stars="RATE_LIMITED" + echo "[$count/$total] $repo: RATE LIMITED" + sleep 2 + elif echo "$response" | grep -q '"message": "Not Found"'; then + stars="NOT_FOUND" + echo "[$count/$total] $repo: NOT FOUND" + else + stars=$(echo "$response" | jq -r '.stargazers_count // "N/A"' 2>/dev/null) + echo "[$count/$total] $repo: $date ($days days ago) - ⭐ $stars stars" + fi + + echo "$repo,$date,$days,$stars" >> "$output_file" + + # Small delay to avoid rate limiting + sleep 1 +done <<< "$old_repos" + +echo "" +echo "================================================" +echo "Results saved to: $output_file" +echo "================================================" +echo "" + +# Sort and display results +echo "Repos older than 30 days, sorted by days since last commit:" +echo "============================================================" +printf "%-45s %-22s %8s %8s\n" "Repository" "Last Commit" "Days" "Stars" +echo "-------------------------------------------------------------------------------------------------------------" + +sort -t',' -k3 -n -r "$output_file" | tail -n +2 | while IFS=',' read -r repo date days stars; do + printf "%-45s %-22s %8s %8s\n" "$repo" "$date" "$days" "$stars" +done + +echo "" +echo "Same data sorted by star count (descending):" +echo "=============================================" +printf "%-45s %-22s %8s %8s\n" "Repository" "Last Commit" "Days" "Stars" +echo "-------------------------------------------------------------------------------------------------------------" + +sort -t',' -k4 -n -r "$output_file" | tail -n +2 | head -30 | while IFS=',' read -r repo date days stars; do + printf "%-45s %-22s %8s %8s\n" "$repo" "$date" "$days" "$stars" +done diff --git a/old_repos_with_stars.csv b/old_repos_with_stars.csv new file mode 100644 index 0000000..1a2040b --- /dev/null +++ b/old_repos_with_stars.csv @@ -0,0 +1,27 @@ +Repository,Last Commit Date,Days Since Last Commit,Stars +stravu/crystal,2026-02-26 21:44:09,78,3057 +DeepMyst/Mysti,2026-03-11 19:31:18,65,1048 +Pythagora-io/gpt-pilot,2025-11-10 13:12:31,186,33774 +AntonOsika/gpt-engineer,2024-11-17 22:42:12,544,55215 +smol-ai/developer,2023-09-25 17:58:00,963,12187 +arctic-cli/interface,2026-03-15 18:29:47,61,116 +modern-tooling/aloc,2026-02-12 20:59:44,92,17 +BrodaNoel/cmd-ai,2026-03-04 00:49:26,73,47 +yjcho9317/aiignore-cli,2026-04-03 02:31:39,43,8 +lasantosr/intelli-shell,2026-03-26 08:19:36,50,1230 +inevolin/resume-cli,2026-04-10 23:39:38,35,9 +stackblitz-labs/bolt.diy,2026-02-07 14:36:22,97,19361 +melih-unsal/DemoGPT,2026-04-01 12:30:09,44,1897 +indoor47/claude-pr-reviewer,2026-02-25 23:55:05,79,2 +codeintegrity-ai/mutahunter,2025-04-17 15:46:00,393,296 +AnswerLayer/sniffbench,2026-03-17 21:39:33,59,27 +nedcodes-ok/cursor-doctor,2026-03-08 17:54:10,68,7 +nicepkg/vsync,2026-01-27 03:27:41,109,47 +nedcodes-ok/rule-porter,2026-03-04 18:25:17,72,7 +1broseidon/promptext,2026-04-12 20:05:01,33,22 +sagarmk/beacon-plugin,2026-03-06 04:13:12,70,36 +nedcodes-ok/rule-gen,2026-03-06 02:08:55,71,6 +dwgoldie/gestalt,2026-03-28 01:48:45,49,2 +pmusolino/AI-Git-Narrator,2026-01-18 17:47:53,117,118 +eli64s/readme-ai,2025-07-26 01:55:46,294,2902 +dohko04/awesome-ai-prompts-for-devs,2026-03-25 18:05:51,51,5