25 lines · 436 B · executable
#!/usr/bin/env bash

getRepos() {
	gh repo list charmbracelet --visibility="$1" --json name
}

getAllRepos() {
	printf '%s %s' "$(getRepos "public")" "$(getRepos "private")" | jq -s 'add'
}

repo=$(
	getAllRepos |
		jq .[].name |
		tr -d '"' |
		gum filter --height=10 \
			--header "Clone which Charm™ repo?"
)

if [ -z "$repo" ]; then
	echo "Never mind."
	exit 1
fi

git clone "git@github.com:charmbracelet/$repo" "$HOME/src/$repo"