rust-patterns

Solid

Rust/Tauri patterns and best practices for ClaudeTerminal backend

AI & Automation 39 stars 9 forks Updated 2 weeks ago MIT

Install

View on GitHub

Quality Score: 81/100

Stars 20%
53
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
49
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Rust Patterns for ClaudeTerminal ## Error Handling - Commands return `Result<T, String>` - use `.map_err(|e| e.to_string())` - Never `.unwrap()` in production - use `?` operator - Use `anyhow` for internal errors, convert to String at IPC boundary ## Thread Safety - `AppState` uses `Arc<Mutex<T>>` - lock, use, drop quickly - Never hold a Mutex lock across `.await` points - PTY reader threads use `mpsc::channel` to communicate with Tokio tasks ## Tauri Commands - All commands are `async` with `#[tauri::command]` - Access state via `tauri::State<'_, AppState>` - Register every command in `main.rs` invoke_handler ## Windows Specifics - Wrap shell commands with `cmd /C` - Use `CREATE_NO_WINDOW` flag on process spawns - Test path handling with backslashes ## PTY Lifecycle - Spawn → reader thread → mpsc channel → Tokio task → emit events - On close: signal reader thread, join, close channel, emit `terminal-finished` - Always clean up resources even on error paths

Details

Author
talayash
Repository
talayash/agentrium
Created
7 months ago
Last Updated
2 weeks ago
Language
TypeScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category