返回

gstack 教程 11:文档与回顾(文档、回顾、记忆)

/document-release 更新所有文档以匹配发布内容。/retro 运行每周工程回顾,带个人分解。/learn 管理你代码库的模式、陷阱和偏好。

教程概述

系列索引: gstack 教程系列

发布后,完成闭环:/document-release 更新文档,/retro 反思什么有效,/learn 捕获模式供下次使用。

你将学到

  • /document-release 文档同步
  • ✅ 过时文档检测
  • /retro 每周工程回顾
  • ✅ 个人分解和趋势
  • /learn 记忆管理
  • ✅ 发布后工作流

为什么需要发布后文档?

文档漂移问题

flowchart LR
    A[代码变更] --> B[文档未更新]
    B --> C[新开发者困惑]
    C --> D[错误假设]
    D --> E[Bug]

    style B fill:#ffcccc
    style E fill:#ffcccc

/document-release 解决方案

flowchart TD
    A[/document-release] --> B[扫描变更文件]
    B --> C[查找相关文档]
    C --> D[检测漂移]
    D --> E[更新文档]
    E --> F[提交变更]

    style A fill:#e1f5ff
    style F fill:#e8f5e9

/document-release — 同步文档与代码

更新什么

文件 何时更新
README.md 新功能、设置变更、新命令
ARCHITECTURE.md 结构变更、新模块
CONTRIBUTING.md 新工作流、前置条件变更
CLAUDE.md AI 上下文变更、新模式
API.md 新端点、参数变更
CHANGELOG.md 每次发布

使用

/document-release

输出:

正在扫描文档漂移...

┌─────────────────────────────────────────────────────────────┐
│ 文档发布                                                      │
├─────────────────────────────────────────────────────────────┤
│ 变更文件: 12                                                  │
│ 相关文档: 4                                                   │
│                                                              │
│ 📄 README.md                                                  │
│ ─────────────────────────────────────────────────────────────│
│ 部分: Getting Started                                         │
│ 问题: 引用旧包名                                              │
│                                                              │
│ 旧: npm install mypkg-v1                                     │
│ 新: npm install mypkg-v2                                     │
│                                                              │
│ 🔧 已更新                                                     │
│                                                              │
│ 📄 ARCHITECTURE.md                                            │
│ ─────────────────────────────────────────────────────────────│
│ 部分: 模块概述                                                │
│ 问题: 缺失新 auth 模块                                        │
│                                                              │
│ 已添加:                                                      │
│ - src/auth/ - 认证系统(新)                                  │
│   - login.ts - 登录流程                                       │
│   - session.ts - 会话管理                                     │
│                                                              │
│ 🔧 已更新                                                     │
│                                                              │
│ 📄 CHANGELOG.md                                               │
│ ─────────────────────────────────────────────────────────────│
│ 已添加条目:                                                  │
│                                                              │
│ ## 2026-04-07 - v2.1.0                                        │
│                                                              │
│ ### 添加                                                    │
│ - 带 OAuth2 支持的认证系统                                    │
│ - 安全 cookie 的会话管理                                      │
│                                                              │
│ ### 变更                                                    │
│ - 包从 v1 更新到 v2                                           │
│                                                              │
│ 🔧 已更新                                                     │
│                                                              │
│ 📄 CLAUDE.md                                                  │
│ ─────────────────────────────────────────────────────────────│
│ 问题: 缺失 auth 模式                                          │
│                                                              │
│ 已添加:                                                      │
│ - Auth 流程: 使用 /login 端点,不是 /auth                    │
│ - Sessions: API 调用前始终检查                               │
│ - 测试: 用 mockSession() 在测试中模拟会话                    │
│                                                              │
│ 🔧 已更新                                                     │
└─────────────────────────────────────────────────────────────┘

文档已更新: 4 个文件
提交: docs: update documentation for v2.1.0

过时文档检测

检测文档何时与代码不匹配:

检查 检测
过时命令 命令引用已删除的代码
缺失模块 新目录未记录
错误文件路径 重命名的文件仍被引用
已废弃 API 仍记录为当前
错误示例 示例代码与实际不符

扫描什么

project/
├── README.md         ✅ 始终扫描
├── ARCHITECTURE.md   ✅ 始终扫描
├── CONTRIBUTING.md   ✅ 始终扫描
├── CLAUDE.md         ✅ 始终扫描
├── docs/
│   ├── API.md       ✅ 如果存在
│   ├── SETUP.md     ✅ 如果存在
│   └── DEPLOY.md    ✅ 如果存在
└── CHANGELOG.md      ✅ 始终更新

/retro — 工程回顾

分析什么

  • 上次回顾以来的提交
  • 合并的 PR
  • 添加/删除的测试
  • 修复的 bug
  • 性能变化

使用

/retro

输出:

正在运行工程回顾...

┌─────────────────────────────────────────────────────────────┐
│ 每周回顾                                                      │
│ 期间: 2026-03-31 至 2026-04-07                                │
├─────────────────────────────────────────────────────────────┤
│ 📊 概要                                                       │
│ ─────────────────────────────────────────────────────────────│
│ 提交: 47                                                      │
│ 合并 PR: 12                                                   │
│ 添加测试: 34                                                  │
│ 修复 Bug: 8                                                   │
│ 覆盖率: 78% → 82% (+4%)                                       │
│                                                              │
│ 📊 个人分解                                                    │
│ ─────────────────────────────────────────────────────────────│
│ @alice                                                        │
│   提交: 18                                                    │
│   PR: 5                                                       │
│   测试: 15                                                    │
│   发布连续天数: 12 天                                         │
│   重点: 认证系统                                              │
│                                                              │
│ @bob                                                          │
│   提交: 15                                                    │
│   PR: 4                                                       │
│   测试: 12                                                    │
│   发布连续天数: 8 天                                          │
│   重点: API 优化                                              │
│                                                              │
│ @charlie                                                      │
│   提交: 14                                                    │
│   PR: 3                                                       │
│   测试: 7                                                     │
│   发布连续天数: 5 天                                          │
│   重点: Bug 修复和 QA                                         │
│                                                              │
│ 📊 测试健康趋势                                                │
│ ─────────────────────────────────────────────────────────────│
│ 覆盖率趋势: ↑ +4%                                              │
│ 不稳定测试: 2(从 5 减少)                                     │
│ 测试运行时间: 45s(从 52s 减少)                               │
│                                                              │
│ 📊 做得好的                                                    │
│ ─────────────────────────────────────────────────────────────│
│ ✅ 认证系统按时发布                                            │
│ ✅ 覆盖率提升 4%                                               │
│ ✅ 零生产事故                                                  │
│ ✅ PR 审查时间: 平均 4 小时                                    │
│                                                              │
│ 📊 需改进                                                      │
│ ─────────────────────────────────────────────────────────────│
│ ⚠️ 仍有 2 个不稳定测试                                         │
│ ⚠️ API 响应时间在仪表板上 +5%                                  │
│ ⚠️ 错误路径缺失测试                                            │
│                                                              │
│ 📊 行动项                                                      │
│ ─────────────────────────────────────────────────────────────│
│ 1. 修复不稳定测试 (auth.test.ts, api.test.ts)                 │
│ 2. 分析仪表板 API 性能                                         │
│ 3. 添加错误路径测试(目标: 85% 覆盖)                          │
└─────────────────────────────────────────────────────────────┘

回顾已保存: .gstack/retros/2026-04-07.md

全局回顾

跨所有项目运行:

/retro global

输出:

正在跨所有项目运行全局回顾...

┌─────────────────────────────────────────────────────────────┐
│ 全局回顾                                                      │
│ 项目: 4 | 期间: 最近 7 天                                      │
├─────────────────────────────────────────────────────────────┤
│ 📊 跨项目统计                                                  │
│ ─────────────────────────────────────────────────────────────│
│ 总提交: 142                                                   │
│ 总 PR: 38                                                     │
│ 总添加测试: 89                                                 │
│ 覆盖率 >80% 的项目: 3/4                                       │
│                                                              │
│ 📊 按项目                                                      │
│ ─────────────────────────────────────────────────────────────│
│ myapp:        47 提交, 82% 覆盖                               │
│ api-server:   52 提交, 85% 覆盖                               │
│ dashboard:    28 提交, 75% 覆盖 ⚠️                            │
│ mobile-app:   15 提交, 88% 覆盖                               │
│                                                              │
│ 📊 AI 工具使用                                                 │
│ ─────────────────────────────────────────────────────────────│
│ Claude Code 会话: 156                                         │
│ Codex 调用: 42                                                │
│ /review 运行: 28                                              │
│ /qa 运行: 15                                                  │
│                                                              │
│ ⚠️ 需要关注                                                    │
│ ─────────────────────────────────────────────────────────────│
│ dashboard: 覆盖率低于 80%                                     │
│ 运行: cd dashboard && /ship                                   │
└─────────────────────────────────────────────────────────────┘

/learn — 记忆管理

存储什么

类别 示例
模式 “API 验证始终使用 zod”
陷阱 “不要使用没有 deps 数组的 useEffect”
偏好 “使用 Tailwind 而非 CSS modules”
约定 “API 路由放在 src/api/”
注意事项 “环境变量需要 NEXT_PUBLIC_ 前缀”

使用

添加学习

/learn pattern: "处理前始终用 zod 验证 API 输入"

查询学习

/learn ask "我们的验证模式是什么?"

输出:

正在查询已学知识...

┌─────────────────────────────────────────────────────────────┐
│ 已学知识                                                      │
├─────────────────────────────────────────────────────────────┤
│ 模式: API 验证                                                │
│ ─────────────────────────────────────────────────────────────│
│ "处理前始终用 zod 验证 API 输入"                               │
│                                                              │
│ 相关:                                                        │
│ - 陷阱: "永远不要信任未验证的 request.body"                   │
│ - 约定: "验证模式放在 src/schemas/"                           │
│ - 模式: "用 .parse() 抛出异常,.safeParse() 检查"             │
│                                                              │
│ 添加于: 2026-03-15                                            │
│ 使用次数: 12                                                  │
└─────────────────────────────────────────────────────────────┘

列出所有学习

/learn list

输出:

列出所有已学知识...

┌─────────────────────────────────────────────────────────────┐
│ 已学知识(15 条)                                             │
├─────────────────────────────────────────────────────────────┤
│ 模式 (6)                                                      │
│ ─────────────────────────────────────────────────────────────│
│ 1. 用 zod 进行 API 验证                                       │
│ 2. 用 Result 类型处理错误                                     │
│ 3. 用 React Query 获取数据                                    │
│ 4. 用 Tailwind 样式                                           │
│ 5. TypeScript 严格模式                                        │
│ 6. 每个修复一个原子提交                                        │
│                                                              │
│ 陷阱 (5)                                                      │
│ ─────────────────────────────────────────────────────────────│
│ 1. useEffect 没有 deps 数组                                   │
│ 2. 在客户端代码存储密钥                                        │
│ 3. React 中直接操作 DOM                                        │
│ 4. 未验证的环境变量                                            │
│ 5. 异步函数中的同步操作                                        │
│                                                              │
│ 约定 (4)                                                      │
│ ─────────────────────────────────────────────────────────────│
│ 1. API 路由: src/api/                                         │
│ 2. 组件: src/components/                                      │
│ 3. 测试: tests/ 镜像结构                                      │
│ 4. PR 标题: 类型: 描述                                         │
└─────────────────────────────────────────────────────────────┘

/learn 何时自动触发

  • 修复重复 bug 后 → 添加陷阱
  • 建立模式后 → 添加模式
  • PR 审查反馈后 → 添加约定
  • /retro 行动项后 → 添加待办

发布后工作流

完整序列

flowchart TD
    A[/land-and-deploy] --> B[/canary]
    B --> C[/benchmark]
    C --> D[/document-release]
    D --> E[/retro]
    E --> F[/learn]
    F --> G[完成]

    style A fill:#e8f5e9
    style D fill:#fff3e0
    style G fill:#e1f5ff

命令

# 1. 文档发布内容
/document-release

# 2. 运行回顾
/retro

# 3. 捕获本周的学习
/learn list  # 查看当前知识

# 4. 添加发现的任何新模式
/learn pattern: "发布期间发现的新模式"

# 5. 准备下一个 sprint

示例:发布后工作流

场景

刚发布带认证系统的 v2.1.0。

命令

# 步骤 1: 更新文档
/document-release

# 步骤 2: 运行回顾
/retro

# 步骤 3: 捕获学习
/learn pattern: "Auth: 用 httpOnly cookies 存储会话 token"
/learn pitfall: "不要在 localStorage 存储会话(XSS 风险)"

# 步骤 4: 检查全局健康
/retro global

回顾输出

回顾行动项:
1. 修复不稳定的 auth 测试
2. 添加仪表板性能分析
3. 覆盖率提升到 85%

下次发布前运行:
- /qa --focus auth
- /benchmark --compare

技能快速参考

命令 用途 输出
/document-release 同步文档与代码 更新文档,提交
/retro 每周回顾 统计、分解、行动
/retro global 所有项目回顾 跨项目健康
/learn add <类型> <内容> 添加知识 存入记忆
/learn ask <问题> 查询知识 相关学习
/learn list 显示所有 分类列表

总结

gstack 中的发布后技能提供:

  1. 文档同步 — 保持文档匹配代码
  2. 过时检测 — 找到过时引用
  3. 回顾 — 带数据的每周反思
  4. 个人统计 — 跟踪贡献
  5. 记忆管理 — 捕获模式供未来使用

关键要点

  • ✅ 每次部署后运行 /document-release
  • ✅ 每周运行 /retro(建议周五)
  • ✅ 发现模式时添加学习
  • ✅ 用 /retro global 查看多项目视图

系列导航