QUICK_START_CONSISTENCY.md 4.1 KB

🚀 Feature一致性保证 - 快速开始指南

📋 核心命令

1. 检查Feature依赖关系

# 检查所有Feature的依赖关系
.specify/scripts/check-feature-dependencies.sh

# 输出示例:
# ✅ 001-specManager-perp: 无依赖项
# ✅ 002-credential-manager: 无依赖项
# ✅ 003-delta-50-80: 所有依赖项满足

2. 合并前一致性检查

# 在合并Feature前运行检查
.specify/scripts/pre-merge-consistency-check.sh <feature-branch>

# 示例:
.specify/scripts/pre-merge-consistency-check.sh 002-credential-manager

# 检查内容:
# - 合并冲突检测
# - TypeScript编译检查
# - 共享组件兼容性
# - 配置文件冲突
# - 测试套件运行

3. 测试所有工具

# 运行完整的一致性工具测试
.specify/scripts/test-consistency-tools.sh

🔄 完整的Feature开发流程

Phase 1: Feature开发

# 1. 创建或切换到Feature分支
git checkout 002-credential-manager

# 2. 开发Feature功能
# ... 编写代码 ...

# 3. 定期检查依赖关系
.specify/scripts/check-feature-dependencies.sh

Phase 2: 合并前检查

# 1. 确保所有更改已提交
git add -A && git commit -m "完成Feature开发"

# 2. 运行合并前检查
.specify/scripts/pre-merge-consistency-check.sh $(git branch --show-current)

# 3. 如果检查通过,准备合并

Phase 3: 安全合并

# 1. 切换到main分支
git checkout main

# 2. 拉取最新更改
git pull origin main

# 3. 执行合并
git merge --no-ff 002-credential-manager

# 4. 运行最终验证
npm test  # 或项目的测试命令

# 5. 推送到远程
git push origin main

⚠️ 常见问题处理

问题1: 发现依赖冲突

# 输出:
# ❌ 003-delta-50-80: 缺失依赖项: 001-specManager-perp (未合并到main)

# 解决方案:
# 1. 先合并依赖的Feature
git checkout main
git merge --no-ff 001-specManager-perp

# 2. 再合并当前Feature
git merge --no-ff 003-delta-50-80

问题2: 共享组件冲突

# 输出:
# ❌ AccountManager 的导出接口发生变化,可能不兼容

# 解决方案:
# 1. 检查变更内容
git diff main..feature-branch -- src/modules/account/AccountManager.ts

# 2. 确保向后兼容或提供迁移路径
# 3. 更新共享组件版本号

问题3: 配置文件冲突

# 输出:
# ⚠️ package.json 在feature分支中被修改

# 解决方案:
# 1. 手动检查变更内容
git diff main..feature-branch -- package.json

# 2. 确保新增依赖不冲突
# 3. 必要时手动合并配置

📊 依赖关系矩阵

Feature 依赖 状态 优先级
002-credential-manager ✅ 可合并
001-specManager-perp ✅ 可合并
003-delta-50-80 001, 002 ⏳ 等待依赖

🛠️ 高级使用

自定义依赖规则

编辑 .specify/scripts/check-feature-dependencies.sh 中的 get_dependencies() 函数:

get_dependencies() {
    case "$1" in
        "004-new-feature")
            echo "001-specManager-perp,003-delta-50-80"
            ;;
        # ... 其他规则
    esac
}

共享组件版本管理

更新 .specify/tools/consistency/shared-component-registry.ts:

export const SHARED_COMPONENTS = {
  'NewComponent': {
    version: '1.0.0',
    compatibleRange: '^1.0.0',
    breaking: false,
    description: '新共享组件描述',
    dependents: ['feature-1', 'feature-2']
  }
}

📖 相关文档

🎯 最佳实践

  1. 开发前检查: 每次开始Feature开发前运行依赖检查
  2. 定期验证: 开发过程中定期运行一致性检查
  3. 合并前必查: 绝不跳过合并前检查步骤
  4. 文档同步: 及时更新Feature依赖关系
  5. 版本控制: 谨慎处理共享组件的版本变更

通过这套流程,确保多Feature并行开发的一致性和质量。