| name | git-sync-manager-1-repository-discovery-from-gitignore |
| description | Sub-skill of git-sync-manager: 1. Repository Discovery from .gitignore. |
| version | 1.0.0 |
| category | _core |
| type | reference |
| scripts_exempt | true |
1. Repository Discovery from .gitignore
1. Repository Discovery from .gitignore
Automatically discover repositories listed in .gitignore:
#!/bin/bash
WORKSPACE_ROOT="${1:-.}"
discover_repos() {
local repos=()
while IFS= read -r line; do
[[ "$line" =~ ^[[:space:]]*# ]] && continue
[[ -z "$line" ]] && continue
local repo_name="${line%%/*}"
[[ -z "$repo_name" ]] && continue
if [[ -d "$WORKSPACE_ROOT/$repo_name/.git" ]]; then
repos+=("$repo_name")
fi
done < <(grep -v "^[[:space:]]*#" "$WORKSPACE_ROOT/.gitignore" | grep "/" | head -100)
printf '%s\n' "${repos[@]}"
}
REPOS=($(discover_repos))
echo "Found ${#REPOS[@]} repositories"