From af3ce43e42705792b1dd072a3bcb894920e81e3a Mon Sep 17 00:00:00 2001 From: xudan Date: Fri, 12 Dec 2025 16:42:28 +0800 Subject: [PATCH] =?UTF-8?q?docs(agents):=20=E6=96=B0=E5=A2=9EAI=E7=BC=96?= =?UTF-8?q?=E7=A8=8B=E6=8C=87=E5=AF=BC=E6=96=87=E6=A1=A3=EF=BC=8C=E8=A7=84?= =?UTF-8?q?=E8=8C=83Vue=E9=A1=B9=E7=9B=AE=E5=BC=80=E5=8F=91=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=B8=8E=E4=BB=A3=E7=A0=81=E9=A3=8E=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 596b3a6..b825884 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,3 +44,186 @@ -Always reply to me in Chinese 文件编码使用 UTF‑8 + + +--- + +# web-amr 项目 AI 编程指导(Vue 3 + Vite + TS + Ant Design Vue + Pinia) + +本指南用于约束 AI 在本项目中新增功能/修复 Bug 的方式,目标是:代码优雅、可维护、可读、符合主流 Vue 生态实践,并与仓库现有风格一致。 + +--- + +## 1. 总体原则 + +1. **先理解再动手** + - 先搜索仓库已有实现(同类页面/组件/Store/接口封装),优先复用现成模式。 + - 不引入新范式/新库,除非明确要求;避免“为了重构而重构”。 + +2. **最小必要改动(Minimal Diff)** + - 只改与需求直接相关的文件和逻辑。 + - 不随意改命名、格式、结构;不顺手修“无关的”问题。 + +3. **分层清晰、职责单一** + - UI 逻辑、业务逻辑、数据访问、状态管理分离。 + - 一个文件/组件只负责一类事情。 + +4. **可读性优先于“聪明”** + - 选择易懂的实现而非炫技。 + - 复杂逻辑拆分为可测试的小函数/Hook/Store action。 + +--- + +## 2. 项目结构与放置规范 + +- 页面:`src/pages/**` + - 每个页面一个文件夹,包含 `index.vue`、子组件、局部 hooks、局部类型。 +- 组件:`src/components/**` + - 复用组件放这里;页面私有组件放页面目录内。 +- 状态:`src/stores/**`(Pinia) + - 全局/跨页面状态必须放 Store。 +- 接口: + - `src/apis/**`:接口定义、类型、路径、参数; + - `src/services/**`:Axios 实例、拦截器、通用请求工具。 +- Hooks:`src/hooks/**` + - 复用的组合式逻辑;页面私有 hooks 放页面目录。 +- 静态资源:`src/assets/**`、`public/**` + +**放置判定:** +跨页面复用 → `components/stores/hooks/apis`;仅当前页面使用 → 页面目录内。 + +--- + +## 3. Vue 组件设计(主流实践) + +1. **Composition API + `