diff --git a/.zed/rules/commit.rules.md b/.zed/rules/commit.rules.md new file mode 100644 index 0000000..99e4519 --- /dev/null +++ b/.zed/rules/commit.rules.md @@ -0,0 +1,48 @@ +# DevFlow 提交规范 + +## 提交注释格式 + +``` +<动词>: <简短描述> + +<详细说明(可选,仅在需要补充上下文时)> +``` + +## 动词词表 + +| 动词 | 使用场景 | +|------|---------| +| `新增` | 新功能、新特性、新文件 | +| `修复` | Bug 修复、问题修正 | +| `更新` | 文档更新、配置变更、依赖升级、非功能性的已有内容修改 | +| `重构` | 代码重构(行为不变的结构调整) | +| `删除` | 移除功能、删除文件 | +| `优化` | 性能优化、体验改进 | +| `合并` | 分支合并 | + +## 规范要求 + +1. **动词 + 冒号 + 空格**:`修复: 审批按钮永久转圈` +2. **主题行不超过 72 字符** +3. **主语用中文**,描述清楚改动内容 +4. **不要用内部代号**:禁止 Batch/P1/P2/L1/F-XX 等代号 +5. **不要用分隔线**:禁止 `---` 或 `===` 等装饰线 +6. **不要写无意义提交**:如"更新"、"修复"、"提交"等无法看出内容的单字提交 +7. **改动较多的提交**:主题行概括后,空一行用列表展开具体条目 +8. **文档和代码合并提交**:文档更新和对应代码改动放在同一个提交中,不分散 + +## 示例 + +``` +修复: 审批按钮永久转圈和等待计数不停 +``` + +``` +新增: 文件浏览器增强(窗口分离/Git 变更/行号/Diff/分页提交历史) + +- 窗口分离: FileExplorer 可弹出独立 Tauri 窗口 +- 行号显示: 文件预览左侧显示行号列 +- Diff 视图: 有 Git 变更的文件可切换 diff 红绿视图 +- 提交详情: 点击提交查看变更文件列表及文件级 diff +- 中文编码修复: git 命令注入 LC_ALL 环境变量 +``` diff --git a/.zed/rules/development.rules.md b/.zed/rules/development.rules.md new file mode 100644 index 0000000..d66269e --- /dev/null +++ b/.zed/rules/development.rules.md @@ -0,0 +1,29 @@ +# DevFlow 开发规则 + +## 技术栈 + +- 桌面端: Tauri v2 + Vue 3 + TypeScript + Pinia +- 后端: Rust Workspace (8 crate) / SQLite +- 包管理: bun (前端) / cargo (Rust) +- 路径: `E:/wk-lab/devflow` + +## 架构原则 + +1. **治本不治标**:修复问题时找到根因,不做表面补丁 +2. **DRY 原则**:不重复代码,抽象出可复用逻辑 +3. **长远考虑**:不追求局部最优,考虑整体架构演进 +4. **修改收敛**:同类改动合并到一个批次提交,不零散提交 + +## 代码规范 + +1. **Rust 后端**:提交前运行 `cd src-tauri && cargo check` +2. **前端 TypeScript/Vue**:提交前运行 `npx vue-tsc --noEmit` +3. **完整构建**:提交前运行 `npx vite build`(验证构建不报错) +4. **TypeScript 文件名**:camelCase(`fileExplorer.ts`) +5. **Vue 组件文件名**:PascalCase(`FileExplorer.vue`) + +## i18n + +- 中英文双语言同步:`src/i18n/en/` 和 `src/i18n/zh-CN/` +- 新增组件时同时添加对应语言的翻译文件 +- 国际化文件自动聚合(`src/i18n/*/index.ts` 自动导入所有模块文件)