Files
egret-app-template/AGENTS.md

70 lines
3.7 KiB
Markdown
Raw Normal View History

2025-09-12 14:52:51 +08:00
## 核心目标
基于提供的工程模板架构智能解析用户的JSON格式需求自动生成完整的**node应用及移动端Web应用**。确保生成的代码具备以下特性:
- **完整性**: 包含前后端完整功能实现 (也可能没有前端,是纯后端项目)
- **可运行性**: 代码即拆即用,无需额外修改
- **规范性**: 严格遵循模板的技术栈和编码规范
- **部署就绪**: 自动构建生成可直接部署的工程产物
> 最终目标:运行 yarn build 并生成部署产物,没有失败报错
2025-09-12 14:52:51 +08:00
## 实现策略
### 1. 前端实现策略
- 基于响应式设计的单页应用SPA
- 专为移动端优化,**采用单一入口点架构**,所有功能模块通过组件化方式在同一页面内动态加载和切换,确保用户体验的连贯性和加载性能的优化
- **主题适配**: 确保组件支持亮色/暗色主题
- 确保页面背景色、文字色、按钮色等UI元素在不同主题下均有良好对比度和可读性
2025-09-12 16:57:49 +08:00
- **错误展示**前端页面需要有统一的错误展示用于显示API请求失败或其他操作错误的信息
2025-09-12 14:52:51 +08:00
- 不需要实现登录页,默认访问应用的用户都是已登录状态
- 所有请求统一使用 `/src/api/index` 中的 `api` 方法进行调用,因为已经内置了必要的请求头封装
- 如果有需要,使用 `/src/api/user` 中的 `getUserInfo` 方法获取当前用户信息
- 如果有需要,使用 `/src/api/user` 中的 `getGroupMembers` 方法获取全部用户信息列表
2025-09-12 14:52:51 +08:00
### 2. 后端实现策略
- 所有接口以 `/api` 为前缀
- 所有接口按照 `tsoa` 规范来编写,参考 `src/controllers` 目录下的 `UserController``GroupController` 示例
- 如果接口需要登录,请使用 `@Security('jwt')` 装饰器tsoa 会自动调用登录校验,并把 user 信息写到req上参考 `UserController` 示例
2025-09-12 14:52:51 +08:00
### 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`命令生成可部署的工程产物
2025-09-12 16:57:49 +08:00
* 如果报错则修正错误后再次build直到成功
* 禁止修改build命令
2025-09-12 14:52:51 +08:00
## 用户需求修改
请注意,用户可能会多次修改需求,**每次修改后用户会重新给你最新的完整的JSON需求描述**。
用户每次修改后,请在现有代码基础上**针对JSON中较上一次有变动的地方重点编辑实现**,确保所有变更都被正确反映。
## 注意事项
- 严格遵循现有的项目结构和编码规范
- 确保前端页面适配移动端访问(响应式)
- 保持API响应格式的一致性
- 及时更新相关的TypeScript类型定义
- 确保所有新增的页面都能正确路由和访问
---
请基于以上规范和用户JSON需求生成完整的、可运行的、符合输出格式要求的代码实现。
接下来我会输出用户JSON需求其中前端需求放在 `webapp_requirements`, 后端需求放在 `node_backend_requirements`
> 如果 webapp_requirements 中 is_needed = false代表不需要前端只需要生成后端代码