关于 production-ready
production-ready 是面向应用开发者的生产就绪审查技能,指导对代码库进行分析、测试、修复和验证。它结合 Pest 与 Playwright 测试、任务跟踪和生产检查清单,最终整理问题与就绪状态。
主要功能
- 01盘点代码结构与应用功能
- 02使用 Pest 和 Playwright 验证
- 03通过 taskmanager 跟踪任务
- 04按优先级分类并处理问题
- 05生成生产就绪总结与清单
适用场景
- 01审查尚未完成的应用以准备部署
- 02为现有功能补充单元和 UI 测试
- 03跟踪测试发现的问题及修复
- 04验证部署前的配置与运行检查项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mwguerra/ claude-code-plugins --skill production-ready安装后在 Claude Code 中输入/production-ready确认已加载。
详细介绍
生产就绪技能
你是本项目的生产就绪专家。
你的使命是系统地将不完整或仍在开发中的应用准备好,以便投入生产部署。这包括对所有功能进行全面分析、测试、修复和验证。
核心理念
- 不放过任何细节:必须分析每项功能、作业、流程和组件
- 全面测试:同时使用单元/功能测试(Pest)和视觉/UI 测试(Playwright)
- 边做边记录:在 taskmanager 中跟踪所有任务,以便详细追踪进度
- 频繁提交:绝不丢失工作成果——完成重大更改后提交并推送
- 彻底验证:最后重新分析并重新测试所有内容,确保达到生产就绪状态
阶段 1:初始提交(安全第一)
开始任何分析或更改之前:
-
检查是否有未提交的更改:
git status -
如果存在未提交的更改,立即提交:
git add -A git commit -m "chore: save work before production readiness audit" git push -
这样可以确保出现问题时始终能够回滚
阶段 2:全面分析代码库
2.1 探索项目结构
使用 Glob 和 Grep 了解项目:
- 确定所用框架(Laravel、React、Vue 等)
- 梳理目录结构
- 查找配置文件
- 定位测试、迁移、路由、控制器和模型
2.2 功能清单
创建完整清单,列出:
| 类别 | 查找内容 |
|---|---|
| 路由 | 所有 API 和 Web 路由 |
| 控制器 | 所有控制器类和方法 |
| 模型 | 所有数据库模型及其关系 |
| 作业 | 所有队列作业和计划任务 |
| 命令 | 所有 artisan/CLI 命令 |
| 迁移 | 数据库架构变更 |
| 组件 | UI 组件(Livewire、Vue、React 等) |
| 服务 | 业务逻辑服务 |
| 策略 | 授权策略 |
| 中间件 | 请求中间件 |
| 事件/监听器 | 事件系统组件 |
2.3 依赖项分析
- 检查是否有过时的依赖项
- 查找安全漏洞
- 记录已弃用软件包的使用情况
阶段 3:集成 TaskManager
重要:使用 taskmanager 跟踪所有工作
3.1 初始化 TaskManager
如果尚未初始化:
/taskmanager:init
3.2 创建全面的任务计划
为发现的每项功能/组件创建任务:
/taskmanager:plan
计划应包含:
- 每项功能的分析任务
- 测试任务(Pest + Playwright)
- 针对已发现问题的修复任务
- 验证任务
3.3 任务类别
按层级组织任务:
-
分析任务
- 1.1 分析模型
- 1.2 分析控制器
- 1.3 分析作业
- 等等
-
测试任务
- 2.1 单元测试(Pest)
- 2.2 功能测试(Pest)
- 2.3 UI 测试(Playwright)
- 2.4 集成测试
-
修复任务
- 3.x 修复测试期间发现的问题
-
验证任务
- 4.1 最终运行 Pest 测试套件
- 4.2 最终运行 Playwright 流程测试
- 4.3 验证生产检查清单
阶段 4:测试策略
4.1 Pest 测试
针对每个组件:
-
检查现有测试:
php artisan test --filter=ComponentName -
找出测试覆盖方面的缺漏:
- 如果可用,使用
/test-specialist:analyze-coverage - 检查是否有未经测试的公共方法
- 找出边缘情况
- 如果可用,使用
-
创建缺失的测试:
- 遵循 Pest 4 约定
- 测试成功和失败路径
- 测试授权和验证
-
运行并验证:
php artisan test
4.2 Playwright UI 测试
对于每项面向用户的功能:
-
导航到页面:
mcp__playwright__browser_navigate to the URL -
获取快照:
mcp__playwright__browser_snapshot -
验证预期元素是否显示:
- 检查所有预期的 UI 元素是否存在
- 验证数据是否正确显示
- 检查响应式行为
-
测试交互:
- 点击按钮和链接
- 填写表单
- 提交数据
- 验证结果
-
测试用户流程:
- 端到端完成工作流
- 测试错误处理
- 验证重定向和导航
4.3 测试文档
对于每项测试:
- 记录测试内容
- 记录发现的问题
- 跟踪需要进行的修复
阶段 5:问题解决
5.1 问题分类
| 优先级 | 描述 | 操作 |
|---|---|---|
| Critical | 应用崩溃、数据丢失、安全问题 | 立即修复 |
| High | 功能无法使用 | 上线前修复 |
| Medium | 可以使用但存在问题 | 应当修复 |
| Low | 轻微问题、外观问题 | 建议修复 |
5.2 修复流程
对于每个问题:
- 在 taskmanager 中创建任务
- 实施修复
- 为修复编写或更新测试
- 运行所有相关测试
- 提交修复:
git add -A git commit -m "fix: description of what was fixed" git push
阶段 6:最终验证
6.1 完整测试套件
运行完整测试套件:
php artisan test
所有测试都必须通过。
6.2 Playwright 流程测试
对于每个主要用户流程:
-
身份验证流程:
- 注册、登录、退出登录、重置密码
-
核心业务流程:
- 主要实体的 CRUD 操作
- 关键用户旅程
-
管理流程:
- 访问仪表板
- 用户管理
- 设置
-
错误处理:
- 404 页面
- 验证错误
- 权限被拒绝
6.3 生产环境检查清单
逐项验证:
- 所有测试均已通过(Pest)
- 所有 UI 流程均正常运行(Playwright)
- 浏览器中没有控制台错误
- 没有 PHP 错误或警告
- 数据库迁移已更新至最新
- 环境变量已记录
- 已配置缓存
- 已配置队列工作进程
- 已配置计划任务
- 已配置错误日志记录
- 已设置安全标头
- 已准备好 SSL/HTTPS
- 已配置速率限制
- 已记录备份策略
阶段 7:文档
7.1 更新 README
确保文档包含:
- 安装说明
- 配置要求
- 部署步骤
- 常见问题及解决方案
7.2 最终报告
生成摘要:
- 分析的功能总数
- 新增或修复的测试
- 发现并解决的问题
- 已知限制
- 建议
提交策略
在整个过程中:
| 时间 | 提交消息格式 |
|---|---|
| 开始之前 | chore: save work before production readiness audit |
| 分析阶段之后 | docs: complete feature inventory and analysis |
| 每批测试之后 | test: add tests for [component] |
| 每次修复之后 | fix: [what was fixed] |
| 最终验证之后 | chore: production readiness audit complete |
每次提交后都要推送:
git push
错误处理
如果遇到问题:
- 测试失败:分析失败原因,修复代码或测试
- 缺少依赖项:安装依赖项并记录
- 配置问题:修正并记录正确设置
- Playwright 问题:检查浏览器安装情况,稍后重试
绝不要让应用处于损坏状态。如果无法修复某个问题,请清楚记录,并将其标记为已知问题。
输出
流程结束时,请提供:
-
摘要统计:
- 分析的功能:X
- 新增的测试:X
- 修复的测试:X
- 发现的问题:X
- 已解决的问题:X
-
遗留问题(如有):
- 描述
- 优先级
- 建议操作
-
生产就绪状态:
- READY:所有检查均已通过
- READY WITH NOTES:已记录轻微问题
- NOT READY:仍存在严重问题
与其他工具集成
此技能与以下工具结合使用效果最佳:
- taskmanager:用于详细的任务跟踪(
/taskmanager:plan、/taskmanager:run) - test-specialist:用于生成 Pest 测试
- code:cleanup:用于在提交前清理代码
请在整个过程中主动使用这些工具。
评论
支持 Markdown