从传统开发流程或AceFlow v1.x迁移到AceFlow v2.0的完整指南
AceFlow v2.0引入了重大改进,包括:
传统瀑布流程:
需求分析 → 系统设计 → 编码实现 → 测试 → 部署 → 维护
推荐AceFlow模式: 标准模式或完整模式
映射关系:
迁移步骤:
# 1. 初始化AceFlow项目
python .aceflow/scripts/aceflow init --mode=standard
# 2. 配置项目信息
python .aceflow/scripts/aceflow config --set project.methodology=waterfall_migration
# 3. 导入现有项目状态
python .aceflow/scripts/aceflow start P1
现有Scrum流程:
Sprint Planning → Daily Scrum → Sprint Review → Sprint Retrospective
推荐AceFlow模式: 轻量级模式
映射关系:
迁移步骤:
# 1. 初始化为轻量级模式
python .aceflow/scripts/aceflow init --mode=minimal
# 2. 配置Scrum集成
python .aceflow/scripts/aceflow config --set agile.framework=scrum
python .aceflow/scripts/aceflow config --set agile.iteration_length=2weeks
# 3. 导入Sprint Backlog
python .aceflow/scripts/aceflow start P
现有Kanban流程:
To Do → In Progress → Review → Done
推荐AceFlow模式: 轻量级模式
映射关系:
迁移步骤:
# 1. 初始化项目
python .aceflow/scripts/aceflow init --mode=minimal
# 2. 配置Kanban集成
python .aceflow/scripts/aceflow config --set agile.framework=kanban
# 3. 设置WIP限制
python .aceflow/scripts/aceflow config --set agile.wip_limits.development=5
v1.x特性 | v2.0对应 | 迁移难度 |
---|---|---|
8阶段流程 | 完整模式 | 低 |
配置文件 | 新配置格式 | 中 |
状态管理 | 增强状态引擎 | 低 |
CLI命令 | 新CLI接口 | 中 |
记忆系统 | 兼容 | 低 |
v1.x配置格式:
# 旧格式
aceflow:
version: "1.0"
stages: [S1, S2, S3, S4, S5, S6, S7, S8]
current_stage: S3
v2.0配置格式:
# 新格式
project:
name: "项目名称"
created_at: "2025-01-10"
flow:
mode: "complete"
current_stage: "S3"
agile:
enabled: true
framework: "scrum"
自动迁移工具:
# 自动迁移配置文件
python .aceflow/scripts/migrate_config.py --from-version 1.0
v1.x状态格式:
{
"current_stage": "S3",
"stage_status": {
"S1": "completed",
"S2": "completed",
"S3": "in_progress"
}
}
v2.0状态格式:
{
"flow_mode": "complete",
"current_stage": "S3",
"stage_states": {
"S1": {
"status": "completed",
"progress": 100,
"start_time": "2025-01-10T09:00:00",
"end_time": "2025-01-10T17:00:00"
}
}
}
迁移脚本:
# 迁移状态数据
python .aceflow/scripts/migrate_state.py --backup
创建迁移脚本 migrate_to_v2.py
:
#!/usr/bin/env python3
"""
AceFlow v1.x to v2.0 迁移工具
"""
import json
import yaml
import shutil
from pathlib import Path
from datetime import datetime
class AceFlowMigrator:
def __init__(self, project_root: Path):
self.project_root = project_root
self.aceflow_dir = project_root / ".aceflow"
self.backup_dir = project_root / ".aceflow_backup"
def migrate(self):
"""执行完整迁移"""
print("🔄 开始AceFlow v2.0迁移...")
# 1. 备份现有数据
self.backup_existing_data()
# 2. 检测现有配置
old_config = self.detect_old_config()
# 3. 迁移配置文件
self.migrate_config(old_config)
# 4. 迁移状态数据
self.migrate_state_data()
# 5. 迁移模板文件
self.migrate_templates()
# 6. 更新目录结构
self.update_directory_structure()
print("✅ 迁移完成!")
print(f"📁 备份目录: {self.backup_dir}")
def backup_existing_data(self):
"""备份现有数据"""
if self.aceflow_dir.exists():
if self.backup_dir.exists():
shutil.rmtree(self.backup_dir)
shutil.copytree(self.aceflow_dir, self.backup_dir)
print(f"📦 已备份到: {self.backup_dir}")
目标:了解新版本,准备迁移环境
任务:
输出:
目标:小规模试点验证
任务:
输出:
目标:迁移所有项目
任务:
输出:
目标:确保新版本稳定运行
任务:
输出:
如果迁移出现问题,可以按以下步骤回滚:
# 1. 停止新版本服务
python .aceflow/scripts/aceflow stop
# 2. 恢复备份数据
rm -rf .aceflow
mv .aceflow_backup .aceflow
# 3. 验证回滚结果
python .aceflow/scripts/aceflow status
# 4. 重新启动服务
python .aceflow/scripts/aceflow start
恭喜你完成AceFlow v2.0迁移!享受AI驱动的敏捷开发体验吧!🎉