Skip to content

棕地项目流程

棕地项目(Brownfield)= 已有代码的项目。本教程用"给现有项目加登录功能"贯穿全部流程。

总览

scan → brainstorm → propose → plan → execute → verify → archive

与绿地流程的区别在第一步:用 scan 替代 init,先了解现有代码再行动。


第 1 步:scan — 代码扫描

命令:

/sillyspec:scan

输入后 AI 会交互式引导你完成配置:

1️⃣ 检查已有文档
   如果之前扫过,会告诉你"上次扫描距今 X 天,Y 个新 commit"

2️⃣ 选择扫描模式
   1. 快速扫描 ⚡ — ~30 秒,3 份概览文档
   2. 深度扫描 🔍 — ~2-3 分钟,7 份完整文档

3️⃣ 选择扫描范围
   留空扫全项目,或输入 "api auth frontend"

4️⃣ 确认排除目录
   默认排除 node_modules/dist/.git 等,可追加

5️⃣ 确认扫描计划 → 开始执行

快速扫描结果(3 份)

.sillyspec/codebase/
├── STACK.md          # 技术栈:语言、框架、数据库
├── STRUCTURE.md      # 目录结构
└── PROJECT.md        # 项目概览

扫描完成后 AI 会给出建议,比如"项目较大,建议深度扫描"。

深度扫描结果(7 份)

在快速扫描基础上补充 4 份:

.sillyspec/codebase/
├── STACK.md          # 技术栈
├── ARCHITECTURE.md   # 架构 + 数据模型摘要
├── STRUCTURE.md      # 目录结构
├── CONVENTIONS.md    # 编码规范
├── INTEGRATIONS.md   # 外部集成
├── TESTING.md        # 测试现状
└── CONCERNS.md       # 技术债务

也可以直接传参跳过交互:/sillyspec:scan --deep


第 2 步:brainstorm — 基于现有代码探索

命令:

/sillyspec:brainstorm

AI 做什么:

  • 结合 scan 报告和你的需求描述,提出方案
  • 考虑现有架构的约束和惯例
  • 标注哪些现有代码需要修改、哪些可以复用

示例对话:

AI: 基于 INTEGRATIONS.md,当前项目没有认证系统。建议引入 JWT 方案:

  • 新增 /auth/login/auth/register 端点
  • 密码用 bcrypt 哈希(解决 CONCERNS 中的明文问题)
  • 现有的 /api/todos 需要加 auth 中间件 你: 同意。JWT 过期时间设多久?

第 3 步:propose — 生成提案

命令:

/sillyspec:propose

生成文件:

docs/specs/
├── PROPOSAL.md       # 包含对现有系统的影响评估
├── DESIGN.md         # 包含与现有架构的集成设计
└── TASKS.md          # 包含"修改文件 X 的 Y 函数"级别的任务

第 4 步:plan → 第 5-7 步:execute → verify → archive

与绿地流程一致。棕地特别提示:verify 阶段会额外对照 scan 报告,确保新增代码遵循现有 CONVENTIONS,且没有恶化 CONCERNS 中的风险项。


棕地 vs 绿地对照

阶段绿地棕地
第一步init — 从零提问scan — 先读懂代码
brainstorm自由探索基于现有架构约束
execute纯新增代码新增 + 修改现有代码
verify检查需求覆盖额外检查不破坏现有功能