Implements Phase 5 from the roadmap with complete mode-based tool filtering: - Add Mode enum (Chat/Code) with FromStr trait implementation - Extend Config with ModeConfig for per-mode tool availability - Update ToolRegistry to enforce mode-based filtering - Add --code/-c CLI argument to start in code mode - Implement TUI commands: :mode, :code, :chat, :tools - Add operating mode indicator to status line (💬/💻 badges) - Create comprehensive documentation in docs/phase5-mode-system.md Default configuration: - Chat mode: only web_search allowed - Code mode: all tools allowed (wildcard *) All code compiles cleanly with cargo clippy passing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Owlen TUI
This crate contains all the logic for the terminal user interface (TUI) of Owlen.
It is built using the excellent ratatui library and is responsible for rendering the chat interface, handling user input, and managing the application state.
Features
- Chat View: A scrollable view of the conversation history.
- Input Box: A text input area for composing messages.
- Model Selection: An interface for switching between different models.
- Event Handling: A system for managing keyboard events and asynchronous operations.