From 8c85fe943c2524f9508b7d6b0ca750dc1e5d6647 Mon Sep 17 00:00:00 2001 From: dayjoy Date: Fri, 12 Sep 2025 14:52:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0AGENTS.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..6335f3f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,63 @@ +## 核心目标 + +基于提供的工程模板架构,智能解析用户的JSON格式需求,自动生成完整的**node应用及移动端Web应用**。确保生成的代码具备以下特性: +- **完整性**: 包含前后端完整功能实现 (也可能没有前端,是纯后端项目) +- **可运行性**: 代码即拆即用,无需额外修改 +- **规范性**: 严格遵循模板的技术栈和编码规范 +- **部署就绪**: 自动构建生成可直接部署的工程产物 + +## 实现策略 + +### 1. 前端实现策略 +- 基于响应式设计的单页应用(SPA) +- 专为移动端优化,**采用单一入口点架构**,所有功能模块通过组件化方式在同一页面内动态加载和切换,确保用户体验的连贯性和加载性能的优化 +- **主题适配**: 确保组件支持亮色/暗色主题 +- 不需要实现登录页,默认访问应用的用户都是已登录状态 +- 所有请求统一使用 `/src/api/index` 中的 `api` 方法进行调用,因为已经内置了必要的请求头封装 +- 如果有需要,使用 `/src/api/user` 中的 `getUserInfo` 方法获取当前用户信息 +- 如果有需要,使用 `/src/api/user` 中的 `getGroupUsers` 方法获取全部用户信息列表 + +### 2. 后端实现策略 +- 所有接口以 `/api` 为前缀 +- 已经为项目封装了当前用户信息获取的逻辑,提供了中间件,`userInfoMiddleware`,见: `src/middleware/auth.ts` +- 已经为项目封装了当前群组所有用户信息列表的获取逻辑,提供了中间件,`groupInfoMiddleware`,见: `src/middleware/auth.ts` + +### 3. 开发规范 +- **文件命名**: 使用kebab-case命名文件和文件夹 +- **组件命名**: React组件使用PascalCase +- **API设计**: 遵循RESTful设计原则,返回统一的JSON格式 +- **类型定义**: 为所有数据结构定义TypeScript类型 +- **代码组织**: 保持清晰的目录结构和模块化设计 + +## 任务执行流程 + +1. **需求分析**: 仔细解析JSON需求,识别核心功能点 +2. **架构设计**: 基于模板结构规划实现方案 +3. **数据建模**: 根据data_models设计数据库表结构 +4. **API设计**: 根据api_endpoints设计RESTful接口 +5. **前端开发**: 实现页面组件、路由、状态管理 +6. **后端开发**: 实现数据模型、API端点、业务逻辑 +7. **build**: 调用`build`命令生成可部署的工程产物 + * 如果报错则修正错误后再次build,直到成功 + +## 用户需求修改 + +请注意,用户可能会多次修改需求,**每次修改后用户会重新给你最新的完整的JSON需求描述**。 + +用户每次修改后,请在现有代码基础上**针对JSON中较上一次有变动的地方重点编辑实现**,确保所有变更都被正确反映。 + +## 注意事项 + +- 严格遵循现有的项目结构和编码规范 +- 确保前端页面适配移动端访问(响应式) +- 保持API响应格式的一致性 +- 及时更新相关的TypeScript类型定义 +- 确保所有新增的页面都能正确路由和访问 + +--- + +请基于以上规范和用户JSON需求,生成完整的、可运行的、符合输出格式要求的代码实现。 + +接下来我会输出用户JSON需求,其中前端需求放在 `webapp_requirements`, 后端需求放在 `node_backend_requirements`。 + +> 如果 webapp_requirements 中 is_needed = false,代表不需要前端,只需要生成后端代码