Files
SecScore/src-tauri/AGENTS.md
T
Linkon 3d5724dbd7 添加AGENTS.MD
由oMo/init-deep和GPT5.3codex生成
2026-03-21 01:52:07 +08:00

48 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后端知识库(src-tauri
## 作用域
本文件仅约束 `src-tauri/`Rust + Tauri)后端实现。
## 关键入口
- `src-tauri/src/main.rs`:二进制入口,调用 `secscore_lib::run()`
- `src-tauri/src/lib.rs`:应用装配中心(`setup``invoke_handler`、托盘/窗口、数据库启动)。
- `src-tauri/src/state.rs`:全局状态容器。
## 模块分层
- `src-tauri/src/commands/`Tauri IPC 命令边界层。
- `src-tauri/src/services/`:业务服务层(鉴权、设置、主题、数据等)。
- `src-tauri/src/db/`:连接、迁移、实体与仓储。
- `src-tauri/src/models/`:模型与 DTO。
## 后端约束
- 新命令必须在 `commands/mod.rs` 导出,并在 `lib.rs``invoke_handler` 注册。
- 命令层优先做参数校验与权限校验,业务细节下沉至 `services/`
- 涉及数据库结构或同步策略变更时,必须同步审阅 `db/migration.rs``commands/database.rs`
- 变更 `board`/SQL 查询相关能力时,优先白名单策略,避免扩散动态 SQL 风险面。
## 后端反模式
- 不要在 `commands/database.rs` 继续堆新职责;优先拆分为更小模块。
- 不要把 UI 或前端状态逻辑迁入 Rust 命令层。
- 不要绕过统一状态容器直接创建长期悬挂资源。
## 后端验证
在仓库根目录执行:
```bash
pnpm lint
pnpm typecheck
pnpm tauri:build
```
CI/发布场景还需参考:`.github/workflows/build.yml`
## 说明
- 当前 `src-tauri/tauri.conf.json``beforeDevCommand`/`beforeBuildCommand` 使用 `npm run ...`,与仓库默认 `pnpm` 并存;修改构建链路时请同步评估。