forked from mergeos-bounties/NokaMan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·83 lines (70 loc) · 2.13 KB
/
Copy pathsetup.sh
File metadata and controls
executable file
·83 lines (70 loc) · 2.13 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
set -euo pipefail
# ============================================================
# 墨子 Harness · 环境锁定脚本
# 项目: NokaMan
# 生成: 2026-07-13
# ============================================================
echo "🔍 检查环境..."
# --- Node 版本锁定 ---
REQUIRED_NODE_MAJOR="22"
CURRENT_NODE=$(node -v 2>/dev/null || echo "not-installed")
if [ "$CURRENT_NODE" = "not-installed" ]; then
echo "❌ Node.js 未安装"
exit 1
fi
CURRENT_MAJOR=$(echo "$CURRENT_NODE" | sed 's/v//' | cut -d. -f1)
if [ "$CURRENT_MAJOR" != "$REQUIRED_NODE_MAJOR" ]; then
echo "❌ 需要 Node v${REQUIRED_NODE_MAJOR}.x,当前 $CURRENT_NODE"
echo " 建议: nvm install $REQUIRED_NODE_MAJOR && nvm use $REQUIRED_NODE_MAJOR"
exit 1
fi
echo " ✅ Node: $CURRENT_NODE"
# --- 包管理器锁定 ---
PACKAGE_MANAGER="pnpm"
# --- 依赖安装(锁定版本)---
echo "📦 安装依赖..."
case "$PACKAGE_MANAGER" in
pnpm)
if ! command -v pnpm &>/dev/null; then
echo " 安装 pnpm..."
npm install -g pnpm
fi
echo " pnpm: $(pnpm --version)"
if [ -f "pnpm-lock.yaml" ]; then
pnpm install --frozen-lockfile
else
echo " ⚠️ 未找到 pnpm-lock.yaml,生成中..."
pnpm install
fi
;;
npm)
if [ -f "package-lock.json" ]; then
npm ci
else
echo " ⚠️ 未找到 package-lock.json,生成中..."
npm install
fi
;;
yarn)
if [ -f "yarn.lock" ]; then
yarn install --frozen-lockfile
else
echo " ⚠️ 未找到 yarn.lock,生成中..."
yarn install
fi
;;
*)
echo "❌ 未知包管理器: $PACKAGE_MANAGER"
exit 1
;;
esac
echo ""
echo "✅ 环境准备完成"
echo ""
echo "下一步:"
echo " 1. 确认 AGENTS.md 已配置"
echo " 2. git checkout -b feature/xxx 创建开发分支"
echo " 3. 开始写代码"
echo " 4. 跑 Harness: echo '(跳过,非 TS 项目)' && echo '⚠️ 无测试命令,需手动添加' && echo '⚠️ 无 lint 命令,需手动添加' && echo '⚠️ 无 build 命令,需手动添加'"
echo " 5. 全绿后 git commit && git push origin feature/xxx"