Appearance
文件生命周期
SillySpec 的每个命令产出特定文件,下一步读上一步的文件继续。断在哪了用 /sillyspec:resume 接上。
完整文件生命周期
🌱 绿地流程
| 阶段 | 命令 | 产出文件 | 说明 |
|---|---|---|---|
| 初始化 | /sillyspec:init | .sillyspec/PROJECT.md | 项目概述(交互式提问生成) |
.sillyspec/REQUIREMENTS.md | 需求文档(P0/P1/P2 优先级) | ||
.sillyspec/ROADMAP.md | 阶段路线图 | ||
| 需求探索 | /sillyspec:brainstorm | .sillyspec/specs/YYYY-MM-DD-xxx-design.md | 设计方案 |
| 规范生成 | /sillyspec:propose | .sillyspec/changes/<name>/proposal.md | 变更提案(动机、范围、成功标准) |
.sillyspec/changes/<name>/design.md | 技术方案和文件变更清单 | ||
.sillyspec/changes/<name>/specs/requirements.md | 需求和用户场景(Given/When/Then) | ||
.sillyspec/changes/<name>/tasks.md | 任务清单(勾选用) | ||
| 详细计划 | /sillyspec:plan | .sillyspec/plans/YYYY-MM-DD-xxx.md | 执行主文档,精确到文件路径和代码示例 |
| TDD 执行 | /sillyspec:execute | 代码文件、测试文件 | 按 plan 执行,tasks.md 勾进度 |
| 验证 | /sillyspec:verify | (不生成文件) | 对照规范 + plan 检查 |
| 归档 | /sillyspec:archive | 移入 changes/archive/ | 规范沉淀,可追溯 |
🏗️ 棕地流程
| 阶段 | 命令 | 产出文件 | 说明 |
|---|---|---|---|
| 代码扫描 | /sillyspec:scan | .sillyspec/codebase/STACK.md | 技术栈 |
.sillyspec/codebase/ARCHITECTURE.md | 架构 + 数据模型摘要 | ||
.sillyspec/codebase/STRUCTURE.md | 目录结构 | ||
.sillyspec/codebase/CONVENTIONS.md | 编码约定(命名、风格、Git) | ||
.sillyspec/codebase/INTEGRATIONS.md | 外部集成 | ||
.sillyspec/codebase/TESTING.md | 测试现状 | ||
.sillyspec/codebase/CONCERNS.md | 技术债务(🔴🟡🟢) | ||
.sillyspec/PROJECT.md | 项目概览 | ||
| 需求探索 | /sillyspec:brainstorm | .sillyspec/specs/YYYY-MM-DD-xxx-design.md | 设计方案(基于 scan 上下文) |
| 后续阶段 | 同绿地流程 | 同绿地流程 |
scan 后续的 brainstorm → propose → plan → execute 流程与绿地完全一致。区别在于 brainstorm 阶段 AI 会额外读取 scan 产出的 7 份文档,确保方案基于真实的代码现状。
关键文件关系
design.md(做什么) ← propose 产出,定义技术方案和文件变更范围
tasks.md(哪些任务) ← propose 产出,任务清单,执行时勾进度用
↓
plan.md(怎么做) ← plan 产出,执行主文档
↓ 精确到文件路径、代码示例、验证命令
execute ← 按 plan 步骤执行,用 tasks.md 追踪进度plan 是执行的主文档。 execute 阶段 AI 按 plan 的步骤写代码,每完成一个 task 在 tasks.md 里打勾。design.md 作为参考确认方向没错偏。
辅助命令
| 命令 | 作用 | 产出 |
|---|---|---|
/sillyspec:status | 查看当前进度和下一步建议 | 无文件,终端输出 |
/sillyspec:continue | 自动判断下一步该做什么 | 无文件,直接执行 |
/sillyspec:explore | 自由思考模式,不写代码 | 探索结论(可选保存) |
/sillyspec:quick | 跳过完整流程,直接做小改动 | 代码文件 |
/sillyspec:workspace | 管理多项目工作区 | .sillyspec/config.yaml |
/sillyspec:state | 保存状态给下一个会话 | .sillyspec/STATE.md |
/sillyspec:resume | 从 state 或项目状态恢复 | 无文件,加载上下文 |
/sillyspec:export | 导出成功方案为模板 | ~/.sillyspec/templates/<name>/ |
全局目录
| 目录 | 用途 |
|---|---|
.sillyspec/codebase/ | 代码库扫描文档(scan 产出) |
.sillyspec/changes/ | 变更管理(propose 产出) |
.sillyspec/changes/archive/ | 已完成的变更 |
.sillyspec/changes/<name>/stages/ | 大模块子阶段变更 |
.sillyspec/plans/ | 实现计划(plan 产出) |
.sillyspec/specs/ | 设计文档(brainstorm 产出) |
~/.sillyspec/templates/ | 全局模板库(export 产出,跨项目复用) |
大模块流程
当功能模块较大(多页面、多原型图)时,brainstorm 会建议拆分为多个阶段:
brainstorm(多图分析) → MASTER.md
→ stage-1: brainstorm → propose → plan → execute → verify
→ stage-2: brainstorm → propose → plan → execute → verify
→ ... → archive 整个主变更关键文件:
| 文件 | 用途 |
|---|---|
changes/<name>/MASTER.md | 主变更:整体方向、拆分计划、阶段间依赖、经验记录 |
changes/<name>/stages/01-xxx/proposal.md | 阶段 1 的提案 |
changes/<name>/stages/01-xxx/design.md | 阶段 1 的技术方案 |
changes/<name>/stages/01-xxx/tasks.md | 阶段 1 的任务清单 |
changes/<name>/stages/01-xxx/plan.md | 阶段 1 的精确计划 |
每个阶段的 brainstorm 会自动读取 MASTER.md + 前面阶段的设计和经验,保证一致性,并根据实际经验调整后续设计。
中断恢复时,resume 会显示各阶段进度表。
防幻觉机制
SillySpec 在多个环节防止 AI 编造内容:
| 环节 | 机制 |
|---|---|
| scan | 强制扫描数据库 schema,生成摘要表,后续只准引用表中的表名 |
| brainstorm | 必须读取 ARCHITECTURE.md 数据模型,禁止编造不存在的表/字段/API |
| execute | 写代码前强制读取现有 Controller/Service 源码,禁止编造方法调用和注解 |
| execute | 新项目无参考代码时,靠 CONVENTIONS.md + ARCHITECTURE.md + design.md 驱动 |
| 全流程 | shell 校验脚本兜底(validate-scan/proposal/plan/all.sh) |