- 添加页面边距、表格样式和按钮样式约定到 AGENTS.md 文档 - 为任务详情抽屉组件添加卡片样式和表格结构优化 - 重构任务表格组件,增加搜索功能和列设置选项 - 移除独立的策略表单组件,整合到汇总页面 - 优化监控摘要组件的网格布局和样式 - 重新设计目标对话框的表单分组和禁用状态处理 - 统一所有组件使用 card、table-main 等标准类名 - 添加文件编码规范要求确保 UTF-8 编码一致性
6.1 KiB
Repository Guidelines
Agent 工作方式
进入本仓库后,先阅读本文件,再开始分析、修改或输出结论。不要跳过现有文档直接下判断,至少先结合根目录现有说明、doc/、package.json、目标模块代码和相关配置确认上下文;如果存在 README.md,也应一并阅读。
日常交互遵循以下习惯:
- 先整理执行方案,说明目标、涉及模块、预计修改点和验证方式,待用户评审确认后再执行。
- 不要想当然;如果需求存在歧义、前提不清或有多种实现路径,先说清假设与取舍,再继续。
- 默认先确认任务是否位于
frontend/src/,再按views/、components/、api/、stores/、routers/、hooks/的调用关系向下分析;只有涉及桌面壳层或启动问题时,再继续查看electron/、scripts/、build/、public/。 - 当
views/**/index.vue内容过大时,优先按功能块抽到当前功能目录下的components/,页面入口只保留编排、状态组织和事件分发,不把大段展示结构继续堆在index.vue。 - 涉及 preload 桥接、主进程配置、自动更新、窗口生命周期、端口检测或打包启动链路时,先核对已有实现和
doc/中的说明,避免只看局部代码就下结论。 - 回复风格保持简洁、直接,优先给出可执行结果;如果存在限制、风险或未验证部分,需要明确说明。
执行与修改原则
- 简单优先:只做当前需求所需的最小改动,不额外引入新功能、抽象层、配置项或“顺手优化”。
- 外科手术式修改:只改与任务直接相关的文件和代码行,不重构无关模块,不调整无关格式或注释。
- 保持现有风格:遵循仓库已有包结构、分层方式、命名和写法,不按个人偏好重写。
- 只清理自己造成的问题:可以删除因本次修改而产生的未使用
import、变量或方法;不要删除仓库中原本就存在的死代码,除非用户明确要求。 - 页面边距约定:业务页面根节点默认跟随布局主内容区
el-main的15px边距,不再额外叠加页面级外边距;如需特殊边距,必须先有明确的视觉参照页面或业务原因。 - 表格样式约定:业务表格优先复用仓库现有
table-main、card、table-header结构,参照dictdata页面;表格卡片内部默认不再额外堆叠页面标题、说明文案或自定义装饰区,表头左侧用于主操作、次操作和危险批量操作,右侧用于刷新、列设置、搜索等工具按钮;不要在单页里重复自定义表格卡片边框、表头按钮布局和表头配色,除非有明确视觉参照或业务原因。 - 按钮样式约定:业务页面按钮参照
dictdata页面;表头主操作使用type="primary",表头次操作使用type="primary" plain,危险批量操作使用type="danger" plain,表格行内操作统一使用link风格并优先保持primary语义与图标一致性;弹窗底部保持“取消”默认按钮、“主确认”使用primary,同级辅助执行按钮使用primary plain。 - 先定义验证方式:执行方案里要写清楚“改哪里、怎么判断改对了”;默认通过代码路径、配置一致性、界面影响范围和启动链路检查进行验证。
- 除非用户明确要求,否则不执行
npm run build、npm run build-w、electron-builder、加密打包或其他重型构建命令;通常只做静态检查、必要的代码阅读和轻量验证。
项目结构与模块组织
本仓库以前端界面开发为主,使用 Vue 3 构建页面,并通过 Electron 提供桌面壳层与本地运行能力。
electron/:主进程入口、preload 桥接层、运行时配置。frontend/src/:前端源码,按api/、components/、hooks/、layouts/、routers/、stores/、styles/、utils/、views/分层组织。scripts/:桌面启动、端口检测、日志窗口和运行时辅助脚本。public/:静态 HTML 与应用图片资源。build/、cmd/、data/:打包资源、构建配置、运行时附带数据。doc/:维护说明与打包文档。
不要直接修改生成内容,如 frontend/dist/、out/、logs/、public/electron/。
代码风格与命名规范
前端格式化规则定义在 frontend/.prettierrc:4 空格缩进、单引号、不写分号、单行 120 字符、LF 换行。Lint 规则基于 Vue 3 与 TypeScript。
文件编码规范:所有新增或修改的源码、脚本、配置、文档统一使用 UTF-8 编码(无 BOM)和 LF 换行,不要保存为 GBK、ANSI 或其他本地编码,避免再次出现乱码。
请遵循现有命名方式:
- 页面或路由目录通常使用
index.vue,例如views/home/ - 通用组件使用 PascalCase,例如
HomeToolCard.vue - 组合式函数使用
useX.ts,例如useTheme.ts - 状态模块放在
frontend/src/stores/modules/
执行原则
涉及页面主流程、状态切换、接口适配、preload 通信、启动链路等关键业务节点时,必须补充简洁、准确的中文注释,并统一使用 UTF-8 编码。注释应说明业务目的、关键条件或异常处理原因,避免空泛描述。
测试指南
仓库根目录当前未配置自动化测试,也不存在 *.spec.* 或 *.test.* 文件。提交 PR 前至少执行 cd frontend; npm run lint、cd frontend; npm run type-check,并手动验证启动、登录和受影响页面。
提交与 Pull Request 规范
当前 main 分支还没有可用提交历史,建议使用清晰的祈使句提交信息,优先采用 Conventional Commits,例如 feat: 增加启动端口重试、fix: 处理 mysql 路径缺失。
PR 应包含:
- 问题与方案的简要说明
- 对应的任务单或 issue 链接(如有)
- UI 变更截图
- 打包、启动或 preload 变更的人工验证步骤
安全与配置提示
public/ssl/、build/extraResources/ 与 electron/config/ 包含敏感运行资源。不要硬编码新的密钥或口令;凡是影响打包或启动的本地 .env、端口或运行配置调整,都应同步记录到 doc/。