docs: 添加 Copilot 使用说明文档
This commit is contained in:
148
.github/copilot-instructions.md
vendored
Normal file
148
.github/copilot-instructions.md
vendored
Normal 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 的注释 (`<!-- -->`) 来解释复杂逻辑和重要函数。
|
||||||
Reference in New Issue
Block a user