setup_aceflow_cline.sh 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. #!/bin/bash
  2. # AceFlow + Cline 快速集成脚本
  3. # 一键设置VSCode+Cline+AceFlow的完整开发环境
  4. echo "🚀 AceFlow + Cline 快速集成脚本"
  5. echo "================================"
  6. # 检查是否在项目根目录
  7. if [ ! -d ".aceflow" ]; then
  8. echo "❌ 错误:请在AceFlow项目根目录运行此脚本"
  9. echo " (应该包含 .aceflow 目录)"
  10. exit 1
  11. fi
  12. # 检查VSCode是否安装
  13. if ! command -v code &> /dev/null; then
  14. echo "⚠️ 警告:未检测到VSCode,请先安装VSCode"
  15. echo " 下载地址:https://code.visualstudio.com/"
  16. fi
  17. # 检查Cline扩展是否安装
  18. echo "🔍 检查Cline扩展..."
  19. if code --list-extensions | grep -q "saoudrizwan.claude-dev"; then
  20. echo "✅ Cline扩展已安装"
  21. else
  22. echo "📦 正在安装Cline扩展..."
  23. code --install-extension saoudrizwan.claude-dev
  24. fi
  25. # 创建必要的目录
  26. echo "📁 创建配置目录..."
  27. mkdir -p .vscode
  28. mkdir -p .clinerules
  29. # 检查配置文件是否存在
  30. echo "🔧 检查配置文件状态..."
  31. if [ -f ".vscode/settings.json" ]; then
  32. echo "✅ VSCode设置文件已存在"
  33. else
  34. echo "❌ VSCode设置文件缺失"
  35. fi
  36. if [ -f ".vscode/tasks.json" ]; then
  37. echo "✅ VSCode任务文件已存在"
  38. else
  39. echo "❌ VSCode任务文件缺失"
  40. fi
  41. if [ -f ".clinerules/aceflow_integration.md" ]; then
  42. echo "✅ Cline集成规则已存在"
  43. else
  44. echo "❌ Cline集成规则缺失"
  45. fi
  46. if [ -f "aceflow-workspace.code-workspace" ]; then
  47. echo "✅ 工作区文件已存在"
  48. else
  49. echo "❌ 工作区文件缺失"
  50. fi
  51. # 测试AceFlow CLI
  52. echo "🧪 测试AceFlow CLI..."
  53. if python3 .aceflow/scripts/aceflow --version &> /dev/null; then
  54. echo "✅ AceFlow CLI正常工作"
  55. else
  56. echo "❌ AceFlow CLI测试失败"
  57. exit 1
  58. fi
  59. # 测试JSON输出
  60. echo "🔍 测试JSON输出格式..."
  61. if python3 .aceflow/scripts/aceflow status --format json &> /dev/null; then
  62. echo "✅ JSON输出格式正常"
  63. else
  64. echo "❌ JSON输出格式测试失败"
  65. exit 1
  66. fi
  67. # 生成测试配置
  68. echo "📋 生成测试配置..."
  69. cat > test_integration.md << 'EOF'
  70. # 集成测试清单
  71. ## 基础功能测试
  72. - [ ] AceFlow CLI运行正常
  73. - [ ] JSON输出格式正确
  74. - [ ] 项目状态检查正常
  75. ## VSCode集成测试
  76. - [ ] 工作区配置加载正常
  77. - [ ] 任务可以正常执行
  78. - [ ] 设置文件生效
  79. ## Cline集成测试
  80. - [ ] Cline可以读取.clinerules配置
  81. - [ ] 自动检测项目状态
  82. - [ ] 智能工作流推荐
  83. - [ ] 命令执行正常
  84. ## 完整工作流测试
  85. - [ ] 项目初始化
  86. - [ ] 阶段启动
  87. - [ ] 进度更新
  88. - [ ] 阶段完成
  89. - [ ] 状态查询
  90. 使用方法:
  91. 1. 打开VSCode:`code aceflow-workspace.code-workspace`
  92. 2. 启动Cline扩展
  93. 3. 说"检查项目状态"测试集成
  94. EOF
  95. # 创建快速启动脚本
  96. echo "🚀 创建快速启动脚本..."
  97. cat > start_aceflow_dev.sh << 'EOF'
  98. #!/bin/bash
  99. # 快速启动AceFlow开发环境
  100. echo "🚀 启动AceFlow开发环境..."
  101. # 打开VSCode工作区
  102. echo "📝 打开VSCode工作区..."
  103. code aceflow-workspace.code-workspace
  104. # 显示使用提示
  105. echo "✅ 开发环境已启动!"
  106. echo ""
  107. echo "💡 快速开始:"
  108. echo "1. 等待VSCode完全加载"
  109. echo "2. 启动Cline扩展(Ctrl+Shift+P -> Cline: Start New Task)"
  110. echo "3. 对Cline说:'检查项目状态'"
  111. echo "4. 享受智能工作流管理!"
  112. echo ""
  113. echo "🔧 常用命令:"
  114. echo "- 检查项目状态:python3 .aceflow/scripts/aceflow status"
  115. echo "- 查看JSON状态:python3 .aceflow/scripts/aceflow status --format json"
  116. echo "- 获取工作流建议:python3 .aceflow/scripts/aceflow suggest --task '你的任务'"
  117. echo ""
  118. echo "📚 更多帮助:python3 .aceflow/scripts/aceflow help"
  119. EOF
  120. chmod +x start_aceflow_dev.sh
  121. # 创建调试工具
  122. echo "🔍 创建调试工具..."
  123. cat > debug_integration.py << 'EOF'
  124. #!/usr/bin/env python3
  125. """
  126. AceFlow + Cline 集成调试工具
  127. """
  128. import json
  129. import sys
  130. import subprocess
  131. from pathlib import Path
  132. def run_command(cmd):
  133. """运行命令并返回结果"""
  134. try:
  135. result = subprocess.run(cmd, capture_output=True, text=True, shell=True)
  136. return result.returncode == 0, result.stdout, result.stderr
  137. except Exception as e:
  138. return False, "", str(e)
  139. def check_aceflow_status():
  140. """检查AceFlow状态"""
  141. print("🔍 检查AceFlow状态...")
  142. success, stdout, stderr = run_command("python3 .aceflow/scripts/aceflow status --format json")
  143. if success:
  144. try:
  145. data = json.loads(stdout)
  146. print("✅ AceFlow状态正常")
  147. print(f"📋 项目ID: {data.get('project_id')}")
  148. print(f"🎯 流程模式: {data.get('flow_mode')}")
  149. print(f"📍 当前阶段: {data.get('current_stage_name')}")
  150. print(f"📈 整体进度: {data.get('overall_progress')}%")
  151. return True
  152. except json.JSONDecodeError:
  153. print("❌ JSON解析失败")
  154. print(f"原始输出: {stdout}")
  155. return False
  156. else:
  157. print("❌ AceFlow状态检查失败")
  158. print(f"错误: {stderr}")
  159. return False
  160. def check_files():
  161. """检查关键文件"""
  162. print("\n📁 检查关键文件...")
  163. files_to_check = [
  164. (".aceflow/scripts/aceflow", "AceFlow CLI"),
  165. (".aceflow/state/project_state.json", "项目状态文件"),
  166. (".vscode/settings.json", "VSCode设置"),
  167. (".vscode/tasks.json", "VSCode任务"),
  168. (".clinerules/aceflow_integration.md", "Cline集成规则"),
  169. ("aceflow-workspace.code-workspace", "工作区文件")
  170. ]
  171. all_good = True
  172. for file_path, description in files_to_check:
  173. if Path(file_path).exists():
  174. print(f"✅ {description}")
  175. else:
  176. print(f"❌ {description} 缺失")
  177. all_good = False
  178. return all_good
  179. def suggest_workflow():
  180. """测试工作流推荐"""
  181. print("\n🧠 测试工作流推荐...")
  182. success, stdout, stderr = run_command("python3 .aceflow/scripts/aceflow suggest --task '修复登录bug' --format json")
  183. if success:
  184. try:
  185. data = json.loads(stdout)
  186. print("✅ 工作流推荐正常")
  187. print(f"推荐模式: {data.get('recommended_mode')}")
  188. return True
  189. except json.JSONDecodeError:
  190. print("⚠️ 工作流推荐输出非JSON格式")
  191. print(f"输出: {stdout}")
  192. return True # 可能是文本格式,也算正常
  193. else:
  194. print("❌ 工作流推荐失败")
  195. print(f"错误: {stderr}")
  196. return False
  197. def main():
  198. """主函数"""
  199. print("🔍 AceFlow + Cline 集成调试工具")
  200. print("=" * 50)
  201. # 检查是否在项目根目录
  202. if not Path(".aceflow").exists():
  203. print("❌ 错误:请在AceFlow项目根目录运行此脚本")
  204. sys.exit(1)
  205. # 运行各项检查
  206. checks = [
  207. check_files(),
  208. check_aceflow_status(),
  209. suggest_workflow()
  210. ]
  211. print("\n" + "=" * 50)
  212. if all(checks):
  213. print("🎉 所有检查通过!集成状态良好")
  214. print("\n💡 下一步:")
  215. print("1. 运行 ./start_aceflow_dev.sh 启动开发环境")
  216. print("2. 在Cline中说'检查项目状态'测试集成")
  217. else:
  218. print("⚠️ 部分检查失败,请检查上述问题")
  219. print("\n🔧 建议:")
  220. print("1. 确保所有配置文件存在")
  221. print("2. 检查AceFlow CLI是否正常工作")
  222. print("3. 重新运行集成脚本")
  223. if __name__ == "__main__":
  224. main()
  225. EOF
  226. chmod +x debug_integration.py
  227. # 最终总结
  228. echo ""
  229. echo "🎉 AceFlow + Cline 集成配置完成!"
  230. echo "================================"
  231. echo ""
  232. echo "📋 已创建的文件:"
  233. echo " ✅ .vscode/settings.json - VSCode设置"
  234. echo " ✅ .vscode/tasks.json - VSCode任务"
  235. echo " ✅ .clinerules/aceflow_integration.md - Cline集成规则"
  236. echo " ✅ aceflow-workspace.code-workspace - 工作区文件"
  237. echo " ✅ start_aceflow_dev.sh - 快速启动脚本"
  238. echo " ✅ debug_integration.py - 调试工具"
  239. echo " ✅ test_integration.md - 测试清单"
  240. echo ""
  241. echo "🚀 快速开始:"
  242. echo " 1. 运行调试工具:python3 debug_integration.py"
  243. echo " 2. 启动开发环境:./start_aceflow_dev.sh"
  244. echo " 3. 在Cline中说:'检查项目状态'"
  245. echo ""
  246. echo "📚 更多帮助:"
  247. echo " - 查看集成文档:cat .clinerules/aceflow_integration.md"
  248. echo " - 测试CLI:python3 .aceflow/scripts/aceflow status --format json"
  249. echo " - 查看任务:cat .vscode/tasks.json"
  250. echo ""
  251. echo "💡 提示:如果遇到问题,请先运行debug_integration.py进行诊断"