- Real LLM API calls for insights, sentiment, smart replies
- Polish button (✨) to improve messages before sending
- Tips display when customer messages arrive
- Sentiment analysis with escalation warnings
- Smart reply suggestions from LLM
- Conversation history tracking for context
New rules added:
- Two LLM work modes: Execution (fazer) vs Review (conferir)
- HTMX-first frontend: minimize JS at maximum
- Local assets only: no CDN references
- Server returns HTML fragments, not JSON
- No dead code: implement real code, never use _ prefix
- cargo audit must pass with 0 warnings
- Documentation rules: Rust code only in architecture docs
- Added HTMX patterns and examples
- AppState now uses BotServerClient directly
- BOTSERVER_URL env var support for configuration
- index() handler properly integrated into router
- Removed unused web module (DTOs were never used)
- Removed all #[allow(dead_code)] attributes
- Zero warnings, cargo audit clean
Tauri-specific code has been moved to the botapp crate.
Changes:
- Removed tauri, tauri-plugin-*, trayicon, ksni dependencies
- Removed desktop feature flags
- Removed src/desktop/ module (moved to botapp)
- Removed tauri.conf.json (moved to botapp)
- Simplified build.rs (no tauri_build)
- Updated lib.rs and main.rs for pure web operation
Architecture:
- botui: Pure web UI (this crate) - no native deps
- botapp: Tauri wrapper that loads botui's suite
This separation allows:
- Same UI code for web, desktop, and mobile
- Clean dependency management
- App-specific features only in native app