Files
persionalBrand/agent.md

161 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Project Agent Guide
## 项目定位
这是一个面向个体户和手艺人的个人品牌小程序试点项目。当前第一个交付对象是朋友的真实品牌。
第一版的核心闭环是:
```text
品牌展示 -> 服务/作品了解 -> 客户预约或咨询 -> 管理员后台处理 -> 客户反馈
```
产品目标是帮助个人建立自己的品牌入口;后台和多品牌能力是实现手段,不要把项目优先级转向 SaaS、套餐、租户注册或平台流量。
## 必读文档
开始开发或修改需求前,按以下顺序阅读:
0. `PROJECT_STATUS.md`:当前阶段、最近提交、下一步和未决问题;跨电脑恢复时优先阅读。
1. `docs/PRD.md`:产品范围、功能需求和验收标准。
2. `docs/01-prototype-spec.md`:页面、字段、状态和交互要求。
3. `docs/02-architecture-and-decisions.md`:技术选型和架构决策。
4. `docs/03-data-and-api-design.md`:数据模型、接口边界和上传流程。
5. `docs/04-implementation-plan.md`:里程碑、测试和发布清单。
6. `docs/05-pilot-case-food-stall.md`:当前首个试点的餐饮场景假设和待确认内容。
7. `docs/06-domain-extension-strategy.md`:个人品牌核心能力与行业扩展边界。
8. `docs/07-requirements-interview-decisions.md`:首轮访谈确认的订单与客户身份规则;冲突时优先于早期文档。
9. `docs/08-clickable-prototype.md`:低保真原型入口、演练路径和边界。
## 已安装的成熟 Skills
项目当前复用以下外部 skill不重复维护同类自定义规则
- `playwright-testing`:仅在编写或调试 Playwright E2E 测试时使用。重点遵循用户可见角色/标签定位、Page Object、失败截图和 trace。
- `codex-review-workflow`:在用户要求代码审查、自动质量验证,或功能完成需要正式 review 时使用。默认最多执行初审和一次复审,不把它用于普通探索任务。
这两个 skill 安装在用户级 `/Users/que01/.agents/skills/`,不属于项目源码。项目规则、产品边界和技术决策仍以本文件及 `docs/` 为准。
## 当前已接受的技术决策
- Monorepo`pnpm workspace + Turborepo`
- 小程序:原生微信小程序 + TypeScript
- 管理后台Next.js + TypeScript
- APINestJS + TypeScript
- 数据库PostgreSQL
- ORMPrisma
- 图片S3 兼容对象存储
- 后台登录:第一版账号密码,未来可绑定微信身份
- 发布:第一版人工使用微信开发者工具发布
## 第一版范围
必须实现:
- 小程序首页、品牌介绍、服务、作品集
- 客户无需注册提交预约/咨询
- 公开内容匿名浏览;下单使用微信无感身份,并提供“我的订单”。
- 普通套餐支持数量、自取/配送和预计总价;私厨由经营者人工报价。
- 后台支持订单未读、标签和内部备忘。
- 客户提交反馈,后台审核后公开
- 后台登录和权限校验
- 品牌、服务、作品内容管理
- 预约列表、状态和内部备注
- 图片上传、预览和基本错误处理
明确不实现:
- 支付、退款、发票、财务对账
- 订单和支付状态
- 自动发布微信小程序
- 多商户注册、套餐和计费
- 多员工、多门店、复杂排班
- 会员、优惠券、营销自动化
- 自动消息通知
价格可以作为展示文本;可以预留金额字段,但不得在第一版创建支付入口或支付状态。未来支付应使用独立的 `Order``Payment``Refund` 模型,不能把支付状态塞进 `Booking`
## 开发规则
- 先确认原型和字段,再修改数据库;不要根据临时页面直接添加字段。
- 公开 API 与管理 API 分离。
- 前端隐藏管理入口不是权限控制,所有管理接口必须服务端鉴权。
- 联系方式、预约备注等敏感数据不得从公开接口返回。
- 内容删除优先使用停用、隐藏或软删除,保留预约和审核记录。
- 新增功能必须说明用户问题、优先级、数据影响和是否影响支付兼容性。
- 不要为了未来 SaaS 过早实现租户注册、计费和复杂权限。
- 不要将品牌文案、服务和作品写死在前端代码中。
- 共享类型和状态枚举放在 `packages/`,避免前后端重复定义。
- 任何涉及真实客户数据的调试输出都必须脱敏。
## 推荐目录
```text
apps/miniapp # 微信小程序
apps/admin # Next.js 管理后台
apps/api # NestJS API
packages/types
packages/api-client
packages/validation
packages/config
prisma/
docs/
```
## 工作方式
每完成一个里程碑,都要验证对应闭环,而不是只检查页面是否能打开:
1. 后台保存品牌资料,小程序能看到更新。
2. 后台创建服务,小程序能展示并支持预约。
3. 客户提交预约,后台能看到并更新状态。
4. 客户提交反馈,后台审核后小程序才能展示。
5. 未登录用户无法修改任何管理数据。
真实朋友使用前,先完成文档中的发布前检查和数据库备份方案。试点上线后再根据实际使用频率决定是否抽象多品牌和自动化能力。
## Vibe Coding 最小规范
以下规则用于控制后续 AI 辅助开发的范围和上下文成本。
### 开始任务前
1. 先阅读本文件和与任务直接相关的文档,不要一次加载全部代码。
2. 用一句话写清楚本次任务的结果和不包含的内容。
3. 先搜索现有实现,再决定新增文件还是修改现有文件。
4. 涉及数据库、公共类型或 API 契约时,先检查调用方。
### 实现任务时
- 一次只处理一个可验证的小目标。
- 优先复用现有模式,不为单一需求新增抽象层。
- 每次修改保持在必要文件范围内,不顺手重构无关代码。
- 先实现业务闭环,再补样式、优化和扩展能力。
- 不实现 PRD 明确排除的功能,除非用户明确改变范围。
- 新增依赖前说明用途、替代方案和维护成本。
- 不把临时数据、品牌文案或密钥写死在代码中。
### 完成任务前
1. 运行与改动匹配的最小验证类型检查、单元测试、API 测试或手工流程。
2. 检查错误状态、空状态、权限边界和重复提交。
3. 检查是否引入敏感信息、无关文件或未记录的数据库变更。
4. 用简短记录说明改了什么、为什么改、如何验证、剩余风险。
### 上下文和 token 控制
- 默认只读取完成当前任务所需的文件。
- 大文件先搜索相关符号和行号,再读取局部内容。
- 不重复输出已经确定的背景和完整代码。
- 计划超过三个步骤时,先写出短计划再执行。
- 遇到不确定的产品决策,优先依据 PRDPRD 没有覆盖时记录假设,不要扩大实现范围。
### 任务完成定义
任务只有同时满足以下条件才算完成:
- 代码或文档已落盘。
- 相关验证已执行,或明确说明无法执行的原因。
- 变更符合第一版范围和数据/API 约束。
- 用户能根据结果继续下一步工作。