forked from Gitlink/gitlink-cli
62 lines
2.2 KiB
Bash
62 lines
2.2 KiB
Bash
#!/bin/bash
|
||
# ================================================================
|
||
# 项目一键初始化 — 全流程串联脚本
|
||
# 功能:依次执行 解析建仓 → 骨架生成 → Issue/里程碑
|
||
# 使用:bash project-bootstrap-full.sh <owner> <repo>
|
||
# 环境变量:
|
||
# PROJECT_DESC 项目自然语言描述(必填,影响 spec 解析)
|
||
# DRY_RUN true|false (默认 true)
|
||
# ================================================================
|
||
set -e
|
||
|
||
# 自动检测并使用本地编译的 gitlink-cli(full 脚本统一检测一次)
|
||
source "$(cd "$(dirname "$0")" && pwd)/../../gitlink-shared/scripts/detect-cli.sh"
|
||
|
||
OWNER=${1:?"Usage: $0 <owner> <repo>"}
|
||
REPO=${2}
|
||
DRY_RUN=${DRY_RUN:-true}
|
||
PROJECT_DESC=${PROJECT_DESC:-"一个用 Go 编写的 GitLink 命令行工具,MIT 许可证,公开仓库。"}
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
OUTPUT_DIR="$SCRIPT_DIR/_output"
|
||
mkdir -p "$OUTPUT_DIR"
|
||
|
||
echo "============================================"
|
||
echo " 项目一键初始化"
|
||
echo " Target: $OWNER/$REPO"
|
||
echo " PROJECT_DESC: $PROJECT_DESC"
|
||
echo " DRY_RUN: $DRY_RUN"
|
||
echo " 开始时间: $(date '+%Y-%m-%d %H:%M:%S')"
|
||
echo "============================================"
|
||
echo ""
|
||
|
||
# Phase 1
|
||
echo "▸ Phase 1/3: 解析需求 + 创建仓库"
|
||
bash "$SCRIPT_DIR/01-parse-and-create-repo.sh" "$OWNER" "$REPO"
|
||
echo ""
|
||
|
||
# Phase 2
|
||
echo "▸ Phase 2/3: 生成项目骨架文件"
|
||
bash "$SCRIPT_DIR/02-generate-skeleton.sh" "$OWNER" "$REPO"
|
||
echo ""
|
||
|
||
# Phase 3
|
||
echo "▸ Phase 3/3: 创建初始 Issue 和里程碑"
|
||
bash "$SCRIPT_DIR/03-create-issues-milestones.sh" "$OWNER" "$REPO"
|
||
echo ""
|
||
|
||
# 生成 HTML 可视化报告
|
||
echo "▸ 生成 HTML 可视化报告..."
|
||
SHARED_SCRIPT="$SCRIPT_DIR/../../gitlink-shared/scripts/md-to-html.js"
|
||
if [ -f "$OUTPUT_DIR/init-report.md" ]; then
|
||
node "$SHARED_SCRIPT" "$OUTPUT_DIR/init-report.md" 2>/dev/null || true
|
||
fi
|
||
echo ""
|
||
|
||
echo "============================================"
|
||
echo " 全流程完成"
|
||
echo " 结束时间: $(date '+%Y-%m-%d %H:%M:%S')"
|
||
echo " 📄 Markdown: $OUTPUT_DIR/init-report.md"
|
||
echo " 🗂 骨架: $OUTPUT_DIR/skeleton/"
|
||
echo " 🌐 HTML: 已生成"
|
||
echo "============================================"
|