rust-patterns
SolidRust/Tauri patterns and best practices for ClaudeTerminal backend
AI & Automation 39 stars
9 forks Updated 2 weeks ago MIT
Install
Quality Score: 81/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
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