如何通过前端开发场景实战提升项目实战能力?
摘要:ReactVue项目怎么写AGENTS.md 开头先说说 前面两篇把基础概念讲完了,这篇我们来点实在的,专门聊聊前端项目怎么写AGENTS.md。 我自己在前端项目里踩过不少坑。最开始写AGENTS.md的时候,我把后端那一套搬过来,结果
React/Vue项目怎么写AGENTS.md
开头先说说
前面两篇把基础概念讲完了,这篇我们来点实在的,专门聊聊前端项目怎么写AGENTS.md。
我自己在前端项目里踩过不少坑。最开始写AGENTS.md的时候,我把后端那一套搬过来,结果AI该不会的还是不会——它不知道前端用什么构建工具、组件怎么组织、样式怎么写。后来慢慢摸索,才总结出一些前端特有的门道。
React项目的AGENTS.md怎么写
先上一个我在React项目里用的AGENTS.md模板。
# AGENTS.md - React Monorepo 项目
## 项目架构
基于 pnpm + Turborepo 的 Monorepo 项目,包含多个 React 应用包。
## 技术栈
- React 18
- TypeScript
- Vite
- React Router 6
- Zustand(状态管理)
- TanStack Query(服务端状态)
- Vitest + Testing Library
## 开发命令
### 安装依赖
```bash
pnpm install
启动开发服务器
pnpm dev # 启动所有
pnpm dev --filter @myapp/web # 启动特定应用
构建
pnpm build
pnpm build --filter @myapp/web
测试
pnpm test # 监听模式
pnpm test -- --run # 单次运行
pnpm test -- --coverage # 带覆盖率
代码检查
pnpm lint
pnpm typecheck
代码规范
组件规范
使用函数式组件 + Hooks
组件文件使用 PascalCase(如 UserProfile.tsx)
使用 <script setup> 语法糖(Vue 项目)
样式规范
使用 CSS Modules 或 styled-components
样式文件使用 kebab-case(如 user-profile.module.css)
禁止使用全局样式(除 reset/normalize)
TypeScript 规范
启用 strict 模式
禁止使用 any 类型
接口使用 I 前缀(如 IUser)
类型定义优先使用 type
状态管理
服务端状态使用 TanStack Query
客户端状态使用 Zustand
组件内部状态使用 useState
目录结构
src/
├── components/ # 公共组件
├── features/ # 功能模块
├── hooks/ # 自定义 Hooks
├── services/ # API 调用
├── stores/ # Zustand stores
├── types/ # 类型定义
└── utils/ # 工具函数
测试要求
测试文件放在源文件同目录或 tests 目录
测试文件命名:xxx.test.tsx 或 xxx.spec.tsx
单元测试覆盖率达到 70% 以上
提交前必须通过所有测试
UI 组件使用 Testing Library 测试用户行为
注意事项
路由配置在 src/routes/ 目录
API 请求统一使用 services/ 目录下的模块
公共组件必须包含 Storybook stories
图片等静态资源放在 public/ 或 src/assets/
环境变量使用 .env.local,本地敏感配置使用 .env.local.example 作为模板
这个模板基本上覆盖了React项目的主要方面。你可能会问:为什么要写这么详细?
我的经验是:前端项目的坑特别多。AI不知道你的组件怎么组织、状态管理用什么方案、路由怎么配置。稍微写漏一点,AI生成的代码就可能和你项目的实际结构对不上。
## Vue项目的AGENTS.md怎么写
Vue项目的情况有点不一样。Vue 3 的 Composition API 和 React 的Hooks思路比较像,但具体写法上还是有差异的。
```markdown
# AGENTS.md - Vue 3 项目
## 技术栈
- Vue 3 + Composition API
- Vite 5
- Vue Router 4
- Pinia
- TypeScript
## 开发命令
```bash
npm install
npm run dev # 启动开发服务器
npm run build # 生产构建
npm run preview # 预览构建结果
npm run test:unit # 单元测试
npm run test:e2e # E2E 测试
npm run lint # 代码检查
Vue 特定规范
组件规范
使用 <script setup> 语法糖
组件 props 使用 TypeScript 泛型定义
事件使用 emits 声明
组合式函数使用 useXxx 命名(如 useUser)
样式规范
使用 SCSS
使用 scoped CSS 避免样式污染
遵循 BEM 命名规范
公共样式放在 src/styles/ 目录
目录结构
src/
├── components/ # 公共组件
├── composables/ # 组合式函数(Vue 3 特色)
├── views/ # 页面组件
├── router/ # 路由配置
├── stores/ # Pinia stores
├── api/ # API 接口
└── styles/ # 全局样式
Pinia 使用规范
Store 使用 defineStore
命名使用 useXxxStore 形式
State 使用箭头函数返回对象
Getters 纯函数化
Actions 支持 async/await
注意事项
Vue 3 推荐使用 Composition API,不要使用 Options API
组件通信优先使用 props/emits,复杂场景使用 provide/inject
表单验证使用 Vuelidate 或 Zod
不要在模板中使用复杂的表达式,复杂的逻辑放到 computed 或 methods 中
## 小程序项目的AGENTS.md
如果你是做微信小程序或者支付宝小程序的,AGENTS.md 里需要特别说明平台限制和兼容性问题。
```markdown
# AGENTS.md - 微信小程序项目
## 技术栈
- 原生微信小程序
- TypeScript
- Vant Weapp(UI 组件库)
- MobX(状态管理)
## 开发命令
```bash
npm install
npm run dev:wechat # 开发模式
npm run build:wechat # 生产构建
平台限制
不支持 window 对象
不支持 DOM 操作
不支持 ES6 装饰器
文件系统操作使用 wx.getFileSystemManager()
网络请求使用 wx.request()
目录结构
src/
├── components/ # 自定义组件
├── pages/ # 页面
├── utils/ # 工具函数
├── services/ # API 服务
└── styles/ # 样式文件
样式规范
使用 rpx 单位实现自适应
小程序样式不支持 CSS 变量
图片资源放在 static/ 目录
使用 iconfont 字体图标
注意事项
所有页面需要在 app.json 中注册
自定义组件需要在对应页面的 json 文件中声明
使用 webview 组件需要配置业务域名
用户授权使用 wx.getUserProfile(注意接口变化)
## 前端AGENTS.md的特别注意点
前端项目有一些特殊性,在写AGENTS.md的时候需要特别注意。
构建工具一定要写清楚。现在前端构建工具特别多,Vite、Webpack、Parcel、esbuild,不同的工具命令完全不一样。你不写清楚,AI根本不知道用什么命令来启动项目。
UI框架的版本也要写。React 18 和 React 17 的写法有差异,Vue 3 和 Vue 2 更是两套完全不同的体系。你不说明白,AI 可能给你写出过时的代码。
组件库的选择和用法也要写。如果你用了 Ant Design 或者 Element Plus 这些组件库,最好把常用的组件用法也列一列。要不然 AI 给你调用的 API 可能是错的。
状态管理方案一定要写。前端状态管理现在是百花齐放,Redux、Zustand、Jotai、Recoil、Pinia、Vuex……每个方案的 API 都不同。你不写,AI 生成的代码大概率会用错。
## 小结
前端项目的AGENTS.md,后端项目的要求不太一样。前端更注重组件规范、样式方案、状态管理这些和界面相关的细节。后端则更关注数据处理、业务逻辑、接口设计这些方面。
下期我们聊聊后端项目的AGENTS.md怎么写,包括 Node.js、Java、Go 这些常见技术栈。敬请期待。
---
