Files

4.1 KiB
Raw Permalink Blame History

项目检查与规则维护

只有任务需要新增或调整 Lint、测试、CI 或项目检查规则时读取;只读评审和普通局部实现不读。

原则

Skill 不携带通用执行脚本。检查规则、测试和 CI 配置必须根据当前项目的框架、组件体系和工具链生成,并保存在项目仓库中。

只读评审不得执行 Onboarding、安装依赖或修改配置。用户授权实现时才允许接入或调整自动化。

首次接入

首次在项目中实施 oil-frontend 时,先检查:

  • 语言、前端框架和包管理器;
  • 已有 lint、CSS 检查、组件测试和 CI
  • 共享组件、样式和页面目录;
  • 是否已存在前端规则、命令或回归测试。

优先扩展已有工具:

问题类型 项目原生落点
JSX、模板和导入结构 ESLint 或当前模板 linter
CSS 归属和值约束 Stylelint没有时才新增项目内轻量检查
组件默认行为 组件实现与组件测试
数据集合、忙碌范围和提交边界 组件测试、集成测试或状态模型测试
信息价值和层级判断 Agent Review不程序化

首次接入只添加当前技术栈能够稳定判断的最小规则集。已有存量违规先报告和分批修复,不通过大量例外让规则失效,也不直接把噪声规则接入 CI。

项目已经定义浏览组件和编辑容器后,可以优先检查两类稳定问题:资源浏览组件内直接平铺表单控件,以及使用 readOnly / disabled 输入框展示普通信息。可编辑工作表必须由项目声明的工作表组件或含义稳定的标记承载;不要用逐行忽略注释放行。

项目已经提供共享 Button、EmptyState 和加载组件后可以检查使用按钮的位置手工插入加载动画、Loading 嵌套在 EmptyState以及页面绕过共享组件声明独立加载动画。只检查项目能够明确识别的组件和容器不按类名包含 loading 做宽泛拦截。

项目已经定义共享弹层、资源选择器和分页查询后,可以检查:页面自行实现浮层定位、选择器直接复用浏览分页结果、单项操作复用全局 busy以及筛选变化后仍保留不可见批量选择。优先用组件或状态测试保护行为不根据组件名和变量名做猜测。

持续演进

后续每次发现真实产品前端问题时:

  1. 修复共享组件、父布局或数据流中真正出错的位置;
  2. 判断该问题能否由源码结构、组件行为或页面几何稳定识别;
  3. 搜索同类使用位置和历史问题,确认不是单个页面偶然情况;
  4. 选择项目已有的 ESLint、CSS 检查或组件测试;
  5. 增加一个修复前失败的回归样例,并保留至少一个合法样例;
  6. 扫描存量代码;规则干净后再设为 error存在合理例外时收窄规则
  7. 将检查接入项目现有 lint、test 和 CI不建立第二套重复入口。

发现误报、漏报或迫使使用组件的页面增加例外时,立即优化或降级规则,不能为了保留规则而扭曲组件设计。

规则门槛

只有同时满足以下条件才新增或加强规则:

  • 输入和失败条件可以明确描述;
  • 对多个页面、组件或状态使用同一判断;
  • 不依赖页面名称、产品文案或一次截图;
  • 不使用固定列数、固定行高或固定文案长度代替 UX 判断;
  • 不全面禁止 CSS 数值、宽度或高度;只拦截项目能够确认属于实例补丁、绕过统一设计变量或破坏共享布局规则的写法;
  • 能提供命中样例和合法样例;
  • 误报不会迫使使用组件的页面增加局部样式或忽略注释。

能由共享组件默认行为彻底消除的问题,优先修组件;只有需要防止使用组件的页面绕过本规范时才补规则。

完成条件

首次接入或规则更新完成后,报告:

  • 使用了项目中的哪个原生工具;
  • 新增或修改了哪些规则及其保护的回归;
  • 扫描了哪些范围;
  • 存量违规和未覆盖情况;
  • 哪些检查已进入 CI哪些仍为 warning。