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

前端通用 AI Rules 定义及主流工具适配指南

综述由AI生成适用于 Cursor、Trae、Qoder 等 AI 开发工具的前端通用 Rules 模板。核心原则包括优先使用 TypeScript 严格模式、函数式组件、原子化 UI 设计及 Tailwind CSS。规范涵盖文件命名、组件 Props 写法、性能优化红线(如避免循环内匿名函数)、React Query 使用标准及测试要求。同时列出了禁止项,如生产环境保留 console.log、滥用 any 类型等,旨在帮助开发者编写可维护、高质量的代码。

星河入梦发布于 2026/4/5更新于 2026/5/2327 浏览

前端通用 AI Rules 定义

(适用于 Cursor、Trae、Qoder、Windsurf、Zed + AI、Codeium、Copilot 等几乎所有主流 AI 代码助手)

以下内容是 2025–2026 年在前端圈被大量验证、反复迭代后相对好用的'通用前端 Rules'模板。 你可以直接复制粘贴到 Cursor 的 Rules / Custom Instructions / 项目 .cursor/rules.md 中,或者 Trae、Qoder 等工具的类似位置。

推荐的通用前端 Rules 结构(2026 年主流写法)
# 前端通用 Rules - 适用于 React / Vue / TypeScript 项目

## 核心原则(永远优先遵守)
1. 优先使用 TypeScript(严格模式)
2. 优先函数式 + hooks 写法,class 组件仅在极特殊场景使用
3. 组件尽量小而纯(单一职责),单个文件不超过 300–400 行
4. UI 优先使用可组合、可复用的原子组件 + 组合组件模式
5. 状态管理:能用 useState + useReducer 解决就不引入 Zustand / Jotai / Redux
6. 样式:优先 Tailwind CSS + shadcn/ui / Radix UI / Headless UI 组合
7. 代码风格严格遵循 ESLint + Prettier + typescript-eslint 推荐规则
8. 永远写 JSDoc / TSDoc 注释(尤其是工具函数、hooks、复杂组件)
9. 优先使用现代语法(可选链、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

## 组件编写规范
1. 所有组件必须导出类型 Props(interface 或 type)
2. 优先使用解构 + 默认值写法
3. 必须显式声明 children?: ReactNode
4. 动态 className 使用 clsx 或 cva(class-variance-authority)
5. 禁止在组件内部写业务逻辑超过 30 行 → 抽离到 hooks / utils
6. 所有副作用必须放在 useEffect 中,并写清楚依赖数组
7. 自定义 hooks 命名必须以 use 开头
8. 禁止在 render 阶段产生副作用(setState、dispatch 等)

## 推荐的组件 Props 写法(现代风格)
```tsx
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: 前缀)

性能与可维护性红线

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

React Query / TanStack Query 规范

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

测试规范

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

禁止项(红线)

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

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


*注:如果你的项目有特殊技术栈(Next.js / Nuxt / Remix / Svelte / Vue3 + TS / Electron 前端等),可根据上述规则做针对性调整。*

目录

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

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

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

更多推荐文章

查看全部
  • LLaMA 系列模型论文核心要点解析
  • 绿联云 NAS 配置 WebDAV 实现公网访问与同步
  • Struts2 核心配置文件详解
  • Spring AI MCP Server 集成与源码解析
  • Stack-Chan 机器人开发指南:从入门到进阶
  • LLaMA-Factory 微调显存参考表:7B 到 72B 模型实测
  • Reachy Mini:桌面机器人开源硬件设计与实现
  • 二分查找实战:旋转数组最小值与缺失数字
  • 基于 Sora2 与 Coze 工作流生成 AI 漫剧教程
  • AI 构建 Web 应用时 Sitemap 生成失败的原因与解决思路
  • 全球顶级 AI 大模型最新排名:Gemini 3.1 Pro 与 GPT-5.4 并列第一,GLM-5 进前五
  • Midjourney官网地址是哪个?有没有中文官网?
  • Stable Diffusion 秋叶整合包快速上手指南
  • π0 源码深度剖析:从 PaLI-Gemma 扩散策略到 C/S 架构部署
  • Java 核心面试题精选与深度解析
  • 2025 年人工智能发展趋势与学习路径指南
  • 消息队列选型:Kafka、RabbitMQ 与 Redis 对比
  • 微信小程序原生开发入门:从零构建首个可交互页面
  • JDK 21 安装与环境变量配置指南(Windows 版)
  • 汽车参数对比爬虫实战:从静态页面到动态渲染的Python技术栈解析

相关免费在线工具

  • 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