release-checklist

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Release Checklist

发布检查清单

A final quality gate before shipping code. This skill runs through everything a senior developer would check before approving a release.
这是代码发布前的最终质量关卡。该检查清单涵盖了资深开发人员在批准发布前会检查的所有内容。

Quick Start

快速开始

/release-checklist
Or specify a scope:
/release-checklist src/auth/
/release-checklist
或指定检查范围:
/release-checklist src/auth/

The Checklist

检查清单

Run through each section systematically. Any failure blocks the release.
系统地逐一检查每个部分。任何一项不通过都会阻止发布。

1. Code Completeness

1. 代码完整性

bash
undefined
bash
undefined

Search for incomplete code markers

搜索未完成代码标记

grep -r "TODO|FIXME|XXX|HACK|WIP" --include=".ts" --include=".js" --include=".py" --include=".go" --include=".rs" --include=".rb" --include="*.ex" src/

- [ ] No TODO comments remain
- [ ] No FIXME markers
- [ ] No HACK or XXX notes
- [ ] No WIP (work in progress) code
- [ ] No placeholder implementations (`throw new Error('Not implemented')`)
- [ ] No commented-out code that should be removed
grep -r "TODO|FIXME|XXX|HACK|WIP" --include=".ts" --include=".js" --include=".py" --include=".go" --include=".rs" --include=".rb" --include="*.ex" src/

- [ ] 无遗留的TODO注释
- [ ] 无FIXME标记
- [ ] 无HACK或XXX注释
- [ ] 无WIP(进行中)代码
- [ ] 无占位实现(如`throw new Error('Not implemented')`)
- [ ] 无应删除的注释代码

2. Debug Code Removed

2. 移除调试代码

bash
undefined
bash
undefined

Search for debug statements

搜索调试语句

grep -rn "console.log|print(|debugger|binding.pry|byebug|IEx.pry" --include=".ts" --include=".js" --include=".py" --include=".rb" --include="*.ex" src/

- [ ] No `console.log` in production code (logging libraries OK)
- [ ] No `print()` statements (Python)
- [ ] No `debugger` statements
- [ ] No `binding.pry` / `byebug` (Ruby)
- [ ] No `IEx.pry` (Elixir)
- [ ] No hardcoded test data or mock values
grep -rn "console.log|print(|debugger|binding.pry|byebug|IEx.pry" --include=".ts" --include=".js" --include=".py" --include=".rb" --include="*.ex" src/

- [ ] 生产代码中无`console.log`(日志库使用除外)
- [ ] 无`print()`语句(Python)
- [ ] 无`debugger`语句
- [ ] 无`binding.pry` / `byebug`(Ruby)
- [ ] 无`IEx.pry`(Elixir)
- [ ] 无硬编码的测试数据或模拟值

3. Documentation Updated

3. 文档已更新

  • README reflects current functionality
  • API documentation matches implementation
  • CHANGELOG has entries for all changes
  • Configuration options documented
  • Breaking changes clearly noted
  • Migration guide if needed
  • README已反映当前功能
  • API文档与实现一致
  • CHANGELOG已记录所有变更
  • 配置选项已文档化
  • 破坏性变更已明确标注
  • 如需迁移,已提供迁移指南

4. Tests Passing

4. 测试全部通过

Run all test commands from CLAUDE.md:
bash
undefined
执行CLAUDE.md中列出的所有测试命令:
bash
undefined

Example - adapt to your project

示例 - 根据项目调整

npm test # or pytest, go test, etc. npm run lint # or ruff, golangci-lint, etc. npm run typecheck # or mypy, tsc, etc. npm run build # verify it compiles

- [ ] All unit tests pass
- [ ] All integration tests pass
- [ ] Lint checks pass (no errors)
- [ ] Type checks pass (no errors)
- [ ] Build succeeds
npm test # 或 pytest, go test 等 npm run lint # 或 ruff, golangci-lint 等 npm run typecheck # 或 mypy, tsc 等 npm run build # 验证编译是否成功

- [ ] 所有单元测试通过
- [ ] 所有集成测试通过
- [ ] 代码检查通过(无错误)
- [ ] 类型检查通过(无错误)
- [ ] 构建成功

5. Dependencies Justified

5. 依赖项合理合规

For any new dependencies added:
  • Each dependency has a clear reason for inclusion
  • Licenses are compatible (MIT, Apache, BSD, etc.)
  • Packages are actively maintained
  • No known security vulnerabilities
  • Versions are pinned appropriately
  • Lockfile is committed
bash
undefined
对于所有新增的依赖项:
  • 每个依赖项都有明确的引入理由
  • 许可证兼容(如MIT、Apache、BSD等)
  • 包处于活跃维护状态
  • 无已知安全漏洞
  • 版本已合理固定
  • 锁文件已提交
bash
undefined

Check for outdated or vulnerable packages

检查过时或存在漏洞的包

npm audit # Node.js pip-audit # Python go list -m -u all # Go cargo audit # Rust bundle audit # Ruby mix deps.audit # Elixir (with mix_audit)
undefined
npm audit # Node.js pip-audit # Python go list -m -u all # Go cargo audit # Rust bundle audit # Ruby mix deps.audit # Elixir(需安装mix_audit)
undefined

6. Security Review

6. 安全审查

  • No hardcoded secrets, keys, or tokens
  • Input validation on all external data
  • SQL queries use parameterized statements
  • User content is escaped before rendering
  • Authentication/authorization enforced
  • Sensitive data not logged
  • Error messages don't leak internals
  • 无硬编码的密钥、凭证或令牌
  • 所有外部数据均已做输入验证
  • SQL查询使用参数化语句
  • 用户内容在渲染前已转义
  • 已强制实施身份验证/授权机制
  • 敏感数据未被记录
  • 错误信息未泄露内部细节

7. Production Readiness

7. 生产环境就绪

  • Structured logging (not print statements)
  • Errors categorized appropriately
  • Health check endpoint works (if applicable)
  • Graceful shutdown handling
  • Environment-specific config externalized
  • No hardcoded URLs or environment assumptions
  • 使用结构化日志(而非打印语句)
  • 错误已合理分类
  • 健康检查端点正常工作(如适用)
  • 已实现优雅关闭处理
  • 环境特定配置已外部化
  • 无硬编码的URL或环境假设

Output Format

输出格式

markdown
undefined
markdown
undefined

Release Checklist Results

发布检查清单结果

Passed

已通过

  • No TODO/FIXME markers
  • No debug statements
  • Tests passing
  • Lint passing
  • Build succeeds
  • 无TODO/FIXME标记
  • 无调试语句
  • 测试全部通过
  • 代码检查通过
  • 构建成功

Failed

未通过

  • CHANGELOG not updated (missing entry for new auth feature)
  • Found console.log at src/api/users.ts:45
  • CHANGELOG未更新(缺少新认证功能的记录)
  • 在src/api/users.ts:45处发现console.log

Warnings

警告

  • New dependency 'lodash' added - verify it's needed (could use native methods)
  • 新增依赖'lodash' - 请确认是否必要(可使用原生方法替代)

Verdict

结论

BLOCKED - Fix the failures above before releasing.
undefined
发布受阻 - 修复上述问题后再执行发布。
undefined

When to Use

使用场景

  • Before merging a feature branch
  • Before cutting a release tag
  • Before deploying to production
  • As the final step in a wiggum loop
  • 合并功能分支前
  • 打发布标签前
  • 部署到生产环境前
  • 作为Wiggum循环的最后一步

Integration with Wiggum

与Wiggum集成

When used as part of a wiggum loop, this checklist runs during Phase 5 (Final Verification). All items must pass before the loop can complete.
当作为Wiggum循环的一部分使用时,该检查清单会在第5阶段(最终验证)运行。所有检查项必须通过,循环才能完成。

Remember

注意事项

This checklist exists because senior developers do these checks naturally. Making them explicit ensures nothing slips through, especially in automated workflows.
If any item fails, the release is blocked. Fix the issue and run the checklist again.
该检查清单的存在是因为资深开发人员会自然地进行这些检查。将检查项明确化可确保在自动化工作流中不会遗漏任何内容。
若任何检查项未通过,发布将受阻。 修复问题后重新运行检查清单。