mirror of
https://github.com/jamesmurdza/awesome-ai-devtools.git
synced 2026-09-23 10:10:44 +02:00
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 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
df40bcd595
commit
acda369d7a
Executable
+219
@@ -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
|
||||||
@@ -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
|
||||||
|
Reference in New Issue
Block a user