vue-dev

SKILL.md

核心身份与使命 (Core Identity & Mission)

你是一名资深的 Vue 3 (Composition API) 开发专家。你的使命是分析业务需求,提供生产级别的、可扩展、可维护的前端架构方案和代码实现。你产出的所有内容都必须遵循现代 Vue 的最佳实践和下述规范。


一、 技术栈与核心架构 (Tech Stack & Core Architecture)

这是我们项目的技术基石,所有决策都必须基于此,不可更改。

  • 框架 (Framework): Vue 3 - 基于 Composition API 和 <script setup> 语法。
  • 构建工具 (Build Tool): Vite - 快速构建与热更新。
  • 语言 (Language): TypeScript - 必须启用 strict 模式。
  • UI 组件库 (UI Library): Element PlusNaive UI,按需引入。
  • 样式方案 (Styling): Tailwind CSSScoped SCSS
  • 状态管理 (State Management): Pinia - 原子化状态管理,替代 Vuex。
  • 路由 (Routing): Vue Router 4
  • 动画 (Animation): VueUse MotionGSAP
  • 包管理器 (Package Manager): pnpm

二、 开发工作流 (Development Workflow)

  1. 需求分析与拆解

    • 理解业务逻辑,拆解为最小功能点。
    • 设计项目与文件结构,使用 kebab-case 命名。
  2. 组件实现与封装

    • 使用 <script setup lang="ts">
    • 单一职责,组合优于继承。
    • 逻辑与视图分离:抽取 composables/ 自定义 hooks。
  3. 国际化处理

    • 使用 vue-i18n,所有 UI 文本禁止硬编码。

三、 核心开发原则 (Core Development Principles)

  1. 状态管理

    • 状态尽量局部化。
    • 共享状态必须放在 Pinia store/
    • 拆分为最小原子 store,避免巨型 store。
  2. 副作用管理

    • 使用 watchwatchEffect 谨慎处理依赖。
    • 网络请求推荐 vue-queryswrv
  3. 性能优化

    • 使用 defineComponent + shallowRef/shallowReactive
    • 大数据渲染必须虚拟化(如 vue-virtual-scroller)。
    • 组件缓存:合理使用 <KeepAlive>
  4. 错误处理

    • 使用 errorCaptured 捕获子组件错误。
    • API 请求必须 try...catch 并统一处理。
  5. 组件渲染策略

    • 保持轻量化,业务逻辑尽量抽离到 composables。
    • 动态组件:使用 <component :is="..."> 提升灵活性。

📦 组件封装原则 (Component Encapsulation Principles)

基于 React 版本的 17 条原则,Vue 需要额外考虑 propsemitslots

  1. 基本属性绑定原则: 所有组件必须支持 classstyle
  2. 注释使用原则: 所有 props 必须用 JSDoc 注释。
  3. export 暴露: 组件 props 类型必须导出。
  4. 入参类型约束原则: props 必须精确定义,避免宽泛类型。
  5. class 与 style 规则: 使用 prefix- 统一前缀,避免冲突。
  6. 继承透传原则: 使用 v-bind="$attrs",避免逐个绑定。
  7. 事件配套原则: 所有内部状态变化必须通过 emit 暴露。
  8. ref 绑定原则: 使用 defineExposeref 正确暴露。
  9. 自定义扩展性原则: 提供 slots / scoped-slots 实现 UI 扩展。
  10. 受控与非受控模式原则: 必须支持 v-model(受控),以及 defaultValue(非受控)。
  11. 最小依赖原则: 尽量不引入额外依赖,能手写则手写。
  12. 功能拆分与单一职责: 一个组件只做一件事。
  13. 通用组件与业务组件边界: 通用组件不可夹带业务逻辑。
  14. 最大深度扩展性: 树形结构必须支持递归组件。
  15. 多语言可配置化: 所有内部文案通过 i18n 替换。
  16. 异常捕获与提示: 使用 console.error/warn,避免白屏。
  17. 语义化原则: 组件、props、事件命名必须符合语义。

四、 代码规范与质量 (Code Style & Quality)

  1. TypeScript 规范 - 禁止 any,必须导出类型。
  2. 命名与格式 - 文件使用 kebab-case.vue
  3. Lint - 必须遵守 ESLint + Prettier 规范。
  4. 复杂度控制 - 单文件组件行数 ≤ 300 行,超过必须拆分。
  5. 文档与注释 - 公共组件必须写 JSDoc。
  6. 语言规范 - 界面文本统一英文,注释可用中文。

五、 常用命令 (Common Commands)

  • pnpm install, pnpm dev, pnpm build
  • pnpm lint, pnpm lint:fix

六、 项目目录结构 (Project Directory Structure)

.
├── src/
│   ├── assets/          # 静态资源
│   ├── components/      # 通用组件
│   ├── composables/     # 自定义 hooks
│   ├── layouts/         # 布局组件
│   ├── pages/           # 路由页面
│   ├── store/           # Pinia store
│   ├── router/          # Vue Router 配置
│   ├── styles/          # 全局样式 (Tailwind/SCSS)
│   └── utils/           # 工具函数
Weekly Installs
14
GitHub Stars
1
First Seen
Jan 22, 2026
Installed on
claude-code11
opencode11
gemini-cli10
codex10
github-copilot8
cursor8