docs: 添加 Copilot 使用说明文档

This commit is contained in:
徐涛
2026-02-13 14:51:26 +08:00
parent db72b7fea8
commit 16bfcfbcde

148
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,148 @@
---
applyTo: "**"
---
## 项目架构与关键信息
### 项目概览
- **类型**: Tauri 2 应用
- **前端**: SvelteKit + Tailwind CSS + Vite
- **后端**: Rust 1.92.0+ (2024 edition)
- **包管理**: Deno (前端) + Cargo (Rust)
- **主要功能**: 利用 LLM 解析招标文件,拆解分析招标需求和关键点,按照招标文件要求生成投标文件草稿。
### 核心架构
```
bidding-agent/
├── src/ # SolidJS 前端应用入口
├── src-tauri/ # Tauri 主应用 (Rust)
├── crates/ # 辅助功能库:
│ └── agency # LLM控制库提供Context、Memory功能
└── package.json # 前端依赖及任务配置
```
### 前后端通信
- 前端调用: `invoke("command_name", { args })` (Tauri API)
- 插件暴露 API: `package.json` 中本地路径依赖 (`file:./tauri-plugin-*`)
- 所有插件命令必须通过 `#[tauri::command]` 宏注册
### 关键约束
- **Rust 版本**: 严格要求 1.92.0+,使用 2024 edition
- **构建空间**: 项目需要大量磁盘空间Rust 编译特性),可用 `cargo clean` 清理
## 开发工作流
### 启动开发环境
```bash
deno task tauri dev
```
- 启动 Vite 热重载 (端口 1420)
- 编译 Rust 后端
- 构建并运行应用
### 构建应用
```bash
deno task tauri build
```
### 清理缓存
```bash
cd src-tauri && cargo clean
```
使用此命令释放磁盘空间。
## Git Commit Message 规范
### Commit 格式
使用以下格式生成 Git Commit Messages
```
<type>(<scope>): <subject>
<body>
<footer>
```
### 支持的 Type 标记
- **feat**: 新功能 (feature) - 用于新增前端页面或后端API
- **fix**: 修复 bug - 插件功能修复、前后端问题修复
- **docs**: 仅文档变更 (documentation)
- **enhance**: 功能增强/改进 - 性能优化、UI改进
- **chores**: 构建过程、依赖项更新等 (chore)
- **refactor**: 代码重构 (不改变功能)
- **perf**: 性能优化 - 标签渲染性能、扫描响应速度
- **test**: 添加或修改测试
- **ci**: CI/CD 配置变更
- **style**: 代码风格调整 (空格、格式等)
- **revert**: 撤销之前的提交
### Subject 行规范
- 必须使用中文,简洁描述变更内容
- 不超过 50 个字符
- 使用祈使句 (如: "Add", "Fix", "Update" 而不是 "Added", "Fixed")
- 不以句号结尾
- 使用 scope 前缀指明影响范围: `feat(camera-plugin)`, `fix(tag-renderer)`, `enhance(scanner)`
### Body 规范 (可选)
- 必须使用中文,详细描述变更原因和内容
- 每行不超过 72 个字符或者 40 个汉字
- 用空行分隔 subject 和 body
- 解释 what 和 why而不是 how
- 可以包含多个段落
### Footer 规范 (可选)
- 引用相关的 Issue: `Closes #123`, `Fixes #456`
- 标记破坏性变更: `BREAKING CHANGE: description`
### 示例
```
feat(agency): 增加ContextBuilder实现
使用ContextBuilder简化上下文创建流程支持链式调用支持动态拼接提示词。
Closes #123
```
```
fix(camera-plugin): 解决Android系统上图片旋转的问题
修复摄像头插件图像旋转问题。摄像头插件未能根据设备方向
正确旋转图像,此修复确保在所有支持的 Android 设备上正确旋转。
Fixes #456
```
```
chores(deps): 更新 Tauri 相关依赖到最新版本
更新 tauri 和 tauri-cli 包版本,改进稳定性和安全性。
BREAKING CHANGE: 需要 Rust 1.70+ 支持
```
```
docs: 更新 README 中的安装说明
更新 README 中的安装说明
```
```
enhance(scanner): 优化条码检测速度
优化条码检测速度,提高扫描性能
```
## 通用代码规则
- 不要创建独立的Markdown文件或文档文件除非有明确要求。
- 不要为示例、文档或摘要创建 .md 文件。
- 不要创建和修改相关功能的功能示例文件、实现总结文件、实现清单文件和ReadMe文件等。
- 仅修改现有代码文件或建议内联注释。
## 项目特定模式
- **Rust 代码**: 使用 `snake_case` 命名函数和变量,使用 `PascalCase` 命名类型和枚举。
- **Svelte 代码**: 使用 `camelCase` 命名变量和函数,使用 `PascalCase` 命名组件。
- **Tailwind CSS**: 使用 Tailwind 的实用类,不要编写自定义 CSS除非必要。
- **模块划分**: 将相关功能组织在同一模块中,避免过度拆分。
- **错误处理**: Rust 代码中使用 `Result` 类型进行错误处理,并使用 `?` 运算符简化错误传播。
- **文档注释**: 使用 Rust 的文档注释 (`///`) 和 Svelte 的注释 (`<!-- -->`) 来解释复杂逻辑和重要函数。