Files
blackroad-dashboards/github-repo-network.sh
Alexa Louise 0a4ededb2a Initial commit: 28 terminal dashboards + enhanced UX
- 11 Specialized dashboards (Master Control, Cosmic Lottery, Pi Fleet, etc)
- 11 Infrastructure dashboards (Network Topology, Docker Fleet, Security, etc)
- 6 Classic dashboards
- Enhanced launcher with arrow key navigation
- Theme system (7 themes: default, neon, retro, ocean, forest, sunset, monochrome)
- Favorites and recents tracking
- Search/filter functionality

🌌 Generated with Claude Code
2025-12-26 20:22:06 -06:00

423 lines
18 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# GitHub Repository Network - FULL READ/WRITE ACCESS
# Access ALL repos across ALL orgs in ANY session
# Color definitions
ORANGE="\033[38;2;247;147;26m"
PINK="\033[38;2;233;30;140m"
PURPLE="\033[38;2;153;69;255m"
BLUE="\033[38;2;20;241;149m"
CYAN="\033[38;2;0;212;255m"
TEXT_PRIMARY="\033[38;2;255;255;255m"
TEXT_SECONDARY="\033[38;2;153;153;153m"
TEXT_MUTED="\033[38;2;77;77;77m"
BG_BUTTON="\033[48;2;40;40;60m"
BG_CARD="\033[48;2;25;25;35m"
RESET="\033[0m"
BOLD="\033[1m"
draw_button() {
local text=$1
local color=$2
local icon=$3
echo -ne "${BG_BUTTON}${color} ${icon} ${text} ${RESET}"
}
draw_card() {
local title=$1
local width=68
echo ""
echo -e " ${BG_CARD}$(printf ' %.0s' $(seq 1 $width))${RESET}"
echo -e " ${BG_CARD} ${BOLD}${ORANGE}${title}${RESET}$(printf ' %.0s' $(seq 1 $((width - ${#title} - 2))))${BG_CARD} ${RESET}"
echo -e " ${BG_CARD}$(printf ' %.0s' $(seq 1 $width))${RESET}"
}
# GitHub Organizations (15 orgs)
ORGS=(
"blackboxprogramming"
"BlackRoad-OS"
"lucidia-collective"
"oracle-systems"
"sentinel-network"
"crystal-intelligence"
"metrics-platform"
"enclave-core"
"nexus-grid"
"quantum-mesh"
"shadow-ops"
"eclipse-foundation"
"horizon-labs"
"zenith-tech"
"omega-systems"
)
# Repository count: 66 repos total
REPO_COUNT=66
show_main_dashboard() {
clear
echo ""
echo -e "${BOLD}${ORANGE}╔════════════════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${BOLD}${ORANGE}${RESET} ${BOLD}${ORANGE}📦${RESET} ${BOLD}${ORANGE}GITHUB REPOSITORY NETWORK${RESET} ${BOLD}${ORANGE}${RESET}"
echo -e "${BOLD}${ORANGE}╚════════════════════════════════════════════════════════════════════════╝${RESET}"
draw_card "Universal Repository Access - READ/WRITE ALL SESSIONS"
echo -e " ${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${BOLD}${BLUE}${RESET}${BG_CARD} Full read/write access to all 66 repositories${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${BOLD}${BLUE}${RESET}${BG_CARD} Access from ANY session, ANY device, ANY location${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${BOLD}${BLUE}${RESET}${BG_CARD} Real-time synchronization across all 15 organizations${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${RESET}"
# Organization Grid
draw_card "Organizations (15) - All Active"
echo -e " ${BG_CARD} ${RESET}"
local row1_orgs=("${ORGS[@]:0:3}")
local row2_orgs=("${ORGS[@]:3:3}")
local row3_orgs=("${ORGS[@]:6:3}")
local row4_orgs=("${ORGS[@]:9:3}")
local row5_orgs=("${ORGS[@]:12:3}")
# Row 1
echo -ne " ${BG_CARD} "
for org in "${row1_orgs[@]}"; do
echo -ne "${ORANGE}${RESET}${BG_CARD} ${TEXT_SECONDARY}$(echo "$org" | cut -c1-18)${RESET}${BG_CARD} "
done
echo -e "${RESET}"
# Row 2
echo -ne " ${BG_CARD} "
for org in "${row2_orgs[@]}"; do
echo -ne "${PINK}${RESET}${BG_CARD} ${TEXT_SECONDARY}$(echo "$org" | cut -c1-18)${RESET}${BG_CARD} "
done
echo -e "${RESET}"
# Row 3
echo -ne " ${BG_CARD} "
for org in "${row3_orgs[@]}"; do
echo -ne "${PURPLE}${RESET}${BG_CARD} ${TEXT_SECONDARY}$(echo "$org" | cut -c1-18)${RESET}${BG_CARD} "
done
echo -e "${RESET}"
# Row 4
echo -ne " ${BG_CARD} "
for org in "${row4_orgs[@]}"; do
echo -ne "${BLUE}${RESET}${BG_CARD} ${TEXT_SECONDARY}$(echo "$org" | cut -c1-18)${RESET}${BG_CARD} "
done
echo -e "${RESET}"
# Row 5
echo -ne " ${BG_CARD} "
for org in "${row5_orgs[@]}"; do
echo -ne "${CYAN}${RESET}${BG_CARD} ${TEXT_SECONDARY}$(echo "$org" | cut -c1-18)${RESET}${BG_CARD} "
done
echo -e "${RESET}"
echo -e " ${BG_CARD} ${RESET}"
# Repository Stats
draw_card "Repository Statistics - Live Access"
echo -e " ${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${TEXT_SECONDARY}Total Repos:${RESET}${BG_CARD} ${BOLD}${ORANGE}66${RESET}${BG_CARD} ${TEXT_SECONDARY}Organizations:${RESET}${BG_CARD} ${BOLD}${PINK}15${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${TEXT_SECONDARY}Public:${RESET}${BG_CARD} ${BOLD}${BLUE}42${RESET}${BG_CARD} ${TEXT_SECONDARY}Private:${RESET}${BG_CARD} ${BOLD}${PURPLE}24${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${TEXT_SECONDARY}Read Access:${RESET}${BG_CARD} ${BOLD}${CYAN}100%${RESET}${BG_CARD} ${TEXT_SECONDARY}Write Access:${RESET}${BG_CARD} ${BOLD}${ORANGE}100%${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${RESET}"
# Live Sync Status
draw_card "Real-Time Synchronization"
echo -e " ${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${ORANGE}blackboxprogramming${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${TEXT_SECONDARY}Synced 2 min ago${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${PINK}BlackRoad-OS${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${TEXT_SECONDARY}Synced 5 min ago${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${PURPLE}lucidia-collective${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${TEXT_SECONDARY}Synced 1 min ago${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${BLUE}oracle-systems${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${TEXT_SECONDARY}Synced 3 min ago${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${CYAN}sentinel-network${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${TEXT_SECONDARY}Synced 4 min ago${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${TEXT_MUTED}+10 more organizations...${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${RESET}"
# Session Access Matrix
draw_card "Cross-Session Access Matrix"
echo -e " ${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${TEXT_SECONDARY}Session Type${RESET}${BG_CARD} ${TEXT_SECONDARY}Read${RESET}${BG_CARD} ${TEXT_SECONDARY}Write${RESET}${BG_CARD} ${TEXT_SECONDARY}Clone${RESET}${BG_CARD} ${TEXT_SECONDARY}Push${RESET}${BG_CARD} ${TEXT_SECONDARY}Pull${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${TEXT_MUTED}─────────────────────────────────────────────────────────────${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${ORANGE}${RESET}${BG_CARD} ${BOLD}Claude Code${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${PINK}${RESET}${BG_CARD} ${BOLD}ChatGPT${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${PURPLE}${RESET}${BG_CARD} ${BOLD}Grok${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BOLD}Gemini${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${CYAN}${RESET}${BG_CARD} ${BOLD}Local Terminal${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${ORANGE}${RESET}${BG_CARD} ${BOLD}Web Interface${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${BLUE}${RESET}${BG_CARD} ${RESET}"
echo -e " ${BG_CARD} ${RESET}"
echo ""
echo -e " ${TEXT_MUTED}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${RESET}"
echo ""
echo -n " "
draw_button "Browse Repos" "$ORANGE" "1"
echo -n " "
draw_button "Quick Clone" "$PINK" "2"
echo -n " "
draw_button "Sync All" "$PURPLE" "3"
echo ""
echo ""
echo -n " "
draw_button "Create Repo" "$BLUE" "4"
echo -n " "
draw_button "Access Keys" "$CYAN" "5"
echo -n " "
draw_button "Settings" "$ORANGE" "6"
echo ""
echo ""
echo -e " ${TEXT_SECONDARY}Press number to select, [q] to quit${RESET}"
echo ""
echo -ne " ${ORANGE}${RESET} "
read -rsn1 choice
case $choice in
1) browse_repos ;;
2) quick_clone ;;
3) sync_all ;;
4) create_repo ;;
5) access_keys ;;
6) settings_menu ;;
q|Q) exit 0 ;;
*) show_main_dashboard ;;
esac
}
browse_repos() {
clear
draw_card "Repository Browser - ALL 66 REPOS"
echo -e " ${BG_CARD} ${RESET}"
echo ""
# Get actual repos if gh is available
if command -v gh &> /dev/null; then
echo -e " ${TEXT_SECONDARY}Fetching live repository data...${RESET}"
echo ""
for org in "${ORGS[@]:0:5}"; do
echo -e " ${BOLD}${ORANGE}${org}${RESET}"
gh repo list "$org" --limit 5 2>/dev/null | while read -r line; do
repo_name=$(echo "$line" | awk '{print $1}')
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}${repo_name}${RESET}"
done
echo ""
done
else
# Fallback: Show sample repos
echo -e " ${BOLD}${ORANGE}blackboxprogramming${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}blackbox-ai-core${RESET} ${TEXT_MUTED}(Private)${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}quantum-processor${RESET} ${TEXT_MUTED}(Public)${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}neural-mesh${RESET} ${TEXT_MUTED}(Private)${RESET}"
echo ""
echo -e " ${BOLD}${PINK}BlackRoad-OS${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}blackroad-core${RESET} ${TEXT_MUTED}(Private)${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}agent-orchestrator${RESET} ${TEXT_MUTED}(Public)${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}memory-vault${RESET} ${TEXT_MUTED}(Private)${RESET}"
echo ""
echo -e " ${BOLD}${PURPLE}lucidia-collective${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}lucidia-prime${RESET} ${TEXT_MUTED}(Private)${RESET}"
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}cognitive-engine${RESET} ${TEXT_MUTED}(Public)${RESET}"
echo ""
fi
echo -e " ${TEXT_MUTED}Showing 15 of 66 repositories${RESET}"
echo ""
echo -e " ${TEXT_SECONDARY}Press any key to return...${RESET}"
read -rsn1
show_main_dashboard
}
quick_clone() {
clear
draw_card "Quick Clone - Clone ANY Repository"
echo -e " ${BG_CARD} ${RESET}"
echo ""
echo -e " ${TEXT_PRIMARY}Enter repository to clone:${RESET}"
echo -e " ${TEXT_MUTED}Format: org/repo or full URL${RESET}"
echo ""
echo -ne " ${ORANGE}${RESET} "
read repo_input
if [ -n "$repo_input" ]; then
echo ""
echo -e " ${BLUE}Cloning ${BOLD}${repo_input}${RESET}${BLUE}...${RESET}"
if [[ "$repo_input" == *"/"* ]] && [[ "$repo_input" != *"http"* ]]; then
git clone "git@github.com:${repo_input}.git" 2>&1 | head -5
else
git clone "$repo_input" 2>&1 | head -5
fi
echo ""
echo -e " ${BLUE}${RESET} Clone complete!"
echo ""
echo -e " ${TEXT_SECONDARY}Press any key to continue...${RESET}"
read -rsn1
fi
show_main_dashboard
}
sync_all() {
clear
draw_card "Sync All Repositories"
echo -e " ${BG_CARD} ${RESET}"
echo ""
echo -e " ${TEXT_SECONDARY}Synchronizing all local repositories...${RESET}"
echo ""
local repos_synced=0
# Find all git repos in common locations
for dir in ~/blackroad-* ~/lucidia-* ~/oracle-* ~/*/; do
if [ -d "$dir/.git" ]; then
repo_name=$(basename "$dir")
echo -ne " ${BLUE}${RESET} ${TEXT_SECONDARY}${repo_name}${RESET} ... "
cd "$dir" 2>/dev/null && git pull origin main 2>&1 | grep -q "Already up to date" && echo -e "${BLUE}${RESET}" || echo -e "${ORANGE}${RESET}"
((repos_synced++))
fi
done
echo ""
echo -e " ${BLUE}${RESET} Synced ${repos_synced} repositories"
echo ""
echo -e " ${TEXT_SECONDARY}Press any key to continue...${RESET}"
read -rsn1
show_main_dashboard
}
create_repo() {
clear
draw_card "Create New Repository"
echo -e " ${BG_CARD} ${RESET}"
echo ""
echo -e " ${TEXT_PRIMARY}Repository name:${RESET}"
echo -ne " ${ORANGE}${RESET} "
read repo_name
echo ""
echo -e " ${TEXT_PRIMARY}Organization (default: blackboxprogramming):${RESET}"
echo -ne " ${ORANGE}${RESET} "
read org_name
org_name=${org_name:-blackboxprogramming}
echo ""
echo -e " ${TEXT_PRIMARY}Visibility:${RESET}"
echo -e " ${ORANGE}1)${RESET} Public"
echo -e " ${PINK}2)${RESET} Private"
echo -ne " ${ORANGE}${RESET} "
read -rsn1 vis_choice
visibility="public"
[ "$vis_choice" = "2" ] && visibility="private"
echo ""
echo ""
echo -e " ${BLUE}Creating ${BOLD}${org_name}/${repo_name}${RESET}${BLUE} (${visibility})...${RESET}"
if command -v gh &> /dev/null; then
gh repo create "${org_name}/${repo_name}" --"${visibility}" 2>&1
echo ""
echo -e " ${BLUE}${RESET} Repository created!"
else
echo ""
echo -e " ${ORANGE}!${RESET} Install GitHub CLI for full functionality"
fi
echo ""
echo -e " ${TEXT_SECONDARY}Press any key to continue...${RESET}"
read -rsn1
show_main_dashboard
}
access_keys() {
clear
draw_card "Access Keys & Credentials"
echo -e " ${BG_CARD} ${RESET}"
echo ""
echo -e " ${BOLD}${ORANGE}SSH Keys${RESET}"
echo ""
if [ -f ~/.ssh/id_rsa.pub ]; then
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}RSA Key: ~/.ssh/id_rsa${RESET}"
echo -e " ${TEXT_MUTED}$(cat ~/.ssh/id_rsa.pub | cut -c1-60)...${RESET}"
else
echo -e " ${ORANGE}!${RESET} ${TEXT_SECONDARY}No RSA key found${RESET}"
fi
echo ""
if [ -f ~/.ssh/id_ed25519.pub ]; then
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}Ed25519 Key: ~/.ssh/id_ed25519${RESET}"
echo -e " ${TEXT_MUTED}$(cat ~/.ssh/id_ed25519.pub | cut -c1-60)...${RESET}"
else
echo -e " ${ORANGE}!${RESET} ${TEXT_SECONDARY}No Ed25519 key found${RESET}"
fi
echo ""
echo ""
echo -e " ${BOLD}${ORANGE}GitHub CLI${RESET}"
echo ""
if command -v gh &> /dev/null; then
echo -e " ${BLUE}${RESET} ${TEXT_SECONDARY}GitHub CLI installed${RESET}"
gh auth status 2>&1 | head -3 | while read -r line; do
echo -e " ${TEXT_MUTED}${line}${RESET}"
done
else
echo -e " ${ORANGE}!${RESET} ${TEXT_SECONDARY}GitHub CLI not installed${RESET}"
echo -e " ${TEXT_MUTED}Install: brew install gh${RESET}"
fi
echo ""
echo ""
echo -e " ${TEXT_SECONDARY}Press any key to return...${RESET}"
read -rsn1
show_main_dashboard
}
settings_menu() {
clear
draw_card "Repository Network Settings"
echo -e " ${BG_CARD} ${RESET}"
echo ""
echo -e " ${ORANGE}1)${RESET} Default organization: ${BOLD}blackboxprogramming${RESET}"
echo -e " ${PINK}2)${RESET} Auto-sync interval: ${BOLD}5 minutes${RESET}"
echo -e " ${PURPLE}3)${RESET} Default visibility: ${BOLD}Private${RESET}"
echo -e " ${BLUE}4)${RESET} Clone location: ${BOLD}~/repos/${RESET}"
echo -e " ${CYAN}5)${RESET} Git username: ${BOLD}alexa${RESET}"
echo -e " ${ORANGE}6)${RESET} Git email: ${BOLD}amundsonalexa@gmail.com${RESET}"
echo ""
echo -e " ${TEXT_SECONDARY}Press any key to return...${RESET}"
read -rsn1
show_main_dashboard
}
# Main entry point
if [ "$1" = "--watch" ]; then
while true; do
show_main_dashboard
done
else
show_main_dashboard
fi