chore(frontend): 落地 ADS 治理体系并收录前端底座基线代码
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file guides Claude Code (and other agents) when working in this repository.
|
||||
**保持本文件最新**:它是项目级入口——项目是什么、怎么构建、门控一切变更的规则。
|
||||
|
||||
## Project
|
||||
|
||||
`abacus-static-framework` 是企业级 **Vue 3 + TypeScript 微服务前端底座**(菜单框架),基于 Vue 3.5 / TypeScript 5 / Vite 6 / Element Plus / vxe-table / Pinia / axios。业务代码位于 `src/subsystem/**`(参考模板:`subsystem` 下的 sms 示例,供复制改写);`src/framework/**` 为**只读共享框架**,业务不得修改。
|
||||
|
||||
- Entry point: `src/main.ts`
|
||||
- **只读/可写分区**:`src/framework/**` 只读;业务开发只写 `src/subsystem/**`(api / router / views / extend 及自建 components / hooks / store / styles / types / utils)。
|
||||
- **接口契约**(统一响应体、服务别名映射、token 自动刷新、commonParam)由 `src/framework/utils/request.ts` 强制实现,业务无感;共享约束详见 `../../../docs/coding-standards.md`(§6 接口契约、§4 前端规范)。
|
||||
- Known environment constraints: Node 18.20.7 + npm 淘宝镜像;`vite.config.ts` 的 `build.outDir` 与 `server.proxy` 需按目标微服务修改后才能联调/发布;`public/data/data.js` 的 `currentSubsystem`/`currentSubsystemName` 声明当前子系统。
|
||||
|
||||
## Common commands
|
||||
|
||||
```sh
|
||||
# Build(产物直出目标微服务 resources/html/vue/<应用名>/)
|
||||
npm run build:prod
|
||||
|
||||
# Run(本地开发,Vite 反代后端)
|
||||
npm run dev
|
||||
|
||||
# Test
|
||||
无自动化测试(人工冒烟验证)
|
||||
```
|
||||
|
||||
环境注意:首次使用需 `npm install --registry=https://registry.npmmirror.com`(或已配置镜像则 `npm install`)。框架升级后需重新 `npm install`;升级**不得覆盖** `public`、`vite.config.ts`、`src/subsystem`。
|
||||
|
||||
## Architecture
|
||||
|
||||
实现遵循 `.project.agents/docs/context/ARCHITECTURE.md` 的模块边界;模块清单(职责一句话):
|
||||
|
||||
- **framework/**(只读共享框架):api(框架级后端接口)、components/standard(标准组件:AbForm/AbQueryForm/vxe 表格等 10 项)、hooks(useVxeTableHandle 等通用组合式函数)、layout(菜单布局)、router(静态路由)、store(settings/permission/user 等 Pinia 状态)、styles、types、utils(standard 5 项 + request 请求管线)、views、directives(v-debounce/v-throttle)。
|
||||
- **subsystem/**(业务可写区):api/<服务别名>(按 Controller 分 ts)、router/dynamicRouter.ts(菜单路由唯一注册点)、views/<一级>/<二级>(页面)、extend(框架扩展钩子)、以及业务自建 components/hooks/store/styles/types/utils。
|
||||
- 动态权限:`permissionStore.filterAsyncRoutes` 按 `url === path` 匹配后端菜单与 dynamicRouter 后 `addRoute`。
|
||||
|
||||
## Project-level rules
|
||||
|
||||
- **动手前必读两文件**——它们编码了本项目所有门控决策的经验:
|
||||
- `.project.agents/VIBECODING_GUIDE.md` — 实践指南(为什么 & 怎么做)
|
||||
- `.project.agents/SELF_CONSTRAINTS.md` — 硬约束(什么禁止、什么必须、何时停下)
|
||||
|
||||
任何非平凡任务,编辑前先跑 `SELF_CONSTRAINTS.md §A`(开工前自检)。
|
||||
|
||||
- **共享约束单一来源**:前后端共享的编码规范/接口契约/命名纪律,**只存在于工作区 `docs/`(`../../../docs/coding-standards.md`、`../../../docs/architecture.md`、`../../../docs/agent-guide.md`)**;本仓库 `.project.agents/docs/context/` 只写本仓库特有内容与指针,**禁止复制 docs/ 正文**。改共享内容先改 docs/ 再同步指针。
|
||||
|
||||
- **Agent 配置**一律写在 `.project.agents/` 下(或子目录),禁止写到仓库根、`.claude/` 或全局目录。
|
||||
|
||||
- **项目文档**位于 `.project.agents/docs/context/`(单层目录):`PRD.md`(行为权威)、`ARCHITECTURE.md`(模块/依赖/契约)、`ROADMAP.md`(里程碑)、`CONVENTIONS.md`(命名/风格/提交)、`UIUX.md`(视觉与交互)。
|
||||
|
||||
- **源真相层级**(冲突时上游优先):
|
||||
```
|
||||
PRD.md > ARCHITECTURE.md > UIUX.md > CONVENTIONS.md > 派生文档
|
||||
仓库级 CONVENTIONS 再下接共享 docs/coding-standards.md(仅作全仓公共约定引用)
|
||||
```
|
||||
上游变更须在同 commit 内回写受影响的派生文档;代码与架构漂移不得超过 24 小时。
|
||||
|
||||
- **路线图执行规则**:按 `.project.agents/docs/context/ROADMAP.md` 顺序推进,勾选与完成同 commit;milestone 级/多文件任务先写 plan/spec 再动手;每个 milestone 后按 `.project.agents/log/` 模板写执行日志。
|
||||
Reference in New Issue
Block a user