123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- #!/bin/bash
- # AceFlow + Cline 快速集成脚本
- # 一键设置VSCode+Cline+AceFlow的完整开发环境
- echo "🚀 AceFlow + Cline 快速集成脚本"
- echo "================================"
- # 检查是否在项目根目录
- if [ ! -d ".aceflow" ]; then
- echo "❌ 错误:请在AceFlow项目根目录运行此脚本"
- echo " (应该包含 .aceflow 目录)"
- exit 1
- fi
- # 检查VSCode是否安装
- if ! command -v code &> /dev/null; then
- echo "⚠️ 警告:未检测到VSCode,请先安装VSCode"
- echo " 下载地址:https://code.visualstudio.com/"
- fi
- # 检查Cline扩展是否安装
- echo "🔍 检查Cline扩展..."
- if code --list-extensions | grep -q "saoudrizwan.claude-dev"; then
- echo "✅ Cline扩展已安装"
- else
- echo "📦 正在安装Cline扩展..."
- code --install-extension saoudrizwan.claude-dev
- fi
- # 创建必要的目录
- echo "📁 创建配置目录..."
- mkdir -p .vscode
- mkdir -p .clinerules
- # 检查配置文件是否存在
- echo "🔧 检查配置文件状态..."
- if [ -f ".vscode/settings.json" ]; then
- echo "✅ VSCode设置文件已存在"
- else
- echo "❌ VSCode设置文件缺失"
- fi
- if [ -f ".vscode/tasks.json" ]; then
- echo "✅ VSCode任务文件已存在"
- else
- echo "❌ VSCode任务文件缺失"
- fi
- if [ -f ".clinerules/aceflow_integration.md" ]; then
- echo "✅ Cline集成规则已存在"
- else
- echo "❌ Cline集成规则缺失"
- fi
- if [ -f "aceflow-workspace.code-workspace" ]; then
- echo "✅ 工作区文件已存在"
- else
- echo "❌ 工作区文件缺失"
- fi
- # 测试AceFlow CLI
- echo "🧪 测试AceFlow CLI..."
- if python3 .aceflow/scripts/aceflow --version &> /dev/null; then
- echo "✅ AceFlow CLI正常工作"
- else
- echo "❌ AceFlow CLI测试失败"
- exit 1
- fi
- # 测试JSON输出
- echo "🔍 测试JSON输出格式..."
- if python3 .aceflow/scripts/aceflow status --format json &> /dev/null; then
- echo "✅ JSON输出格式正常"
- else
- echo "❌ JSON输出格式测试失败"
- exit 1
- fi
- # 生成测试配置
- echo "📋 生成测试配置..."
- cat > test_integration.md << 'EOF'
- # 集成测试清单
- ## 基础功能测试
- - [ ] AceFlow CLI运行正常
- - [ ] JSON输出格式正确
- - [ ] 项目状态检查正常
- ## VSCode集成测试
- - [ ] 工作区配置加载正常
- - [ ] 任务可以正常执行
- - [ ] 设置文件生效
- ## Cline集成测试
- - [ ] Cline可以读取.clinerules配置
- - [ ] 自动检测项目状态
- - [ ] 智能工作流推荐
- - [ ] 命令执行正常
- ## 完整工作流测试
- - [ ] 项目初始化
- - [ ] 阶段启动
- - [ ] 进度更新
- - [ ] 阶段完成
- - [ ] 状态查询
- 使用方法:
- 1. 打开VSCode:`code aceflow-workspace.code-workspace`
- 2. 启动Cline扩展
- 3. 说"检查项目状态"测试集成
- EOF
- # 创建快速启动脚本
- echo "🚀 创建快速启动脚本..."
- cat > start_aceflow_dev.sh << 'EOF'
- #!/bin/bash
- # 快速启动AceFlow开发环境
- echo "🚀 启动AceFlow开发环境..."
- # 打开VSCode工作区
- echo "📝 打开VSCode工作区..."
- code aceflow-workspace.code-workspace
- # 显示使用提示
- echo "✅ 开发环境已启动!"
- echo ""
- echo "💡 快速开始:"
- echo "1. 等待VSCode完全加载"
- echo "2. 启动Cline扩展(Ctrl+Shift+P -> Cline: Start New Task)"
- echo "3. 对Cline说:'检查项目状态'"
- echo "4. 享受智能工作流管理!"
- echo ""
- echo "🔧 常用命令:"
- echo "- 检查项目状态:python3 .aceflow/scripts/aceflow status"
- echo "- 查看JSON状态:python3 .aceflow/scripts/aceflow status --format json"
- echo "- 获取工作流建议:python3 .aceflow/scripts/aceflow suggest --task '你的任务'"
- echo ""
- echo "📚 更多帮助:python3 .aceflow/scripts/aceflow help"
- EOF
- chmod +x start_aceflow_dev.sh
- # 创建调试工具
- echo "🔍 创建调试工具..."
- cat > debug_integration.py << 'EOF'
- #!/usr/bin/env python3
- """
- AceFlow + Cline 集成调试工具
- """
- import json
- import sys
- import subprocess
- from pathlib import Path
- def run_command(cmd):
- """运行命令并返回结果"""
- try:
- result = subprocess.run(cmd, capture_output=True, text=True, shell=True)
- return result.returncode == 0, result.stdout, result.stderr
- except Exception as e:
- return False, "", str(e)
- def check_aceflow_status():
- """检查AceFlow状态"""
- print("🔍 检查AceFlow状态...")
-
- success, stdout, stderr = run_command("python3 .aceflow/scripts/aceflow status --format json")
-
- if success:
- try:
- data = json.loads(stdout)
- print("✅ AceFlow状态正常")
- print(f"📋 项目ID: {data.get('project_id')}")
- print(f"🎯 流程模式: {data.get('flow_mode')}")
- print(f"📍 当前阶段: {data.get('current_stage_name')}")
- print(f"📈 整体进度: {data.get('overall_progress')}%")
- return True
- except json.JSONDecodeError:
- print("❌ JSON解析失败")
- print(f"原始输出: {stdout}")
- return False
- else:
- print("❌ AceFlow状态检查失败")
- print(f"错误: {stderr}")
- return False
- def check_files():
- """检查关键文件"""
- print("\n📁 检查关键文件...")
-
- files_to_check = [
- (".aceflow/scripts/aceflow", "AceFlow CLI"),
- (".aceflow/state/project_state.json", "项目状态文件"),
- (".vscode/settings.json", "VSCode设置"),
- (".vscode/tasks.json", "VSCode任务"),
- (".clinerules/aceflow_integration.md", "Cline集成规则"),
- ("aceflow-workspace.code-workspace", "工作区文件")
- ]
-
- all_good = True
- for file_path, description in files_to_check:
- if Path(file_path).exists():
- print(f"✅ {description}")
- else:
- print(f"❌ {description} 缺失")
- all_good = False
-
- return all_good
- def suggest_workflow():
- """测试工作流推荐"""
- print("\n🧠 测试工作流推荐...")
-
- success, stdout, stderr = run_command("python3 .aceflow/scripts/aceflow suggest --task '修复登录bug' --format json")
-
- if success:
- try:
- data = json.loads(stdout)
- print("✅ 工作流推荐正常")
- print(f"推荐模式: {data.get('recommended_mode')}")
- return True
- except json.JSONDecodeError:
- print("⚠️ 工作流推荐输出非JSON格式")
- print(f"输出: {stdout}")
- return True # 可能是文本格式,也算正常
- else:
- print("❌ 工作流推荐失败")
- print(f"错误: {stderr}")
- return False
- def main():
- """主函数"""
- print("🔍 AceFlow + Cline 集成调试工具")
- print("=" * 50)
-
- # 检查是否在项目根目录
- if not Path(".aceflow").exists():
- print("❌ 错误:请在AceFlow项目根目录运行此脚本")
- sys.exit(1)
-
- # 运行各项检查
- checks = [
- check_files(),
- check_aceflow_status(),
- suggest_workflow()
- ]
-
- print("\n" + "=" * 50)
- if all(checks):
- print("🎉 所有检查通过!集成状态良好")
- print("\n💡 下一步:")
- print("1. 运行 ./start_aceflow_dev.sh 启动开发环境")
- print("2. 在Cline中说'检查项目状态'测试集成")
- else:
- print("⚠️ 部分检查失败,请检查上述问题")
- print("\n🔧 建议:")
- print("1. 确保所有配置文件存在")
- print("2. 检查AceFlow CLI是否正常工作")
- print("3. 重新运行集成脚本")
- if __name__ == "__main__":
- main()
- EOF
- chmod +x debug_integration.py
- # 最终总结
- echo ""
- echo "🎉 AceFlow + Cline 集成配置完成!"
- echo "================================"
- echo ""
- echo "📋 已创建的文件:"
- echo " ✅ .vscode/settings.json - VSCode设置"
- echo " ✅ .vscode/tasks.json - VSCode任务"
- echo " ✅ .clinerules/aceflow_integration.md - Cline集成规则"
- echo " ✅ aceflow-workspace.code-workspace - 工作区文件"
- echo " ✅ start_aceflow_dev.sh - 快速启动脚本"
- echo " ✅ debug_integration.py - 调试工具"
- echo " ✅ test_integration.md - 测试清单"
- echo ""
- echo "🚀 快速开始:"
- echo " 1. 运行调试工具:python3 debug_integration.py"
- echo " 2. 启动开发环境:./start_aceflow_dev.sh"
- echo " 3. 在Cline中说:'检查项目状态'"
- echo ""
- echo "📚 更多帮助:"
- echo " - 查看集成文档:cat .clinerules/aceflow_integration.md"
- echo " - 测试CLI:python3 .aceflow/scripts/aceflow status --format json"
- echo " - 查看任务:cat .vscode/tasks.json"
- echo ""
- echo "💡 提示:如果遇到问题,请先运行debug_integration.py进行诊断"
|