06185b67b4
- .agents: 新增中文提交与注释同步 skill 及项目索引 - AGENTS.md: 增加本地协作规则和 skill 入口 - README.md: 同步 Agent 文档入口
3.0 KiB
3.0 KiB
name, description
| name | description |
|---|---|
| header-comment-sync | 在本仓库创建或修改 ts、tsx、js、jsx、mjs、cjs、vue、astro 文件时使用,保持中文文件头、导出声明、复杂逻辑和风险边界注释准确。 |
注释规范与同步
目标
让下一次进入文件的维护者能快速理解当前职责、关键约束和风险边界。注释解释“为什么”和“边界”,不复述代码表面行为。
适用场景
- 新增或修改页面入口、Three.js 场景、动效编排、渲染、数据、工具或脚本文件。
- 修改滚动时间线、WebGL shader、响应式布局、性能降级、 reduced-motion 或首屏渲染逻辑。
- 发现旧注释与当前代码行为不一致。
核心原则
- 注释使用中文,描述当前事实。
- 简单局部变量不强行注释。
- 文件头说明文件当前职责,1 到 2 行即可。
- 导出的函数、类、类型、常量、配置对象和复杂模块方法应有用途说明。
- 复杂动画相位、shader uniform、滚动联动、性能降级和浏览器兼容边界需要短注释。
- TODO/FIXME 必须说明触发条件、剩余动作和可删除条件。
文件头规则
- 每个适用文件都要有准确文件头。
- 如果文件必须以
"use client"或"use server"开头,文件头注释放在指令之后、导入之前。 - Vue 文件不为了补头注释重排模板结构;在
<script>或<script setup>顶部补当前职责说明。 - 文件头不要写“本文件用于...”这类空话,直接说明业务角色。
/**
* 装配作品集滚动叙事、WebGL 背景和移动端性能降级策略。
*/
JSDoc 与局部注释
- 导出的函数、类、类型、常量和配置对象优先使用 JSDoc。
- 非导出但复杂的解析、格式化、请求构造、动画相位派生、回调工厂也要补。
- 只在局部逻辑确实有约束时使用行内注释,例如性能降级、兼容字段、shader 参数和临时迁移。
- 不要在每一行、简单 DOM 拼装、短生命周期变量上堆注释。
触达文件补齐
- 不要求为了注释规范单独全仓扫描。
- 只要本次任务修改了适用文件,就顺手补齐明显缺失或过时的文件头、导出声明、共享类型、复杂回调和协议注释。
- 大文件可按触达区域优先,但同文件内裸露的顶层导出和共享类型应一起补。
- 如果一次补齐整个大文件会明显超出需求范围,至少补齐当前需求链路和顶层声明,并在交付说明里说明剩余范围。
不推荐的写法
- 注释只写“处理数据”“点击事件”这种无信息内容。
- 注释描述旧方案,和当前代码矛盾。
- 为简单 DOM 拼装、简单赋值、短生命周期变量写注释。
- 用英文口号、emoji 或情绪化标记替代项目内中文说明。
落地检查
- 修改后的文件头是否准确。
- 新增/修改的导出声明是否有必要说明。
- 复杂逻辑是否解释了约束而不是复述代码。
- 旧注释是否仍然可信。