From ebd0ec4f51288042b6fc5bf714b1febbb63cfacc Mon Sep 17 00:00:00 2001 From: chenyao <1219716595@qq.com> Date: Fri, 09 Jan 2026 18:03:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- AGENTS.md | 62 ++++++++++++++---------------- 1 files changed, 29 insertions(+), 33 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 8a6a598..2077826 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,42 +1,38 @@ -# 仓库指南 +# Repository Guidelines ## 项目结构与模块组织 -这是一个 pnpm monorepo,包含两个工作区根目录: -- `applications/`:可运行的应用 - - `applications/drone-web-manage`:管理端(Vite + Vue 3) - - `applications/command-center-dashboard`:大屏指挥调度 - - `applications/drone-app-web-view`:App WebView -- `packages/`:共享库(如 `packages/apis`、`packages/components`、`packages/constants`、`packages/hooks`、`packages/utils`) -静态资源一般位于各应用的 `public/` 与 `src/assets/`(例如 `applications/drone-web-manage/public/img`)。 +- `applications/`:可运行的 Web 应用(如 `drone-command/`、`mobile-web-view/`、`task-work-order/`)。 +- `packages/`:共享库(API、组件、常量、hooks、工具等)。 +- `uniapps/`:UniApp 相关应用(如 `work-app/`、`work-wx/`)。 +- 资源文件通常放在各应用内,具体入口以各应用的 `README.md` 为准。 ## 构建、测试与开发命令 -默认在仓库根目录执行: -- `pnpm install`:安装所有工作区依赖。 -- `pnpm dev`:启动所有应用的开发模式。 -- `pnpm dev:manage`:启动 `applications/drone-web-manage`。 -- `pnpm dev:largeScreen`:启动 `applications/command-center-dashboard`。 -- `pnpm dev:webView`:启动 `applications/drone-app-web-view`。 -- `pnpm build:test:manage` / `pnpm build:prod:manage`:构建管理端测试/生产包。 -- `pnpm build:test:largeScreen` / `pnpm build:prod:largeScreen`:构建大屏应用。 -- `pnpm build:test:webView` / `pnpm build:prod:webView`:构建 WebView 应用。 -各应用内可用脚本使用 `pnpm -C <app> <script>` 调用,如 `dev`、`serve`、`build:*`。 +在仓库根目录使用 `pnpm`: +- `pnpm install`:安装工作区依赖。 +- `pnpm dev`:并行启动所有工作区的开发服务。 +- `pnpm dev:drone-command`:启动单个应用。 +- `pnpm dev:mobile-web-view`:启动单个应用。 +- `pnpm dev:task-work-order`:启动单个应用。 +- `pnpm dev:work-app`:启动 UniApp H5 开发服务。 +- `pnpm dev:work-wx`:启动 UniApp H5 开发服务。 +- `pnpm build:test:<app>` / `pnpm build:prod:<app>`:构建指定应用,例如 `pnpm build:prod:mobile-web-view`。 -## 代码风格与命名约定 -- 格式化遵循 `.prettierrc.json`(使用制表符,`printWidth: 120`,单引号,无分号,CRLF)。 -- SCSS 覆盖配置使用 4 空格制表与双引号。 -- Vue 组件使用 `PascalCase` 命名(如 `UserProfile.vue`),页面目录同样使用 `PascalCase`。 -- 共享逻辑优先放入 `packages/*`,避免在应用内复制粘贴。 +## 编码风格与命名规范 +- 使用 Prettier 统一格式化(`.prettierrc.json`)。 +- 使用 Tab 缩进(`tabWidth: 2`, `useTabs: true`),`semi: false`,`singleQuote: true`。 +- SCSS 使用 `tabWidth: 4` 且双引号。 +- 文件与目录保持 kebab-case,遵循现有应用与包的命名风格。 -## 测试规范 -- 当前未配置测试框架,`pnpm test` 会直接报错退出。 -- 如需新增测试,请在此文件注明测试框架与目录结构(例如 `src/**/__tests__`)。 +## 测试指南 +- 当前未配置测试框架(`pnpm test` 会直接退出)。 +- 若新增测试,请在对应应用 `README.md` 说明测试框架,并补充根目录脚本。 ## 提交与合并请求规范 -- 提交信息遵循 `type: subject`(例如 `feat: add device filter`)。 -- 常见类型:`feat`、`fix`、`docs`、`style`、`refactor`、`perf`、`test`、`chore`、`ci`、`revert`。 -- PR 需包含清晰的变更说明、关联的需求/缺陷链接,并为 UI 变更提供截图或 GIF。 +- 提交历史使用简短的约定式主题(如 `feat: ...`)。 +- 建议使用 `feat:`、`fix:`、`chore:`、`refactor:` 等前缀并保持简洁描述。 +- PR 需要包含:目的、影响的应用/包、UI 改动截图。 +- 可关联相关 issue 或工单。 -## 环境与配置说明 -- Node.js 20以上 -- pnpm 9以上 -- 统一使用 `pnpm`,锁文件为 `pnpm-lock.yaml`。 +## 环境与配置 +- Node.js >= 20,pnpm >= 9。 +- 优先使用根目录工作区脚本,除非必要不要在子目录直接运行脚本。 -- Gitblit v1.9.3