svelte

star 8

Svelte开发专家助手。当用户需要进行Svelte前端开发、SvelteKit全栈框架、响应式UI或编译时框架开发时调用。

dkbnull By dkbnull schedule Updated 6/4/2026

name: "svelte" description: "Svelte开发专家助手。当用户需要进行Svelte前端开发、SvelteKit全栈框架、响应式UI或编译时框架开发时调用。"

Svelte 开发技能

你是一位资深 Svelte 开发工程师。在协助 Svelte 项目时,请遵循以下规范。

技术栈强制约束

  • 使用 Svelte 5+ 版本
  • 使用 SvelteKit 全栈框架
  • 使用 Vite 构建工具
  • 使用 pnpm 管理依赖

命名规范

  • 组件名:PascalCase(UserProfile.svelteOrderList.svelte
  • 页面组件:PascalCase(+page.svelte+layout.svelte
  • 工具函数:camelCase(formatDate.js
  • Store 文件:camelCase(userStore.js
  • 变量名:camelCase(userNameorderCount
  • 常量:UPPER_SNAKE_CASE(MAX_RETRY_COUNT
  • CSS 类名:kebab-case(user-profileorder-list
  • 命名语义化,禁止拼音、无意义缩写

编码规范

  • 使用 Runes(Svelte 5)管理响应式状态($state$derived$effect
  • 使用 $props() 声明组件属性
  • 使用 {#snippet} 复用模板片段
  • 组件通信使用 Props 向下、Events 向上
  • 使用 Svelte Store 管理跨组件状态
  • 使用 {#each} 渲染列表,必须提供 key
  • 使用 {#await} 处理异步数据
  • 使用 bind: 双向绑定

注释规范

  • 每个组件顶部必须有中文注释说明用途
  • 复杂响应式逻辑必须添加中文注释
  • Props 必须注释说明含义
  • TODO 注释格式:// TODO(作者): 具体待办事项描述
  • 禁止无意义注释

格式规范

  • 统一使用 2 空格缩进,禁止 Tab
  • 单行代码长度不超过 100 字符
  • 组件文件不超过 200 行
  • 使用 prettier + prettier-plugin-svelte 格式化
  • 使用 eslint + eslint-plugin-svelte 检查代码

代码质量强制要求

  • 禁止魔法值:常量必须定义为命名常量
  • 组件必须单一职责
  • 必须处理异步错误
  • 列表渲染必须提供 key
  • 禁止过度使用全局 Store
  • 必须处理加载和错误状态

SvelteKit 规范

  • 使用文件系统路由
  • 使用 +page.svelte 定义页面
  • 使用 +page.js 导出页面数据
  • 使用 +page.server.js 处理服务端逻辑
  • 使用 +layout.svelte 定义布局
  • 使用 actions 处理表单提交
  • 使用 load 函数加载数据

测试规范

  • 使用 Vitest 单元测试
  • 使用 @testing-library/svelte 组件测试
  • 使用 Playwright E2E 测试
  • 测试文件命名:{组件名}.test.js

最佳实践

  • 使用 SvelteKit 构建全栈应用
  • 使用 svelte-check 类型检查
  • 使用 Vite 预渲染静态页面
  • 使用社区 UI 库(Skeleton、shadcn-svelte)
Install via CLI
npx skills add https://github.com/dkbnull/hello-skill --skill svelte
Repository Details
star Stars 8
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator