README: краткая шпаргалка; install.sh как install.ps1 (SSH/HTTPS авто).
This commit is contained in:
+52
-7
@@ -1,17 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
# Первая загрузка с Gitea: clone Rules и запуск init-cursor в текущем проекте.
|
||||
# Первая загрузка Rules и init-cursor. SSH/HTTPS и bootstrap — автоматически.
|
||||
set -euo pipefail
|
||||
|
||||
RULES_DEST="${RULES_DEST:-$HOME/CursorRules}"
|
||||
HTTPS_URL="${HTTPS_URL:-https://git.kalinamall.ru/PapaTramp/Rules.git}"
|
||||
SSH_URL="${SSH_URL:-ssh://git@git.kalinamall.ru:2222/PapaTramp/Rules.git}"
|
||||
SKIP_GIT_REMOTES=0
|
||||
UPDATE=0
|
||||
|
||||
if [[ ! -d "$RULES_DEST/.git" ]]; then
|
||||
echo '[*] Cloning Rules from Gitea (HTTPS, login once if asked)...'
|
||||
[[ -e "$RULES_DEST" ]] && { echo "Path exists and is not a git repo: $RULES_DEST" >&2; exit 1; }
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--skip-git-remotes) SKIP_GIT_REMOTES=1; shift ;;
|
||||
--update|-Update) UPDATE=1; shift ;;
|
||||
*) shift ;;
|
||||
esac
|
||||
done
|
||||
|
||||
log_step() { printf '[*] %s\n' "$1"; }
|
||||
log_ok() { printf '[+] %s\n' "$1"; }
|
||||
log_warn() { printf '[!] %s\n' "$1"; }
|
||||
|
||||
ensure_rules_clone() {
|
||||
if [[ -d "$RULES_DEST/.git" ]]; then
|
||||
log_step 'Updating CursorRules...'
|
||||
git -C "$RULES_DEST" pull --ff-only
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -e "$RULES_DEST" ]]; then
|
||||
local backup="${RULES_DEST}.bak-$(date +%Y%m%d-%H%M%S)"
|
||||
log_warn "Replacing non-git folder: $RULES_DEST -> $backup"
|
||||
mv "$RULES_DEST" "$backup"
|
||||
fi
|
||||
|
||||
log_step 'Cloning Rules via SSH...'
|
||||
if git clone --depth 1 "$SSH_URL" "$RULES_DEST" 2>/dev/null; then
|
||||
log_ok "Cloned to $RULES_DEST"
|
||||
return 0
|
||||
fi
|
||||
|
||||
log_warn 'SSH clone failed - trying HTTPS (enter Gitea login once)...'
|
||||
git clone --depth 1 "$HTTPS_URL" "$RULES_DEST"
|
||||
echo "[+] Cloned to $RULES_DEST"
|
||||
fi
|
||||
log_ok "Cloned to $RULES_DEST"
|
||||
}
|
||||
|
||||
ensure_rules_clone
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$RULES_DEST/init-cursor.sh"
|
||||
init-cursor "$@"
|
||||
|
||||
if [[ "$UPDATE" -eq 1 ]]; then
|
||||
if [[ "$SKIP_GIT_REMOTES" -eq 1 ]]; then
|
||||
init-cursor --update --skip-git-remotes
|
||||
else
|
||||
init-cursor --update
|
||||
fi
|
||||
elif [[ "$SKIP_GIT_REMOTES" -eq 1 ]]; then
|
||||
init-cursor --skip-git-remotes
|
||||
else
|
||||
init-cursor
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user