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
+56
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_DIR="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
||||
ENV_TEMPLATE="${REPO_DIR}/.env.example.local"
|
||||
TARGET_ENV="${REPO_DIR}/.env.local"
|
||||
SQLITE_SEED_SCRIPT="${REPO_DIR}/scripts/database/sqlite-ensure-app-schema.sh"
|
||||
|
||||
log() {
|
||||
echo "[bootstrap-local] $1"
|
||||
}
|
||||
|
||||
if [ ! -f "$ENV_TEMPLATE" ]; then
|
||||
echo "Error: ${ENV_TEMPLATE} not found. Make sure .env.example.local exists." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "$TARGET_ENV" ]; then
|
||||
log ".env.local already exists; leaving it untouched."
|
||||
else
|
||||
log "Creating .env.local from template..."
|
||||
cp "$ENV_TEMPLATE" "$TARGET_ENV"
|
||||
fi
|
||||
|
||||
SQLITE_DB_PATH_LINE=$(grep -E '^SQLITE_DB_PATH=' "$TARGET_ENV" | tail -n 1 || true)
|
||||
DEFAULT_DB_PATH="$HOME/Library/Application Support/RA-H/db/rah.sqlite"
|
||||
if [ -z "$SQLITE_DB_PATH_LINE" ]; then
|
||||
SQLITE_DB_PATH="$DEFAULT_DB_PATH"
|
||||
else
|
||||
SQLITE_DB_PATH="${SQLITE_DB_PATH_LINE#SQLITE_DB_PATH=}"
|
||||
fi
|
||||
|
||||
# Expand variables like $HOME or ~
|
||||
EXPANDED_DB_PATH=$(eval "echo \"$SQLITE_DB_PATH\"")
|
||||
DB_DIR=$(dirname "$EXPANDED_DB_PATH")
|
||||
|
||||
log "Ensuring database directory exists: $DB_DIR"
|
||||
mkdir -p "$DB_DIR"
|
||||
|
||||
if [ ! -f "$EXPANDED_DB_PATH" ]; then
|
||||
log "Creating empty SQLite database at $EXPANDED_DB_PATH"
|
||||
: > "$EXPANDED_DB_PATH"
|
||||
else
|
||||
log "SQLite database already exists at $EXPANDED_DB_PATH"
|
||||
fi
|
||||
|
||||
if [ ! -x "$SQLITE_SEED_SCRIPT" ]; then
|
||||
echo "Error: $SQLITE_SEED_SCRIPT not found or not executable" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log "Seeding database schema via sqlite-ensure-app-schema.sh"
|
||||
"$SQLITE_SEED_SCRIPT" "$EXPANDED_DB_PATH"
|
||||
|
||||
log "Bootstrap complete. Run 'npm run dev:local' to start the local-first app."
|
||||
Reference in New Issue
Block a user