Files
admin-web/shared/AGENTS.md
T
2026-08-08 11:33:09 +08:00

29 lines
2.5 KiB
Markdown
Raw 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.
# 应用内 Shared Package Instructions
## 项目定位
- 本包只服务当前前端应用,提供多个业务模块共同使用的 TypeScript 类型、常量和轻量工具。
- 依赖保持为 `@chongchong/shared: link:./shared`,确保当前应用目录可作为独立容器构建上下文。
- 不承担 Admin、Client 之间的源码复用;跨应用字段需要分别映射同一份 Java Controller/OpenAPI 契约,不能通过目录外链接耦合两个部署单元。
## 公共 API 与依赖边界
- `src/index.ts` 是当前唯一公共入口;模块专属页面状态、UI 组件和临时业务逻辑留在对应模块。
- 共享类型保持前端平台无关,不编码鉴权结论;租户隔离、权限、状态机和数据合法性由 `baiyue-firstleg` Java 服务端最终保证。
- 服务端字段变化先核对 Controller、DTO 和 OpenAPI,再更新本应用的类型、API 适配层和测试;本包不反向定义服务端行为。
- 避免建立宽泛的万能类型或引入重量级依赖。
## 一期/二期/三期共享模型索引
- 一期消费者主要是 `customers`、`iam`、`warehouses`、`master-data`、`first-leg-orders`;`CurrentUser`、`NavigationItem`、`ApiResponse`、平台收货仓快照及头程订单状态常量由 `src/index.ts` 统一导出。共享导出只描述前端数据形状,不替代 Java 服务端权限或状态机。
- 二期消费者主要是 `inbounds`、`warehouse-resources`、`fba-pricing`、`dimension-config` 与 `unified-orders`。测量、费用、托盘、库位等类型若只被单一模块使用,应留在模块内;确需跨模块复用时,先核对 `baiyue-firstleg` Controller/DTO/OpenAPI,再以兼容方式新增导出。
- 三期当前 NO-GO,暂无正式三期共享契约。不要为了复用原型中的分柜、装柜、报关或 PDA 字段提前扩展本包;待 `../../../docs/三期/三期需求确认表.md` 阻断项解除并锁定后端契约,再评估新增类型并同步全部 Admin 消费者。
阶段依据(路径相对本文件所在目录):一期 `../../../docs/一期/`,二期 `../../../docs/二期/`,三期 `../../../docs/三期/`;共享包不保存阶段进度,也不承载跨应用(Client)源码复用。
## 兼容性与验证
- 修改导出名称、字段类型、枚举值或常量语义前,搜索当前应用内全部消费者。
- 优先采用兼容性新增;破坏性修改必须同步更新当前应用消费者。
- 本包没有独立质量脚本;变更后运行父应用声明的类型检查、测试或构建命令。