diff --git a/get_commit_dates.sh b/get_commit_dates.sh deleted file mode 100755 index 99ae4de..0000000 --- a/get_commit_dates.sh +++ /dev/null @@ -1,219 +0,0 @@ -#!/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/get_old_repos_with_stars.sh b/get_old_repos_with_stars.sh deleted file mode 100755 index bddbd6c..0000000 --- a/get_old_repos_with_stars.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/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