with one click
vue-comment
// 统一 Vue 与 wot-ui 组件源码中的注释和命名规范。用户要求规范组件 Props 注释、函数命名、类型说明、变量命名或在创建组件后补齐代码注释时调用;不负责 Demo、测试和文档迁移。
// 统一 Vue 与 wot-ui 组件源码中的注释和命名规范。用户要求规范组件 Props 注释、函数命名、类型说明、变量命名或在创建组件后补齐代码注释时调用;不负责 Demo、测试和文档迁移。
优化 subPages 演示页面中的样式,将硬编码的颜色、字号、间距、圆角等替换为 wot-ui 设计系统语义变量。允许直接使用已全局注入的 variable.scss Sass 变量,也允许使用 CSS 自定义属性;不需要额外引入 variable.scss。消除手写的暗色模式覆盖块,统一使用语义变量实现自适应主题。同时将 class 命名统一为 BEM 规范。
只做组件文档与源码实现的一致性核对或最小修正。用户要求核对 props、events、slots、methods、默认值、命名是否准确,但未要求迁移文档结构、重排 Demo 或升级到新规范时调用。
在 wot-ui 项目中创建新组件骨架与必要注册点。用户要求从零创建组件源码、补齐 types.vue.scss 结构或注册全局组件类型时调用;不负责 Demo 页、测试和文档迁移。
为组件创建演示页面并统一组织结构。用户要求新建/重构组件 Demo、统一展示顺序或用 demo-group 与 demo-group-item 编排时调用。
为 wot-ui 生成单文件主题 SCSS,并在 App.vue 中挂载语义变量。
迁移组件 Markdown 文档到新规范。用户明确要求迁移文档结构、重排 Demo 章节、合并 Attributes/Options 列、迁移最低版本标记或升级旧文档格式时调用;不用于仅做一致性核对。
| name | vue-comment |
| description | 统一 Vue 与 wot-ui 组件源码中的注释和命名规范。用户要求规范组件 Props 注释、函数命名、类型说明、变量命名或在创建组件后补齐代码注释时调用;不负责 Demo、测试和文档迁移。 |
本 Skill 旨在统一 Vue 项目中的代码注释格式与命名约定,建立标准化的开发规范。不仅涵盖组件 Props,还包括函数、变量、类型定义以及文件目录的命名规则。
默认遵循 wot-ui-component-baseline 中的共享约束。
create-component。create-demo-page。migrate-component-doc。types.ts、公共函数和类型定义注释。遵循 "约定优于配置" 原则,保持命名的一致性与语义化。
my-component.vue, user-profile.vue。date-utils.ts, api-client.ts。components/, utils/, user-center/。userInfo, isLoading。
is, has, should 开头,如 isVisible。MAX_RETRY_COUNT, DEFAULT_THEME。get, set, fetch, handle, on, render 等。
handle: 用于事件处理,如 handleClick。fetch/request: 用于异步请求,如 fetchUserData。get: 用于获取数据或计算结果,如 getFormattedDate。User, HttpClient。UserProps, TableColumn。所有注释应简洁明了,使用中文(除非项目强制全英文),并保持语意通顺。
组件 Props 注释是源码可读性与 API 提示的重要来源。
基本格式:
/**
* 属性简短描述
* 类型: xxx
* 可选值: A | B | C
* 默认值: xxx
*/
规则:
/** ... */)。类型: TypeName。可选值: 'a' | 'b'。默认值: value。若是继承属性,写 默认值: 继承自 xxx。关键业务逻辑函数、公共工具函数必须添加 JSDoc 注释。
基本格式:
/**
* 函数功能简述
* @param {Type} paramName 参数说明
* @returns {Type} 返回值说明
*/
规则:
@param: 描述参数名、类型及含义。@returns: 描述返回值类型及含义 (如果是 void 可省略)。规则:
// ... 放在变量声明行上方或右侧。规则:
/** ... */) 以便编辑器提示,或使用单行注释。// types.ts
/**
* 用户信息接口
*/
export interface UserInfo {
/** 用户 ID */
id: number
/** 用户名 */
name: string
/**
* 用户角色
* 可选值: 'admin' | 'editor' | 'guest'
*/
role: 'admin' | 'editor' | 'guest'
}
// my-component.vue (Script Setup)
import { defineProps } from 'vue'
import type { UserInfo } from './types'
// 常量定义
const MAX_ITEM_COUNT = 10
export const myComponentProps = {
/**
* 绑定的值
* 类型: string | number
* 默认值: ''
*/
modelValue: {
type: [String, Number],
default: ''
},
/**
* 按钮类型
* 可选值: 'primary' | 'success' | 'warning'
* 默认值: 'primary'
*/
type: {
type: String,
default: 'primary'
},
/**
* 是否禁用
* 默认值: false
*/
disabled: Boolean
}
// 变量定义
const isVisible = ref(false)
/**
* 处理点击事件,提交用户信息
* @param {UserInfo} user 当前操作的用户
* @returns {Promise<void>}
*/
const handleSubmit = async (user: UserInfo) => {
if (user.role === 'guest') {
return
}
// ... logic
}
执行此技能后,代码将符合上述规范: