mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 新增 .claude/skills 目录及完整的文档生成技能系统 - 添加批量 API 文档生成脚本支持模块化文档创建 - 添加 API 文档、功能指南和教程生成模板与示例 - 添加 C# XML 注释解析和代码示例生成工具 - 添加文档验证和导航更新脚本确保质量 - 更新 .gitignore 配置排除本地设置文件
88 lines
1.9 KiB
Bash
88 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# 批量生成 API 文档
|
|
# 用法: batch-generate.sh <模块名>
|
|
|
|
set -e
|
|
|
|
MODULE="$1"
|
|
|
|
if [ -z "$MODULE" ]; then
|
|
echo "用法: $0 <模块名>"
|
|
echo "可用模块: Core, Game, Godot, SourceGenerators"
|
|
exit 1
|
|
fi
|
|
|
|
# 确定源代码目录
|
|
case "$MODULE" in
|
|
Core)
|
|
SOURCE_DIR="GFramework.Core"
|
|
;;
|
|
Game)
|
|
SOURCE_DIR="GFramework.Game"
|
|
;;
|
|
Godot)
|
|
SOURCE_DIR="GFramework.Godot"
|
|
;;
|
|
SourceGenerators)
|
|
SOURCE_DIR="GFramework.SourceGenerators"
|
|
;;
|
|
*)
|
|
echo "错误: 未知的模块: $MODULE"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if [ ! -d "$SOURCE_DIR" ]; then
|
|
echo "错误: 源代码目录不存在: $SOURCE_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "=========================================="
|
|
echo "批量生成 $MODULE 模块的 API 文档"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 查找所有 C# 文件
|
|
FILES=$(find "$SOURCE_DIR" -name "*.cs" -type f \
|
|
! -name "*.g.cs" \
|
|
! -name "*.Designer.cs" \
|
|
! -name "*Test.cs" \
|
|
! -name "*.Tests.cs" \
|
|
! -name "AssemblyInfo.cs")
|
|
|
|
FILE_COUNT=$(echo "$FILES" | wc -l)
|
|
echo "找到 $FILE_COUNT 个文件"
|
|
echo ""
|
|
|
|
GENERATED=0
|
|
SKIPPED=0
|
|
FAILED=0
|
|
|
|
for FILE in $FILES; do
|
|
echo "处理: $FILE"
|
|
|
|
# 检查是否包含公共类型
|
|
if ! grep -q "public \(class\|interface\|enum\|struct\)" "$FILE"; then
|
|
echo " ⊘ 跳过(无公共类型)"
|
|
SKIPPED=$((SKIPPED + 1))
|
|
continue
|
|
fi
|
|
|
|
# 注意: 实际的文档生成由 AI 调用 /vitepress-api-doc 完成
|
|
# 此脚本仅用于扫描和过滤文件
|
|
|
|
echo " → 待生成"
|
|
GENERATED=$((GENERATED + 1))
|
|
echo ""
|
|
done
|
|
|
|
echo "=========================================="
|
|
echo "扫描完成"
|
|
echo "=========================================="
|
|
echo "总文件数: $FILE_COUNT"
|
|
echo "待生成: $GENERATED"
|
|
echo "跳过: $SKIPPED"
|
|
echo ""
|
|
|
|
exit 0
|