Initial commit: RA-H Open Source Edition
Local-first knowledge management system with BYO API keys. Features: - 3-panel UI (Nodes | Focus | Helpers) - SQLite + sqlite-vec for vector search - Agent system (Easy/Hard mode orchestrators) - Content extraction (YouTube, PDF, web) - Integrate workflow for connection discovery - Dimension system with auto-assignment Tech stack: - Next.js 15 + TypeScript + Tailwind CSS - Anthropic (Claude) + OpenAI (GPT) via Vercel AI SDK Setup: npm install && npm rebuild better-sqlite3 scripts/dev/bootstrap-local.sh npm run dev MIT License
This commit is contained in:
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
TMP_FILE="$(mktemp)"
|
||||
|
||||
printf "[audit] scanning for accidental API keys (sk-)...\n"
|
||||
if rg --hidden --no-messages --files-with-matches "sk-" \
|
||||
--glob '!.git/**' --glob '!node_modules/**' --glob '!dist/**' --glob '!apps/mac/src-tauri/target/**' \
|
||||
> "$TMP_FILE"; then
|
||||
printf "${RED}Found potential secrets:${NC}\n"
|
||||
cat "$TMP_FILE"
|
||||
rm -f "$TMP_FILE"
|
||||
exit 1
|
||||
else
|
||||
status=$?
|
||||
if [ "$status" -ne 1 ]; then
|
||||
rm -f "$TMP_FILE"
|
||||
exit "$status"
|
||||
fi
|
||||
printf "${GREEN}No sk- tokens found.${NC}\n"
|
||||
fi
|
||||
rm -f "$TMP_FILE"
|
||||
|
||||
printf "[audit] checking tracked files > 50MB...\n"
|
||||
LARGE_FILES=$(git ls-tree -r HEAD --long | awk '$4 > 52428800 {printf "%s\t%s\n", $4, $5}')
|
||||
if [ -n "$LARGE_FILES" ]; then
|
||||
printf "${RED}Large tracked files detected (>50MB):${NC}\n%s\n" "$LARGE_FILES"
|
||||
exit 1
|
||||
else
|
||||
printf "${GREEN}No tracked blobs exceed 50MB.${NC}\n"
|
||||
fi
|
||||
|
||||
printf "[audit] done.\n"
|
||||
Reference in New Issue
Block a user