|
| 1 | +# SlideNote 工作流程 |
| 2 | + |
| 3 | +> **版本**: v1.0 |
| 4 | +> **更新日期**: 2025-01-18 |
| 5 | +
|
| 6 | +本文档定义 SlideNote 项目的开发工作流程,确保需求、设计、开发、发布的规范化管理。 |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## 一、工作流程概览 |
| 11 | + |
| 12 | +``` |
| 13 | +┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| 14 | +│ 需求讨论 │ -> │ 版本规划 │ -> │ 开发实现 │ -> │ 版本发布 │ |
| 15 | +│ Planning │ │ Versioning │ │ Development │ │ Release │ |
| 16 | +└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| 17 | + │ │ │ │ |
| 18 | + v v v v |
| 19 | + docs/planning/ docs/vX.X.X/ src/ releases/ |
| 20 | + _locales/ CHANGELOG.md |
| 21 | +``` |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +## 二、详细工作流程 |
| 26 | + |
| 27 | +### 阶段 1:需求收集与讨论 |
| 28 | + |
| 29 | +**目标**: 收集需求,讨论可行性,不做版本承诺 |
| 30 | + |
| 31 | +**位置**: `docs/planning/` |
| 32 | + |
| 33 | +```bash |
| 34 | +docs/planning/ |
| 35 | +├── favorite-function/ # 收藏功能讨论 |
| 36 | +├── dark-mode/ # 暗黑模式讨论 |
| 37 | +└── sync-improvement/ # 同步优化讨论 |
| 38 | +``` |
| 39 | + |
| 40 | +**工作内容**: |
| 41 | +- 记录用户反馈和产品想法 |
| 42 | +- 制作原型 HTML(如需) |
| 43 | +- 可行性分析 |
| 44 | +- **不承诺版本号** |
| 45 | + |
| 46 | +**进入下一阶段的条件**: |
| 47 | +- 需求明确,优先级确定 |
| 48 | +- 基本设计方案达成一致 |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +### 阶段 2:版本规划 |
| 53 | + |
| 54 | +**目标**: 确定版本内容,创建版本目录 |
| 55 | + |
| 56 | +**触发条件**: |
| 57 | +- 积累一定数量的需求 |
| 58 | +- 或有重要功能需要优先发布 |
| 59 | + |
| 60 | +**操作**: |
| 61 | +1. 确定版本号(如 v0.0.6) |
| 62 | +2. 创建版本目录: |
| 63 | + ```bash |
| 64 | + docs/versions/v0.0.6/ |
| 65 | + ├── README.md # 版本概述 |
| 66 | + ├── features/ # 新功能 |
| 67 | + ├── bugs/ # Bug 修复 |
| 68 | + └── optimizations/ # 体验优化 |
| 69 | + ``` |
| 70 | + |
| 71 | +3. 将 `docs/planning/` 中相关文档移动到对应分类目录 |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +### 阶段 3:开发实现 |
| 76 | + |
| 77 | +**目标**: 完成功能开发和测试 |
| 78 | + |
| 79 | +**工作内容**: |
| 80 | +1. **编码**: 在 `src/` 目录实现功能 |
| 81 | +2. **文档同步**: 更新对应的技术文档 |
| 82 | +3. **自测**: 本地测试功能 |
| 83 | + |
| 84 | +**文档规范**: |
| 85 | +每个需求包含以下文档(按需): |
| 86 | +``` |
| 87 | +feature-name/ |
| 88 | +├── PRD.md # 产品需求文档 |
| 89 | +├── UI-Spec.md # UI 设计规范(如有交互变化) |
| 90 | +├── Tech-Spec.md # 技术实现方案 |
| 91 | +└── prototype.html # 原型文件(如需) |
| 92 | +``` |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +### 阶段 4:版本发布 |
| 97 | + |
| 98 | +**目标**: 打包发布,更新版本信息 |
| 99 | + |
| 100 | +**发布前检查清单**: |
| 101 | +- [ ] 所有 PRD 中的功能已实现 |
| 102 | +- [ ] 通过本地测试 |
| 103 | +- [ ] 更新 CHANGELOG.md |
| 104 | +- [ ] 更新 package.json 版本号 |
| 105 | +- [ ] 构建生产版本 |
| 106 | + |
| 107 | +**发布步骤**: |
| 108 | + |
| 109 | +1. **更新版本号** |
| 110 | + ```bash |
| 111 | + # package.json |
| 112 | + "version": "0.0.6" |
| 113 | + ``` |
| 114 | + |
| 115 | +2. **构建发布包** |
| 116 | + ```bash |
| 117 | + npm run build:prod |
| 118 | + npm run package:prod |
| 119 | + ``` |
| 120 | + |
| 121 | +3. **打包到 releases 目录** |
| 122 | + ```bash |
| 123 | + releases/ |
| 124 | + └── SlideNote-v0.0.6.zip |
| 125 | + ``` |
| 126 | + |
| 127 | +4. **提交到 Chrome Web Store** |
| 128 | + |
| 129 | +5. **更新 CHANGELOG.md** |
| 130 | + |
| 131 | +--- |
| 132 | + |
| 133 | +## 三、目录结构规范 |
| 134 | + |
| 135 | +### 项目根目录 |
| 136 | + |
| 137 | +``` |
| 138 | +SlideNote/ |
| 139 | +├── src/ # 源代码 |
| 140 | +├── _locales/ # 国际化资源 |
| 141 | +├── public/ # 静态资源 |
| 142 | +├── dist/ # 构建输出(.gitignore) |
| 143 | +├── releases/ # 发布版本包 |
| 144 | +├── docs/ # 文档中心 |
| 145 | +│ ├── planning/ # 需求讨论(临时) |
| 146 | +│ ├── versions/ # 版本文档(按版本组织) |
| 147 | +│ ├── design/ # 设计资源 |
| 148 | +│ ├── marketing/ # 营销素材 |
| 149 | +│ ├── _templates/ # 文档模板 |
| 150 | +│ ├── CHANGELOG.md # 版本更新日志 |
| 151 | +│ └── README.md # 文档索引 |
| 152 | +├── scripts/ # 构建脚本 |
| 153 | +├── package.json # 项目配置 |
| 154 | +├── CHANGELOG.md # 根目录更新日志(对外) |
| 155 | +└── CLAUDE.md # Claude Code 指引 |
| 156 | +``` |
| 157 | + |
| 158 | +### 版本目录结构 |
| 159 | + |
| 160 | +``` |
| 161 | +docs/versions/vX.X.X/ |
| 162 | +├── README.md # 版本概述 |
| 163 | +├── features/ # 新功能 |
| 164 | +│ └── {feature-name}/ |
| 165 | +│ ├── PRD.md |
| 166 | +│ ├── UI-Spec.md |
| 167 | +│ ├── Tech-Spec.md |
| 168 | +│ └── prototype.html |
| 169 | +├── bugs/ # Bug 修复 |
| 170 | +│ └── {bug-name}/ |
| 171 | +│ ├── PRD.md |
| 172 | +│ └── Tech-Spec.md |
| 173 | +└── optimizations/ # 体验优化 |
| 174 | + └── {opt-name}/ |
| 175 | + ├── PRD.md |
| 176 | + └── Tech-Spec.md |
| 177 | +``` |
| 178 | + |
| 179 | +--- |
| 180 | + |
| 181 | +## 四、版本号规范 |
| 182 | + |
| 183 | +遵循 [语义化版本](https://semver.org/lang/zh-CN/): |
| 184 | + |
| 185 | +- **主版本号**: 重大架构变更(不适用当前阶段) |
| 186 | +- **次版本号**: 新功能发布(0.1.0 → 0.2.0) |
| 187 | +- **修订号**: Bug 修复、小优化(0.0.1 → 0.0.2) |
| 188 | + |
| 189 | +当前阶段(开发初期)建议: |
| 190 | +- 每个包含新功能的版本 → 次版本号 +1 |
| 191 | +- 纯 Bug 修复 → 修订号 +1 |
| 192 | + |
| 193 | +--- |
| 194 | + |
| 195 | +## 五、文档模板 |
| 196 | + |
| 197 | +### PRD 模板位置 |
| 198 | +`docs/_templates/PRD-Template.md` |
| 199 | + |
| 200 | +### Tech-Spec 模板位置 |
| 201 | +`docs/_templates/Tech-Spec-Template.md` |
| 202 | + |
| 203 | +--- |
| 204 | + |
| 205 | +## 六、快速参考 |
| 206 | + |
| 207 | +### 新建功能流程 |
| 208 | + |
| 209 | +```bash |
| 210 | +# 1. 在 planning 目录讨论 |
| 211 | +docs/planning/new-feature/ |
| 212 | + |
| 213 | +# 2. 规划版本,创建目录 |
| 214 | +docs/versions/v0.0.7/ |
| 215 | +docs/versions/v0.0.7/features/new-feature/ |
| 216 | + |
| 217 | +# 3. 从模板创建文档 |
| 218 | +cp _templates/PRD-Template.md docs/versions/v0.0.7/features/new-feature/PRD.md |
| 219 | + |
| 220 | +# 4. 开发实现 |
| 221 | +# ... 在 src/ 中编码 ... |
| 222 | + |
| 223 | +# 5. 发布 |
| 224 | +npm run build:prod && npm run package:prod |
| 225 | +``` |
| 226 | + |
| 227 | +### 版本发布检查清单 |
| 228 | + |
| 229 | +| 项目 | 状态 | |
| 230 | +|------|------| |
| 231 | +| 版本号更新 | ☐ | |
| 232 | +| CHANGELOG 更新 | ☐ | |
| 233 | +| 功能测试通过 | ☐ | |
| 234 | +| 构建成功 | ☐ | |
| 235 | +| 发布包生成 | ☐ | |
| 236 | +| 版本文档归档 | ☐ | |
| 237 | + |
| 238 | +--- |
| 239 | + |
| 240 | +## 七、工作文件 |
| 241 | + |
| 242 | +| 文件 | 用途 | 维护者 | |
| 243 | +|------|------|--------| |
| 244 | +| CLAUDE.md | Claude Code 项目指引 | 开发者 | |
| 245 | +| CHANGELOG.md | 对外版本日志 | 发布时 | |
| 246 | +| docs/README.md | 文档索引 | 每次 | |
| 247 | +| docs/versions/vX.X.X/README.md | 版本概述 | 版本启动时 | |
0 commit comments