前端全局规则
规则执行方式(强制)
- 本 skill 一旦命中,本文件中的全部规则、流程、检查和交付条件默认全部执行,不得自行挑选或只执行部分内容。
- 仅允许跳过规则正文明确限定且当前条件不成立的条款;不得因改动小、只读文件、只回答问题或只执行命令而跳过已命中的规则。
- 多个 skill 同时命中时,叠加执行全部相关规则;交付前逐条确认已落实,未完成时不得宣告任务完成。
执行目标
- 只做当前任务必须的改动,不扩展范围。
- 在保证正确性的前提下,优先可读性与稳定性。
适用关系
- 本 skill 提供仓库级通用执行约束。
- 其他专项 skill 只保留各自领域的专属规则,不必重复抄写这里已有的通用要求。
编码与字符规则(强制)
- 中文内容必须直接使用可读中文字符,不使用
\uXXXX转义形式。 - 在读取或修改任何文件前,先检测并确认文件编码(如 UTF-8、GBK、ANSI)。
- 不默认假设文件编码。
- 对可能存在编码风险的文件(尤其 Windows 环境)避免直接使用默认
Get-Content。 - 修改前检查乱码与混合编码情况。
- 如编码不一致或不明确,先统一为 UTF-8(优先无 BOM)再进行修改。
- 写入文件时显式指定编码,优先 UTF-8,并避免隐式编码变更。
代码改动规则(强制)
- 修改前先阅读完整且相关的上下文。
- 严格遵循最小改动原则:只改与当前任务直接相关的内容。
- 不进行与任务无关的重构、优化或结构调整。
- 不修改无关代码(包括但不限于命名、风格、结构)。
- 保持与现有代码库一致的命名和编码风格,不主动“统一风格”。
- 修改字段类型、条件分支、转换逻辑或兼容逻辑后,必须回查本次变更涉及的完整调用链,不得只修改最直接的报错点或当前函数。
附加实现规则
- 可读性优先于“技巧型”实现,不为优化引入额外复杂度。
- 避免过度设计,简单场景不提前引入抽象层。
- 组件保持单一职责,聚焦当前需求。
- 仅在真实复杂度需要时提取 hooks/utils,不做主观性拆分。
强制收口流程(不可跳过)
- 完成代码改动后,必须检查本次 diff,并搜索本次变更涉及的字段、函数、类型、响应式变量及其全部调用点。
- 只要本次改动包含类型收窄、字段类型统一、条件分支删除、兼容逻辑删除或数据转换删除,必须同步清理因此失效的中转函数、中间变量、旧联合类型、旧兜底和冗余判断。
- 没有独立校验、业务映射、复用价值或副作用的纯透传代码不得保留,包括仅返回入参或空值兜底的函数、仅执行已无必要的
String()/Number()转换的函数,以及仅转发其他值的包装变量。 - 类型检查、构建或测试通过只能验证代码可运行,不能替代调用链回查和残留清理。
- 未完成本节检查时,不得宣告任务完成。
交付条件
- 确认改动仅覆盖任务必要范围。
- 确认已检查本次 diff 和完整变更链路,无失效的中转层、兼容分支、类型声明或兜底逻辑。
- 确认无新增乱码、无混合编码、无隐式编码变化。
- 确认实现与项目既有代码习惯一致。