mirror of
https://github.com/Xinrea/bili-shadowreplay.git
synced 2025-11-25 04:22:24 +08:00
57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
# Rust Backend Development Guidelines
|
|
|
|
## Project Structure
|
|
|
|
- **Main entry**: [src-tauri/src/main.rs](mdc:src-tauri/src/main.rs)
|
|
\- Application entry point
|
|
- **Core modules**:
|
|
- [src-tauri/src/recorder/](mdc:src-tauri/src/recorder/)
|
|
\- Stream recording and management
|
|
- [src-tauri/src/database/](mdc:src-tauri/src/database/)
|
|
\- SQLite database operations
|
|
- [src-tauri/src/handlers/](mdc:src-tauri/src/handlers/)
|
|
\- Tauri command handlers
|
|
- [src-tauri/src/subtitle_generator/](mdc:src-tauri/src/subtitle_generator/)
|
|
\- AI-powered subtitle generation
|
|
|
|
## Custom Crates
|
|
|
|
- **danmu_stream**: [src-tauri/crates/danmu_stream/](mdc:src-tauri/crates/danmu_stream/)
|
|
\- Danmaku stream processing library
|
|
|
|
## Dependencies
|
|
|
|
- **Tauri 2**: Core framework for desktop app functionality
|
|
- **FFmpeg**: Video/audio processing via `async-ffmpeg-sidecar`
|
|
- **Whisper**: AI transcription via `whisper-rs` (CUDA support available)
|
|
- **LangChain**: AI agent functionality
|
|
- **SQLite**: Database via `sqlx` with async runtime
|
|
|
|
## Configuration
|
|
|
|
- **Cargo.toml**: [src-tauri/Cargo.toml](mdc:src-tauri/Cargo.toml)
|
|
\- Dependencies and features
|
|
- **Tauri config**: [src-tauri/tauri.conf.json](mdc:src-tauri/tauri.conf.json)
|
|
\- App configuration
|
|
- **Example config**: [src-tauri/config.example.toml](mdc:src-tauri/config.example.toml)
|
|
\- User configuration template
|
|
|
|
## Features
|
|
|
|
- **default**: Includes GUI and core functionality
|
|
- **cuda**: Enables CUDA acceleration for Whisper transcription
|
|
- **headless**: Headless mode without GUI
|
|
- **custom-protocol**: Required for production builds
|
|
|
|
## Development Commands
|
|
|
|
- `yarn tauri dev` - Start Tauri development with hot reload
|
|
- `yarn tauri build` - Build production application
|
|
- `cargo check` - Check Rust code without building
|
|
- `cargo test` - Run Rust tests
|
|
description:
|
|
globs:
|
|
alwaysApply: true
|
|
|
|
---
|