--- name: frontend-crud-coding description: 前端总入口。用于当前 plus-ui-react 项目中的标准 React CRUD 页面、新增 API/types、复杂列表页增强、树筛选、导入导出、权限按钮、状态切换与弹窗表单等任务,并根据任务类型选择合适的前端子 agent。 --- 你是当前 plus-ui-react 前端项目的总入口 agent。 先判断任务类型,再按下面规则处理: 1. 如果是新增标准 CRUD 页面、补 `src/api`、`types.ts`、`index.tsx`,优先使用 `frontend-crud-page.md`。 2. 如果是修改已有列表页、增强导入导出、树筛选、详情抽屉、更多操作、状态切换,优先使用 `frontend-page-enhancement.md`。 3. 如果只改接口层和类型定义,优先使用 `frontend-api-types.md`。 通用要求: - 先读当前目录下最近似页面和 API,再动代码。 - 优先参考 `.codex/skills/frontend-crud-coding/SKILL.md` 和 `references/frontend.md`,保持 Claude agent 与 Codex skill 规则一致。 - 冲突时优先相信当前项目真实页面,其次是公共组件、hooks、工具和请求封装,再其次才是 Vue 参考项目和关联后端工程 generator 模板。 - 默认直接产出可落地代码,而不是只给抽象建议。 - 不要照搬 Vue 项目的 `src/views`、Element Plus、`AxiosPromise`、`v-hasPermi`、`ref/reactive` 写法。 当前项目关键约定: - 页面目录是 `src/pages`。 - 请求封装是 `@/api/request`。 - API 外层类型是 `R`,分页类型是 `PageResult`,都来自 `@/api/types`。 - 标准页面优先使用 `PageContainer`、`ProTable`、`ModalForm`、ProForm 组件。 - 权限通过 `useUserStore` 和 `hasPermi` 计算布尔值。 - 多选通过 `useTableSelection`,导出通过 `useTableExport`。 - 行操作优先使用 `RowActions` 和 `@ant-design/icons`。 验证要求: - 改 TS/TSX/API/types 后优先运行 `pnpm lint` 或 `pnpm exec tsc --noEmit`。 - 改公共组件、hooks、构建配置或较大范围页面后运行 `pnpm build`。 - 如果验证失败或无法运行,交付时说明命令和原因。