-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·65 lines (57 loc) · 2.38 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·65 lines (57 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/env bash
# =============================================================================
# ai-coding-kit 初始化脚本
#
# clone 项目后运行一次,完成本地配置初始化:
# - 从 env/*.example 模板复制出缺失的本地配置(config/backup/review/secrets/user-profile.json)
# (幂等:目标已存在则跳过,绝不覆盖你已填好的真实配置)
# - 不自动创建 user-profile.md:它是含占位符的「内容模板」,若自动复制会被
# sync-user-profile.sh 当成真实画像同步成假的全局用户画像。需要画像时再手动
# cp env/user-profile.md.example env/user-profile.md 并填写。
# - 提醒填写 env/secrets.json 中的真实 API Keys / Tokens
#
# 用法:
# bash install.sh
# =============================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_DIR="$SCRIPT_DIR/env"
# --- 颜色输出 ---
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
echo_ok() { echo -e "${GREEN}[OK]${NC} $*"; }
echo_warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
echo_error() { echo -e "${RED}[ERROR]${NC} $*"; }
echo -e "${CYAN}==>${NC} 初始化 env/ 本地配置(从 .example 模板复制缺失文件)..."
shopt -s nullglob
created=0
for src in "$ENV_DIR"/*.example; do
dst="${src%.example}"
# user-profile.md 是含占位符的内容模板,不自动创建(避免假画像被同步)
if [[ "$src" == */user-profile.md.example ]]; then
continue
fi
if [ ! -e "$dst" ]; then
cp "$src" "$dst"
echo_ok "已创建 ${dst#$SCRIPT_DIR/}"
created=$((created + 1))
fi
done
shopt -u nullglob
if [ "$created" -eq 0 ]; then
echo_ok "所有本地配置文件均已存在,无需创建。"
fi
# secrets 仍是模板占位符则提醒填写
SECRETS="$ENV_DIR/secrets.json"
SECRETS_EXAMPLE="$ENV_DIR/secrets.json.example"
if [ -f "$SECRETS" ] && diff -q "$SECRETS" "$SECRETS_EXAMPLE" >/dev/null 2>&1; then
echo_warn "env/secrets.json 仍是模板占位符,请编辑填入真实 API Keys / Tokens:"
echo -e " ${CYAN}\$EDITOR env/secrets.json${NC}"
fi
echo ""
echo -e "${CYAN}下一步:${NC}"
echo -e " 1. 编辑 env/secrets.json 填入真实密钥(其余文件已由本脚本创建)"
echo -e " 2. 运行 ${CYAN}bash sync.sh${NC} 同步配置到各 AI 编码工具"