uw-analyze-frontend 是 nearform/unwind 项目中的一项分析技能,用于对应用的前端/UI 层进行系统化文档编写。其触发场景是分析前端/UI 层,包括组件、状态管理、路由和 API 集成;如果项目没有前端,则该技能是可选的,可以跳过。
主要能力
该技能把前端分析结果写入 docs/unwind/layers/frontend/ 目录,形成一组结构化文档:index.md 提供路由概览、页面数量和技术栈,此外还有 routes.md(路由结构)、pages.md(页面用途与用户流程,标记为必须)、state.md(状态管理)和 api-hooks.md(API 集成点)。对于页面数超过 20 个的大型代码库,按功能拆分文档,例如 auth-feature.md、dashboard-feature.md 等。
分析原则
文档需遵循 analysis-principles.md 中的原则:完整性、机器可读、链接到源码、不带评论、增量写入。分析过程采用增量写入方式:先创建目录并写入初始 index.md(各节标记为 pending),然后依次分析路由、页面、状态和 API 钩子,每完成一节立即写入对应文件并更新 index.md,最后在 index.md 中补充技术栈、页面数量和组件树。
文档重点
该技能强调记录“做什么”而非“如何实现”,目标是在任意框架中重建功能对等版本。必须记录的内容包括:用户流程(用户能做什么,逐步描述)、页面用途(每个页面完成什么)、状态持久化(哪些状态在刷新后保留,如认证令牌、选中组织、主题偏好)、权限门禁(哪些操作需要授权)、API 交互(获取或修改哪些数据)。建议记录的内容包括组件层级、路由结构、错误边界和加载状态。明确不应记录的内容包括 CSS 类名、React Hook 实现、组件库用法和构建配置等技术特定细节。
页面文档格式
每个页面需包含用途、用户流程、权限和 API 依赖。例如 BudgetViewPage 记录其查看和编辑预算分配、与快照比较的用途,列出选择日历和期间筛选、查看分配网格、编辑、比较、发布等用户流程,说明查看/编辑/发布各自的角色权限,以及 GET /api/budgets/:id、PUT /api/budgets/:id、GET /api/snapshots 等 API 依赖。
强制标签
每个页面、流程和状态要求的标题都必须带 [MUST]、[SHOULD] 或 [DON'T] 标签。前端层的默认分类为:用户流程、页面用途、权限要求、API 依赖标为 [MUST];状态管理模式、加载状态、错误边界标为 [SHOULD];CSS 类名、组件库用法、构建配置标为 [DON'T]。
刷新模式
如果 docs/unwind/layers/frontend/ 已存在,技能会比较当前状态,并在 index.md 中新增“## Changes Since Last Review”一节。
适用场景与限制
该技能适用于需要梳理并文档化前端架构、为跨框架重建或功能对等迁移提供依据的场景。文档中示例的技术栈为 React 18.2.0、TypeScript、Redux Toolkit、react-router-dom、Tailwind 和 Vite,但这些属于示例而非强制要求。资料未提供安装命令、收费、价格或平台支持信息,暂未提供;该技能本身不包含自动化代码提取工具的具体用法说明。