-
Notifications
You must be signed in to change notification settings - Fork 15
Development
xingranya edited this page Jul 9, 2026
·
1 revision
| 依赖 | 版本 |
|---|---|
| Node.js | >= 24 |
| pnpm | >= 11 |
| Rust | 最新稳定版 |
| SQLite | 3 |
| macOS | Xcode Command Line Tools |
git clone https://github.com/xingranya/GitHub-Stars-AI-Tools.git
cd GitHub-Stars-AI-Tools
COREPACK_HOME="$PWD/.corepack" pnpm install# 启动完整桌面应用(推荐日常开发)
COREPACK_HOME="$PWD/.corepack" pnpm tauri dev
# 仅启动前端开发服务器(无桌面能力)
COREPACK_HOME="$PWD/.corepack" pnpm dev# 构建共享包
COREPACK_HOME="$PWD/.corepack" pnpm build:packages
# 构建桌面应用
COREPACK_HOME="$PWD/.corepack" pnpm build
# 生成安装包
COREPACK_HOME="$PWD/.corepack" pnpm tauri build# 1. 构建共享包
COREPACK_HOME="$PWD/.corepack" pnpm build:packages
# 2. 构建前端
COREPACK_HOME="$PWD/.corepack" pnpm build
# 3. Rust 格式检查
cargo fmt --manifest-path "$PWD/apps/desktop/src-tauri/Cargo.toml" --check
# 4. Rust 编译检查
cargo check --manifest-path "$PWD/apps/desktop/src-tauri/Cargo.toml"apps/desktop/ # Tauri 桌面应用
src/ # React 前端
features/ # 功能模块:repositories、knowledge、sidebar
src-tauri/ # Rust 后端
src/
lib.rs # Tauri 命令注册
auth.rs # GitHub Token 存储
github.rs # GitHub API 调用
storage.rs # SQLite 操作
packages/domain/ # TypeScript 领域类型定义
packages/storage/ # SQLite Schema 与迁移
migrations/ # SQL Schema 文件
packages/github/ # GitHub API 边界
packages/ai/ # AI Provider 抽象
packages/search/ # 搜索 DSL
packages/worker/ # 同步与任务编排
- 代码位于
apps/desktop/src/ - 修改后通过
pnpm tauri dev实时预览(热重载) - TypeScript 类型错误会在
pnpm build时暴露
- 代码位于
apps/desktop/src-tauri/src/ - 修改后运行
cargo check验证编译 - 修改 Tauri 命令签名时,需同步更新前端调用代码
- 代码位于
packages/*/src/ - 修改后必须运行
pnpm build:packages重新构建 -
packages/domain的类型定义是前后端契约,变更需谨慎
- 在
packages/storage/migrations/下新建.sql文件(序号递增) - 更新
apps/desktop/src-tauri/src/storage.rs的必需表字段检测 - 更新
packages/domain/src/index.ts中的相关类型定义 - 运行
pnpm build和cargo check验证
如果编译报错提示旧路径或依赖冲突:
cargo clean --manifest-path "$PWD/apps/desktop/src-tauri/Cargo.toml"
cargo check --manifest-path "$PWD/apps/desktop/src-tauri/Cargo.toml"