BurningTimesAi/setup/setup_macos.sh

63 lines
1.8 KiB
Bash

#!/bin/bash
# 너드나비스 조직 레포 - macOS / Linux 셋업
# 사용: bash setup_macos.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
NERDNAVIS_ROOT="${NERDNAVIS_ROOT:-$(cd "$SCRIPT_DIR/.." && pwd)}"
UNITY_ROOT="${UNITY_ROOT:-$HOME/dev/DeckBuilding}"
FRAMEWORK_ROOT="${FRAMEWORK_ROOT:-$HOME/dev/NerdNavis.Framework}"
GITEA_URL="${GITEA_URL:-https://burning.i234.me}"
GITEA_SSH="${GITEA_SSH:-ssh://git@burning.i234.me:30030}"
echo "=== 너드나비스 조직 레포 셋업 ==="
echo "NERDNAVIS_ROOT: $NERDNAVIS_ROOT"
# 1. git 확인
command -v git >/dev/null 2>&1 || { echo "git 필요"; exit 1; }
# 2. paths.local.json
PATHS_FILE="$NERDNAVIS_ROOT/paths.local.json"
if [ ! -f "$PATHS_FILE" ]; then
cat > "$PATHS_FILE" <<EOF
{
"_description": "로컬 환경 경로. 커밋 금지.",
"NERDNAVIS_ROOT": "$NERDNAVIS_ROOT",
"UNITY_PROJECT_ROOT": "$UNITY_ROOT",
"FRAMEWORK_PKG_ROOT": "$FRAMEWORK_ROOT",
"TABLE_EXPORT_ROOT": "$UNITY_ROOT/Assets/ResWork/Table/Export",
"GITEA_URL": "$GITEA_URL",
"GITEA_SSH": "$GITEA_SSH",
"HOSTNAME": "$(hostname)"
}
EOF
echo "paths.local.json 작성 완료"
else
echo "paths.local.json 이미 존재. 유지."
fi
# 3. 메모리 symlink
ORG_MEM="$NERDNAVIS_ROOT/memory/org"
mkdir -p "$ORG_MEM"
CLAUDE_BASE="$HOME/.claude/projects"
if [ -d "$CLAUDE_BASE" ]; then
for d in "$CLAUDE_BASE"/*Documents*/ "$CLAUDE_BASE"/*너드나비스*/; do
[ -d "$d" ] || continue
MEM="$d/memory"
if [ -L "$MEM" ]; then
echo "이미 symlink. 유지: $MEM"
elif [ -d "$MEM" ]; then
mv "$MEM" "$MEM.bak-$(date +%s)"
ln -s "$ORG_MEM" "$MEM"
echo "Symlink 생성: $MEM -> $ORG_MEM"
else
ln -s "$ORG_MEM" "$MEM"
echo "Symlink 생성: $MEM -> $ORG_MEM"
fi
done
fi
echo "셋업 완료."