本文件用于指导 Claude(及其他 AI 助手)在本仓库内进行高质量的代码协作。 请在每次重大改动后保持本文件与实际工程的同步。
auto-record,crate lib 名:auto_record_lib)src/App.css 的 @theme 块)com.ewaga.autorecord(src-tauri/tauri.conf.json#identifier)AutoRecord/
├── CLAUDE.md # 本文件
├── README.md
├── package.json # 前端依赖与脚本(pnpm)
├── pnpm-lock.yaml # 首次 pnpm install 后生成
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
├── index.html
├── public/ # 静态资源(不经构建处理)
│ ├── tauri.svg
│ └── vite.svg
├── src/ # 前端源码(TypeScript + React)
│ ├── main.tsx # 应用入口
│ ├── App.tsx # 根组件
│ ├── App.css
│ ├── styles.css
│ ├── vite-env.d.ts
│ └── assets/
│ └── react.svg
└── src-tauri/ # Rust / Tauri 端
├── Cargo.toml
├── build.rs
├── tauri.conf.json # Tauri 主配置
├── capabilities/
│ └── default.json # 权限能力声明(Tauri 2 权限系统)
├── icons/ # 平台图标(需运行 `pnpm tauri icon` 生成)
└── src/
├── main.rs # 桌面端入口
└── lib.rs # 可复用入口(含 #[tauri::command])
所有命令在仓库根目录执行,使用 pnpm(请勿混用 npm/yarn)。
| 目的 | 命令 | 对应脚本(package.json) |
|---|---|---|
| 安装依赖 | pnpm install |
— |
| 启动开发(含 Tauri 壳) | pnpm tauri dev |
tauri |
| 仅启动前端 Vite | pnpm dev |
vite |
| 构建前端 | pnpm build |
tsc && vite build |
| 预览构建产物 | pnpm preview |
vite preview |
| 打包桌面端 | pnpm tauri build |
tauri |
| 生成多平台图标 | pnpm tauri icon <path> |
tauri |
| 查看 Tauri CLI 帮助 | pnpm tauri --help |
tauri |
src/main.tsx → 渲染 <App /> 到 #root@import 与 @theme token)写在 src/App.css;组件样式优先写在同名 .css / 模块化样式中text-primary、bg-gray-3、rounded-md、shadow-md、p-4);这些 token 与 antd 6 的 seed token 完全一致,后续接入 antd ConfigProvider 时请保持同步vite.config.ts + tsconfig.json 中同步@tauri-apps/api 的 invoke("command_name", args)src-tauri/src/lib.rs 中,main.rs 仅作为薄入口(移动端复用所需)暴露给前端的命令使用 #[tauri::command] 标注,并注册到
.invoke_handler(tauri::generate_handler![greet, /* ... */])
Tauri 2 使用 权限系统(capabilities):任何新插件 / 新 API 都需要在
src-tauri/capabilities/default.json 中显式声明权限
新增 Rust 依赖:编辑 src-tauri/Cargo.toml 后由 cargo 自动解析
WebView、MediaRecorder、invoke、StrictMode 等)保留英文原词strict,禁止 any(业务代码);优先使用类型推断cargo fmt + cargo clippy --all-targets -- -D warningsfeat: / fix: / chore: ...)在本仓库内开展工作时,请遵循:
package-lock.json / yarn.locksrc-tauri/gen/(由 Tauri 在构建时生成)pnpm add <pkg>;运行时依赖与 devDeps 分清Cargo.toml,必要时说明 feature flagscapabilities/default.json 与 tauri.conf.json.gitignore