#!/usr/bin/env bash # 标准启动与验证入口:一条命令完成 依赖同步 -> 基础验证 -> 打印启动命令。 # 每轮会话用同一条路径启动,不靠记忆拼命令。 # 目标技术栈为 Go 1.24 单二进制(docs/03);阶段 0(T-001)建立骨架前本脚本会主动失败,属预期。 set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$ROOT_DIR" if [ ! -f go.mod ]; then echo "ERROR: 阶段 0 骨架未建立(缺 go.mod)。" echo " 先领取 tasks.md 的 T-001(初始化 go module 与双子命令骨架)," echo " 当前唯一可运行验证是本地 Python 联调脚本,见 docs/current-state.md。" exit 2 fi INSTALL_CMD=(go mod download) VERIFY_CMD=(go test ./...) START_CMD=(go run . -mode server) echo "==> 当前目录: $PWD" echo "==> 同步依赖" "${INSTALL_CMD[@]}" echo "==> 运行基础验证" "${VERIFY_CMD[@]}" echo "==> 启动命令" printf ' %q' "${START_CMD[@]}" printf '\n' if [ "${RUN_START_COMMAND:-0}" = "1" ]; then echo "==> 启动应用" exec "${START_CMD[@]}" fi echo "如需直接启动应用:RUN_START_COMMAND=1 ./init.sh" echo "如果基础验证失败,先修基线,不要在坏的起点上叠新功能。"