website-project.md 13 KB

网站项目总控 -- 从需求到上线的建站交付流程

面向企业官网、营销落地页、CMS 网站、后台管理站点、内容门户和中小型 Web 应用,提供从项目启动、需求规格、站点规划、设计实现到上线运维的完整项目级总控流程。

本 Skill 不替代 task-decomposition-and-execution,而是在拆解前定义网站项目必须覆盖的阶段和验收项;随后调用 task-decomposition-and-execution 将阶段转为 Wave 任务。

输入要求

  1. 网站类型(必填):企业官网/营销页/CMS站点/后台管理/门户/电商/工具站
  2. 业务目标(必填):展示品牌、获客转化、内容发布、会员服务、数据管理等
  3. 目标用户(必填):访客、客户、运营、管理员、销售、编辑等
  4. 技术约束(可选):CMS/PHP版本/前端框架/服务器/数据库/第三方服务
  5. 上线要求(可选):域名、备案、SSL、上线时间、迁移范围、回滚要求

执行流程

第一步:项目启动与范围确认

  • 填充项目启动模板:按主 SKILL.md「项目启动模板」章节填写项目启动信息(含终极功能、循环轮次、改动点数),作为后续 Wave 拆解和轮次控制基准
  • 明确网站目标、成功标准、上线时间和交付边界
  • 判断是否为 CMS 二次开发、静态站、前后端分离或后台管理系统
  • 确认角色分工:业务方、设计、前端、后端、测试、运维、验收人
  • 明确不做什么,避免范围扩散

    ✓ 项目启动信息:
    - 网站类型: [类型]
    - 业务目标: [目标]
    - 成功标准: [可验证标准]
    - In scope: [范围]
    - Out of scope: [不做内容]
    

第二步:需求规格与站点规划

调用 spec-driven-development 输出行为契约,并补充网站特有规划:

  • 站点地图:栏目、页面类型、层级、URL 结构
  • 页面清单:首页、列表页、详情页、表单页、搜索页、登录页、后台页
  • 用户路径:访问入口、核心转化路径、异常路径
  • 内容模型:栏目、文章、产品、案例、下载、表单、配置项
  • 权限模型:游客、会员、编辑、管理员、超级管理员

第三步:内容与 SEO 策略

  • 明确每类页面的 TDK:Title / Description / Keywords
  • 规划 sitemap.xml、robots.txt、canonical、面包屑
  • 图片命名、alt、尺寸比例、压缩策略
  • 结构化数据:Organization / Article / Product / Breadcrumb 等
  • 内容验收:文案、图片、栏目数据、测试数据、正式数据

第四步:前端设计与交互方案

调用 frontend-design 完成:

  • 信息架构和页面区块
  • 视觉 token、组件规范、响应式断点
  • Loading / Empty / Error / Disabled 等状态
  • 表单校验、防重复提交、二次确认
  • 浏览器验证清单

第五步:技术方案与数据/API设计

按项目类型调用对应子技能:

  • CMS 项目:调用 cms-development,确认 CMS、PHP 版本、表前缀、模板变量和插件规范
  • 接口项目:调用 api-design,定义认证、接口、错误码、分页和权限
  • 数据库变更:调用 mysql-database,明确表结构、索引、迁移、备份和回滚
  • 前后端联调:确认接口字段、空值、错误态和权限态
  • 长任务识别:批量导入/导出、生成静态页、重建索引、采集同步、图片压缩等必须采用 Init → Step → Poll AJAX 渐进式防卡死架构

第六步:任务拆解与 Wave 执行

调用 task-decomposition-and-execution,按以下阶段拆成可验证 Wave:

| Wave | 内容 | 验证 | | - | - | - | | Wave 1 | 项目结构、环境、基础配置 | 能启动/能访问 | | Wave 2 | 数据模型、CMS字段/API接口 | 数据读写正确 | | Wave 3 | 页面模板/前端组件 | 页面渲染正确 | | Wave 4 | 交互、表单、权限、后台 | 业务路径可走通 | | Wave 5 | SEO、性能、安全、兼容、长任务防卡死 | 检查清单通过 | | Wave 6 | 部署、验收、交接 | 上线可回滚 |

轮次控制承接(引用主 SKILL.md「项目启动模板」和「轮次与收敛」章节):

  • 第一步填充的项目启动模板中「循环轮次」和「每轮改动点数」字段,在本步 Wave 拆解时落地执行
  • 默认轮次 3 轮,安全最大轮次 6 轮,每轮改动点不超过 3 处
  • 每轮结束时按主 SKILL.md「收敛判定逻辑」判断是否结束(终极功能完成/默认轮次到达/安全最大轮次/连续2轮P2微调)
  • 超过安全最大轮次必须强制结束并输出未完成清单,不得无限循环

第七步:测试、安全与兼容验证

  • 功能测试:核心路径、异常路径、权限路径
  • 浏览器测试:移动/平板/桌面,主流浏览器
  • 安全检查:SQL注入、XSS、CSRF、文件上传、权限绕过
  • CMS 检查:模板缓存、静态资源路径、后台字段、数据备份
  • PHP/CMS 检查:目标 PHP 版本 lint,错误日志无新增致命错误
  • 长任务检查:Init 创建任务、Step 分批处理、Poll 轮询状态,验证进度、错误、重试/取消和防重复提交

第八步:性能优化与上线准备

  • 图片压缩、懒加载、WebP/AVIF 策略
  • CSS/JS 压缩、缓存策略、CDN、静态资源版本号
  • Core Web Vitals:LCP/CLS/INP 基线
  • 数据库慢查询、索引、分页、缓存
  • 上线清单:域名、SSL、备案、环境变量、定时任务、文件权限
  • 回滚方案:代码回滚、数据库备份、配置备份

第八点五步:构建与发布流水线(CI/CD)

网站项目同样必须覆盖构建、发布和回滚流水线要点,与 software-project.md 的 CI/CD 章节对齐。

流水线阶段

| 阶段 | 输入 | 输出 | 验证 | | - | - | - | - | | 构建 | 源码、依赖锁文件、构建配置 | 静态资源包/CMS 模板包 | 构建成功且产物校验通过 | | 测试 | 产物 + 测试套件 | 测试报告(通过率/覆盖率) | 单元+集成+端到端测试通过 | | 静态检查 | 源码 | lint/类型检查/安全扫描报告 | 无阻塞级问题 | | 部署 | 产物 + 环境配置 | 线上版本 | 健康检查通过,旧版本可回退 | | 验证 | 线上环境 | 烟雾测试结果 | 关键页面可达,错误率低于阈值 | | 回滚 | 上一稳定版本 | 线上版本回退 | 健康检查通过 |

强制要求

  • 依赖锁定:构建必须基于 composer.lock / package-lock.json / pnpm-lock.yaml 等锁文件,禁止使用 latest / * / dev-main
  • 环境隔离:构建、测试、生产环境配置必须分离,敏感配置通过环境变量注入,不写入代码库
  • 产物可追溯:每次构建产物必须关联 commit、构建时间、构建号、依赖版本
  • 发布可回滚:每次发布必须保留前一稳定版本,并能在 5 分钟内回退
  • 健康检查:部署后必须执行烟雾测试,验证首页、登录、表单、搜索、后台等关键路径可达
  • 变更窗口:业务高峰期禁止发布,DDL/数据库迁移单独走审核流程

失败回退

| 失败场景 | 回退动作 | | - | - | | 构建失败 | 不进入测试;修复依赖或构建配置后重试 | | 测试失败 | 不进入部署;标注失败用例并修复 | | 部署后健康检查失败 | 立即触发自动回滚到上一稳定版本 | | 回滚后仍失败 | 切换到应急流程,通知负责人,保留现场日志 |

第九步:部署上线与验收交接

  • 部署到目标环境,记录发布版本和变更文件
  • 执行上线冒烟测试:访问、登录、表单、搜索、后台、核心页面
  • 接入统计和监控:PV/UV、表单转化、错误日志、访问日志
  • 交付材料:后台账号、操作手册、部署说明、回滚说明、源码路径
  • 用户验收:验收人、验收时间、验收结论、遗留问题

第十步:运维沉淀与项目记忆

调用 project-memory-management 记录:

  • 技术栈、CMS版本、PHP版本、服务器、数据库、部署路径
  • 站点地图、内容模型、模板变量、组件规范
  • 上线记录、回滚方案、账号交接、备份策略
  • 已知限制、后续优化、运维巡检清单

输出格式

## 网站项目交付方案

### 1. 项目启动

- **网站类型**: [类型]
- **业务目标**: [目标]
- **成功标准**: [标准]
- **上线要求**: [时间/域名/环境]

### 2. 站点地图

| 页面/栏目 | URL | 内容模型 | 权限 | SEO要求 |
| --------- | --- | --------------- | ---- | -------------- |
| 首页 | / | 配置项/推荐内容 | 公开 | TDK/结构化数据 |

### 3. 页面与功能清单

| 模块 | 页面/功能 | 优先级 | 验收标准 |
| ------ | --------- | -------- | ------------ |
| [模块] | [功能] | P0/P1/P2 | [可验证标准] |

### 4. 技术方案

| 层级 | 方案 | 说明 |
| -------- | ----------- | ------ |
| 前端 | [技术/模板] | [说明] |
| CMS/后端 | [技术] | [说明] |
| 数据库 | [技术] | [说明] |
| 部署 | [环境] | [说明] |

### 5. Wave执行计划

| Wave | 任务 | 依赖 | 验证 |
| ------ | ------ | ---- | ------------- |
| Wave 1 | [任务] | 无 | [命令/检查项] |

### 6. 上线检查

| 检查项 | 状态 | 证据 |
| ------------ | ----------- | ------------------------ |
| 域名/SSL | 通过/未通过 | [证据] |
| SEO基础 | 通过/未通过 | [证据] |
| 性能 | 通过/未通过 | [证据] |
| 长任务防卡死 | 通过/未通过 | [Init/Step/Poll验证证据] |
| 安全 | 通过/未通过 | [证据] |
| 备份/回滚 | 通过/未通过 | [证据] |

### 7. 交付材料

- 后台账号:
- 操作手册:
- 部署说明:
- 回滚说明:
- 已知限制:

质量标准

  • 必须先定义网站类型、业务目标和成功标准,再拆任务
  • 必须包含站点地图、页面清单、内容模型和权限模型
  • 必须包含前端设计、CMS/API/数据方案、测试、安全、SEO、性能、部署、验收、运维
  • 涉及批量处理、静态生成、采集同步、导入导出等长任务时,必须包含 Init → Step → Poll 防卡死设计
  • 每个 Wave 必须有验证方法,不能只写“完成开发”
  • 上线前必须有备份和回滚方案
  • 交付必须包含后台账号、操作说明、部署说明和已知限制
  • 无验证证据不得标记为完成

失败回退机制

| 步骤 | 失败条件 | 回退目标 | 最大重试 | 不可恢复时升级路径 | | - | - | - | - | - | | 第一步:项目启动与范围确认 | 目标或范围不清 | 输出范围澄清清单 | 2 | 等待业务方确认 | | 第二步:需求规格与站点规划 | 页面/栏目不完整 | 生成最小站点地图草案 | 1 | 要求用户补充栏目和页面 | | 第三步:内容与 SEO 策略 | 文案素材缺失 | 用内容占位清单替代正式内容 | 1 | 标注素材阻塞 | | 第四步:前端设计与交互方案 | 无品牌规范 | 使用中性设计 token | 1 | 要求提供参考站/品牌色 | | 第五步:技术方案与数据/API设计 | CMS/技术栈不确定 | 进入技术选型或CMS探测 | 1 | 输出选型矩阵由用户决策 | | 第六步:任务拆解与 Wave 执行 | 任务依赖复杂 | 调用任务拆解按模块重组 Wave | 2 | 输出依赖图并拆分阶段 | | 第七步:测试、安全与兼容验证 | 环境不可用 | 输出手动验证清单 | 1 | 标注未实测项 | | 第八步:性能优化与上线准备 | 生产环境信息缺失 | 输出上线前置条件清单 | 1 | 等待运维/用户补充 | | 第九步:部署上线与验收交接 | 无上线权限 | 输出部署包和部署步骤 | 1 | 由有权限人员执行 | | 第十步:运维沉淀与项目记忆 | 项目记忆不可用 | 输出交付记录到本地文件 | 1 | 标注未沉淀 |

关联 reference

  • software-project(软件项目总控)— 若项目不属于网站/CMS/营销页范畴(如 API 服务、CLI 工具、后台模块、数据脚本),转入 software-project.md 总控
  • spec-driven-development(Spec驱动开发)— 生成需求规格、Scenario 和验收标准
  • task-decomposition-and-execution(任务拆解与执行)— 将网站阶段拆成 Wave 并逐步验证
  • frontend-design(前端设计)— 输出 UI/UX、响应式、交互状态和浏览器验证方案
  • cms-development(CMS二次开发)— 处理 PHP+MySQL CMS、模板、插件、数据库和安全规范
  • mysql-database(MySQL数据库)— 处理表结构、索引、SQL安全、慢查询、迁移回滚和数据安全
  • api-design(API设计)— 设计接口、认证、错误码和分页规范
  • code-generation(代码生成)— 生成页面、组件、接口和业务代码
  • code-review(代码审查)— 审查安全、性能、可维护性和规范符合性
  • test-generation(测试用例生成)— 生成单元、集成、端到端和回归测试
  • doc-generation(文档生成)— 生成 README、部署说明、操作手册和交付文档
  • project-memory-management(项目记忆管理)— 沉淀站点配置、部署路径、运维和交付信息