setup-plan.sh
1.55 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
#!/usr/bin/env bash
set -e
# 解析命令行参数
JSON_MODE=false
ARGS=()
for arg in "$@"; do
case "$arg" in
--json)
JSON_MODE=true
;;
--help|-h)
echo "用法:$0 [--json]"
echo " --json 以 JSON 格式输出结果"
echo " --help 显示帮助信息"
exit 0
;;
*)
ARGS+=("$arg")
;;
esac
done
# 获取脚本目录并加载通用函数
SCRIPT_DIR="$(CDPATH="" cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/common.sh"
# 从通用函数获取所有路径与变量
eval $(get_feature_paths)
# 检查是否在合规的功能分支上(仅 git 仓库)
check_feature_branch "$CURRENT_BRANCH" "$HAS_GIT" || exit 1
# 确保功能目录存在
mkdir -p "$FEATURE_DIR"
# 如果存在计划模板,则复制
TEMPLATE="$REPO_ROOT/.specify/templates/plan-template.md"
if [[ -f "$TEMPLATE" ]]; then
cp "$TEMPLATE" "$IMPL_PLAN"
echo "已复制 plan 模板到:$IMPL_PLAN"
else
echo "警告:未找到 plan 模板:$TEMPLATE"
# 如果不存在模板,则创建空的 plan 文件
touch "$IMPL_PLAN"
fi
# 输出结果
if $JSON_MODE; then
printf '{"FEATURE_SPEC":"%s","IMPL_PLAN":"%s","SPECS_DIR":"%s","BRANCH":"%s","HAS_GIT":"%s"}\n' \
"$FEATURE_SPEC" "$IMPL_PLAN" "$FEATURE_DIR" "$CURRENT_BRANCH" "$HAS_GIT"
else
echo "FEATURE_SPEC: $FEATURE_SPEC"
echo "IMPL_PLAN: $IMPL_PLAN"
echo "SPECS_DIR: $FEATURE_DIR"
echo "BRANCH: $CURRENT_BRANCH"
echo "HAS_GIT: $HAS_GIT"
fi