diff --git a/AGENTS.md b/AGENTS.md index 5e9cc6c..cf0532c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,541 +1,84 @@ -# rui-frontend AGENTS.md +# AI 开发边界配置 - 前端仓库 -> **睿核科技前端项目** — Vue 3 + TypeScript 前端工程 -> **版本**: v1.0 -> **更新日期**: 2026-06-04 +> **警告**:本文件定义 AI 的开发边界,AI 必须严格遵守! ---- +## 🎯 本仓库职责 -## 一、项目概览 +**rui-frontend** 是睿核科技的前端工程集合,包含: +- `admin-ui` - 管理后台(Vue3 + TypeScript) +- `cashier-mobile` - 收银移动端 +- `customer-mobile` - 顾客移动端 -### 1.1 项目信息 +## 🚫 绝对禁止 -| 属性 | 内容 | -|------|------| -| **项目名称** | rui-frontend | -| **项目类型** | Vue 3 前端工程(多项目管理)| -| **仓库地址** | https://gitee.com/rui/rui-frontend | -| **包管理器** | pnpm | -| **构建工具** | Vite | +1. **禁止修改后端代码** - 本仓库只有前端代码 +2. **禁止修改 API 接口定义** - 接口定义在后端仓库 +3. **禁止直接访问数据库** - 必须通过 REST API +4. **禁止引入后端依赖** - 如 Spring, MyBatis 等 -### 1.2 仓库结构 +## ✅ 允许范围 ``` rui-frontend/ -├── admin-ui/ # 管理后台系统 +├── admin-ui/ ✅ 可修改 │ ├── src/ -│ │ ├── api/ # API 接口 -│ │ ├── assets/ # 静态资源 -│ │ ├── components/ # 公共组件 -│ │ ├── composables/ # 组合式函数 -│ │ ├── layouts/ # 布局组件 -│ │ ├── locales/ # 国际化 -│ │ ├── router/ # 路由配置 -│ │ ├── service/ # 服务层(API 调用) -│ │ ├── stores/ # Pinia 状态管理 -│ │ ├── styles/ # 全局样式 -│ │ ├── types/ # 类型定义 -│ │ ├── utils/ # 工具函数 -│ │ └── views/ # 页面视图 -│ ├── package.json -│ └── vite.config.ts -│ -├── cashier-mobile/ # 收银系统移动端(待开发) -├── customer-mobile/ # 收银系统顾客端(待开发) -├── package.json # 根 package.json -├── pnpm-workspace.yaml # pnpm 工作区配置 -└── README.md # 项目说明 +│ ├── public/ +│ └── package.json +├── cashier-mobile/ ✅ 可修改 +├── customer-mobile/ ✅ 可修改 +├── package.json ✅ 可修改(根配置) +└── pnpm-workspace.yaml ✅ 可修改 ``` -### 1.3 技术栈 +## 🔗 与后端通信规范 -| 组件 | 版本 | 说明 | -|------|------|------| -| Vue | 3.5+ | 前端框架 | -| TypeScript | 5.4+ | 类型系统 | -| Vite | 5.x | 构建工具 | -| Element Plus | 2.9+ | UI 组件库(admin-ui)| -| Pinia | 2.2+ | 状态管理 | -| Vue Router | 4.4+ | 路由管理 | -| Axios | 1.7+ | HTTP 客户端 | -| pnpm | 8.x | 包管理器 | +### 1. API 调用方式 +- 使用 **Axios** 或 **Fetch** 发送 HTTP 请求 +- 禁止直接引用后端 Java 类 ---- - -## 二、编码规范 - -### 2.1 命名规范 - -| 类型 | 规范 | 示例 | -|------|------|------| -| **组件文件** | PascalCase | `UserForm.vue`, `OrderList.vue` | -| **组合式函数** | camelCase, use 前缀 | `useUser.ts`, `usePermission.ts` | -| **工具函数** | camelCase | `formatDate.ts`, `deepClone.ts` | -| **常量** | UPPER_SNAKE_CASE | `API_BASE_URL`, `DEFAULT_PAGE_SIZE` | -| **类型定义** | PascalCase, 后缀 Type | `UserType`, `OrderFormType` | -| **接口定义** | PascalCase, 前缀 I | `IUser`, `IOrder` | -| **枚举** | PascalCase, 后缀 Enum | `StatusEnum`, `GenderEnum` | - -### 2.2 Vue 组件规范 - -#### 文件结构 - -```vue - - - - - +### 2. 接口地址规范 +```typescript +// 正确示例 +const API_BASE = '/api'; // 通过网关转发 +const userApi = { + getList: () => axios.get(`${API_BASE}/user/list`), + create: (data) => axios.post(`${API_BASE}/user`, data) +}; ``` -#### 组件编写原则 - -- **使用 `