bin/ 230 CLI tools (ask-*, br-*, agent-*, roadid, carpool) scripts/ 99 automation scripts fleet/ Node configs and deployment workers/ Cloudflare Worker sources (roadpay, road-search, squad webhooks) roadc/ RoadC programming language roadnet/ Mesh network (5 APs, WireGuard) operator/ Memory system scripts config/ System configs dotfiles/ Shell configs docs/ Documentation BlackRoad OS — Pave Tomorrow. RoadChain-SHA2048: d1a24f55318d338b RoadChain-Identity: alexa@sovereign RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
99 lines
3.1 KiB
Bash
Executable File
99 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# BlackRoad Repo Search — find any repo across all orgs
|
|
# Usage: repo-search <query> — search by name/description
|
|
# repo-search --cat <name> — list category
|
|
# repo-search --dupes — find duplicates
|
|
# repo-search --stats — show statistics
|
|
|
|
PINK='\033[38;5;205m'
|
|
GREEN='\033[38;5;82m'
|
|
CYAN='\033[38;5;69m'
|
|
AMBER='\033[38;5;214m'
|
|
DIM='\033[2m'
|
|
NC='\033[0m'
|
|
|
|
INDEX="$HOME/blackroad-operator/repo-index.json"
|
|
SEARCH="$HOME/blackroad-operator/repo-search.txt"
|
|
|
|
case "${1:---help}" in
|
|
--stats)
|
|
echo -e "${PINK}BlackRoad Repo Stats${NC}"
|
|
python3 -c "
|
|
import json
|
|
with open('$INDEX') as f: d = json.load(f)
|
|
print(f' Total: {d[\"total\"]}')
|
|
print(f' Active: {d[\"active\"]}')
|
|
print(f' Archived: {d[\"archived\"]}')
|
|
print()
|
|
for org, count in d['orgs'].items():
|
|
print(f' {org:25s} {count}')
|
|
print()
|
|
for cat, info in sorted(d['categories'].items(), key=lambda x: -x[1]['count']):
|
|
print(f' {cat:25s} {info[\"active\"]:3d} active / {info[\"count\"]:3d} total')
|
|
"
|
|
;;
|
|
|
|
--cat)
|
|
cat_name="${2:-core_platform}"
|
|
echo -e "${PINK}Category: ${cat_name}${NC}"
|
|
python3 -c "
|
|
import json
|
|
with open('$INDEX') as f: d = json.load(f)
|
|
cat = d['categories'].get('$cat_name', {})
|
|
for r in cat.get('repos', []):
|
|
print(f' {r[\"org\"]}/{r[\"name\"]:40s} [{r[\"lang\"] or \"-\":12s}] {r[\"desc\"]}')
|
|
"
|
|
;;
|
|
|
|
--dupes)
|
|
echo -e "${PINK}Potential Duplicates${NC}"
|
|
python3 -c "
|
|
import json
|
|
from collections import defaultdict
|
|
with open('$INDEX') as f: d = json.load(f)
|
|
names = defaultdict(list)
|
|
for cat, info in d['categories'].items():
|
|
for r in info.get('repos', []):
|
|
base = r['name'].replace('blackroad-os-', '').replace('blackroad-', '').replace('-', '')
|
|
names[base].append(f\"{r['org']}/{r['name']}\")
|
|
for base, repos in sorted(names.items()):
|
|
if len(repos) > 1:
|
|
print(f' {base}:')
|
|
for r in repos:
|
|
print(f' {r}')
|
|
print()
|
|
"
|
|
;;
|
|
|
|
--help|-h)
|
|
echo -e "${PINK}BlackRoad Repo Search${NC}"
|
|
echo " repo-search <query> Search by name/description"
|
|
echo " repo-search --stats Show statistics"
|
|
echo " repo-search --cat <name> List a category"
|
|
echo " repo-search --dupes Find duplicates"
|
|
echo ""
|
|
echo -e " ${DIM}Categories: core_platform, ai_agents, infrastructure, websites_brand,"
|
|
echo -e " education, creative_tools, blockchain_finance, security, data_analytics,"
|
|
echo -e " research_math, forks_external, archived_legacy, uncategorized${NC}"
|
|
echo -e " ${DIM}BlackRoad OS — Pave Tomorrow.${NC}"
|
|
;;
|
|
|
|
*)
|
|
query="$*"
|
|
echo -e "${PINK}Search: ${CYAN}${query}${NC}"
|
|
echo ""
|
|
grep -i "$query" "$SEARCH" | grep -v "^#" | head -20 | while IFS= read -r line; do
|
|
if echo "$line" | grep -q "active"; then
|
|
echo -e " ${GREEN}●${NC} $line"
|
|
elif echo "$line" | grep -q "ARCHIVED"; then
|
|
echo -e " ${DIM}○ $line${NC}"
|
|
else
|
|
echo " $line"
|
|
fi
|
|
done
|
|
echo ""
|
|
matches=$(grep -ic "$query" "$SEARCH" 2>/dev/null)
|
|
echo -e " ${DIM}${matches} matches${NC}"
|
|
;;
|
|
esac
|