diff --git a/AGENTS.md b/AGENTS.md index a8eec6a..596b3a6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,2 +1,46 @@ +# Repository Guidelines + +本仓库为基于 Vite + Vue 3 + TypeScript 的前端项目,依赖 Ant Design Vue、Pinia、Axios 等。统一使用 UTF-8 编码。 + +## 项目结构与模块组织 + +- 源码:`src/`(`components/`、`pages/`、`services/`、`apis/`、`stores/`、`hooks/`、`assets/`) +- 静态资源:`public/` +- 接口模拟:`mocks/`(本地联调示例数据) +- 文档:`docs/` +- 配置:`vite.config.ts`、`tsconfig*.json`、`eslint.config.js` + +## 构建、测试与本地运行 + +- 本地开发:`pnpm start` 或 `npm run start`(启动 Vite 开发服务器) +- 生产构建:`pnpm build` 或 `npm run build`(先 TypeCheck 再打包) +- 本地预览:`pnpm preview` 或 `npm run preview` +- 代码检查:`npx eslint . --ext .ts,.vue` +- 样式检查:`npx stylelint "src/**/*.{vue,scss,css}"` +- 格式化:`npx prettier -w .` + +## 代码风格与命名约定 + +- TypeScript + Vue SFC,缩进 2 空格;单引号;必须分号;`max-len` 120。 +- 组件命名采用帕斯卡命名(例:`RobotLabels.vue`);忽略名:`index.vue`、`exception.vue`。 +- 导入排序使用 `eslint-plugin-simple-import-sort`。 +- 样式使用 SCSS,按 `stylelint` 推荐与 Recess Order。 + +## 测试规范 + +当前未集成单测框架。建议后续采用 Vitest + Vue Test Utils,测试文件命名 `*.spec.ts`,位置 `src/**/__tests__/` 或与源码同级。 + +## 提交与合并请求 + +- 提交遵循 Conventional Commits:`feat|fix|refactor(scope?): 简要中文描述`。 + - 示例:`feat(editor): 新增导入场景模态框` +- PR 需包含:变更说明、影响范围、操作步骤/截图(UI 变更)、关联 Issue、风险与回滚方案。 +- 在提交前确保:通过构建与 ESLint/Stylelint/Prettier 检查。 + +## 安全与配置提示 + +- 后端地址与令牌从环境变量读取:`ENV_HTTP_BASE`、`ENV_DEV_TOKEN`、`ENV_DEV_TENANT_ID`(见 `src/services/http.ts`)。请在 `.env.development`/`.env.production` 配置。 +- 避免将敏感信息写入仓库;调试日志仅限开发环境。 + -Always reply to me in Chinese 文件编码使用 UTF‑8