跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScriptAI大前端

前端通用 AI Rules 定义:适配 Cursor、Trae 等主流工具

这是一套经过工程实践验证的前端通用 AI Rules 模板,涵盖 TypeScript 严格模式、组件规范、Tailwind 样式及性能红线。内容适配 Cursor、Trae 等主流 AI 编程助手,旨在通过标准化指令提升代码质量与可维护性,减少重复劳动。

追风少年发布于 2026/4/9更新于 2026/5/2216 浏览

前端通用 AI Rules 定义

这套通用前端 Rules 模板,是在近期工程实践中反复打磨后的结果。你可以直接将其保存为 .cursor/rules.md,或粘贴到 Trae、Qoder、Windsurf 等工具的自定义指令区域。

核心原则(永远优先遵守)

  1. 语言选择:优先使用 TypeScript(严格模式),避免隐式 any。
  2. 组件范式:优先函数式 + hooks 写法,class 组件仅在极特殊场景保留。
  3. 单一职责:组件尽量小而纯,单个文件控制在 300–400 行以内。
  4. 状态管理:能用 useState + useReducer 解决就不引入重型库。
  5. 样式方案:优先 Tailwind CSS + shadcn/ui / Radix UI / Headless UI 组合。
  6. 代码规范:严格遵循 ESLint + Prettier + typescript-eslint 推荐规则。
  7. 注释要求:关键工具函数、hooks、复杂组件必须写 JSDoc / TSDoc 注释。
  8. 语法特性:优先使用现代语法(可选链、nullish 合并、top-level await 等)。

文件与目录命名规范

  • 组件文件:PascalCase.tsx(例:UserProfileCard.tsx)
  • Hooks 文件:camelCase.ts(例:useDebounce.ts)
  • 工具函数:camelCase.ts(例:formatCurrency.ts)
  • 常量:UPPER_SNAKE_CASE 或 camelCase(视语义而定)
  • 类型定义:统一放在 types/ 或同文件内以 I、T、S 前缀
  • 测试文件:同名 + .test.tsx / .spec.tsx
  • Storybook 文件:同名 + .stories.tsx

组件编写规范

所有组件必须导出 Props 类型(interface 或 type)。优先使用解构 + 默认值写法,显式声明 children?: ReactNode。动态 className 建议使用 clsx 或 cva。

注意业务逻辑不要写在组件内部超过 30 行,应抽离到 hooks 或 utils。所有副作用必须放在 useEffect 中,并明确依赖数组。自定义 hooks 命名必须以 use 开头,且禁止在 render 阶段产生副作用(如 setState、dispatch 等)。

推荐的组件 Props 写法

interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
  variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive'
  size?: 'sm' | 'default' | 'lg' | 'icon'
  asChild?: boolean
  loading?: boolean
  leftIcon?: React.ReactNode
  rightIcon?: React.ReactNode
}

const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
  ({ className, variant = 'primary', size = 'default', asChild = false, loading = false, leftIcon, rightIcon, children, ...props }, ref) => {
    // 实现逻辑
  }
)

Button.displayName = 'Button'

Tailwind + shadcn/ui 使用规范

  1. 禁止 inline style(style={{}}),全部走 Tailwind。
  2. 复杂组件样式使用 cva + cn 组合。
  3. 颜色一律使用主题变量(theme.colors.*)或 CSS 变量。
  4. 响应式优先 mobile-first(sm: md: lg: xl: 2xl:)。
  5. 暗黑模式支持 class 策略(dark: 前缀)。

性能与可维护性红线

  • 禁止在循环/渲染中使用匿名函数作为 props,这会导致子组件重复渲染。
  • useMemo / useCallback 只在真正有性能问题时使用,先测再加。
  • 列表渲染必须加 key,且 key 稳定(不要用 index 做 key)。
  • 图片必须设置 width/height 防止布局偏移,或使用 next/image。
  • 禁止直接操作 DOM(document.getElementById 等),用 ref。

React Query / TanStack Query 规范

  1. 所有服务端数据请求一律走 useQuery / useMutation。
  2. queryKey 必须是数组且稳定([...deps])。
  3. 全局配置 staleTime / gcTime / retry 等默认值。
  4. 错误处理统一走 ErrorBoundary + toast。

测试规范

单元测试覆盖 hooks、纯函数、工具函数(vitest + @testing-library)。组件测试侧重交互测试(userEvent),优先测试用户行为而非实现细节。建议至少覆盖 80% 的核心业务组件和 hooks。

禁止项(红线)

  1. 禁止 console.log / console.error 留在生产代码(改用 logger 或移除)。
  2. 禁止 any 类型(除非极特殊场景并加 @ts-expect-error 说明)。
  3. 禁止 ! 非空断言(改用 ? 可选链 + 类型保护)。
  4. 禁止直接 import 第三方库的 css(应走 postcss / tailwind)。
  5. 禁止写超过三层的条件嵌套(抽成函数或单独组件)。

最后一条终极原则:写给人看的代码,让 AI 帮你生成,让测试帮你验证,让未来的自己能快速理解。

目录

  1. 前端通用 AI Rules 定义
  2. 核心原则(永远优先遵守)
  3. 文件与目录命名规范
  4. 组件编写规范
  5. 推荐的组件 Props 写法
  6. Tailwind + shadcn/ui 使用规范
  7. 性能与可维护性红线
  8. React Query / TanStack Query 规范
  9. 测试规范
  10. 禁止项(红线)
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • AI 写作辅助平台测评:炼字工坊与蛙蛙写作
  • Spring AOP 核心概念与实战应用详解
  • Lostlife2.0 整合 Llama-Factory 引擎重塑 NPC 对话逻辑
  • AI 时代数据库的融合与智能化演进
  • Python 基础语法详解
  • PX4 模块化架构与工程目录解析
  • 连通块问题解析与 C++ 代码实现
  • C++11 核心特性详解:Lambda、可变参数与函数包装器
  • Linux 备份与还原
  • DeepSeek 与 Neo4j 构建企业级 GraphRAG 技术解析
  • Flutter 组件 upnp_client 的鸿蒙适配实战:跨设备发现与投屏控制
  • 物理模拟稳定性优化:4种C++控制模式实战
  • 设计一个支持万人并发抢购的秒杀系统架构方案
  • 设计一个支持万人并发抢购的秒杀系统架构方案
  • AI Agent 新范式:FastGPT 结合 MCP 协议实现工具增强
  • C++ 红黑树:原理、旋转与完整实现
  • 2024 年人工智能全景报告深度解读与技术路径分析
  • Stable Diffusion WebUI 部署与核心功能实战解析
  • Windows 系统多 JDK 版本快速切换方案
  • C++26 std::future 异常机制三大核心改进详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online