Release v0.6.0 - Interactive REPL — `ait` with no args launches an interactive shell (`src/repl.rs`) - Streaming AI responses with "thought" UX: tokens stream in dim/grey text, then collapse and show the clean parsed result - SSE streaming from Anthropic Messages API (`stream: true`, `content_block_delta` event parsing) - `rustyline` integration for readline (arrow keys, in-memory history, Home/End, Ctrl+A/E) - `tokio` async runtime — `main()` is now `#[tokio::main] async fn main()` - Dual mode: REPL when no args, one-shot when args provided - `AiContext` struct (`src/provider/ai_context.rs`) bundles provider + system prompt setup - Shell commands now run via `$SHELL -i -c` with proper process group management (`libc`), so user aliases and functions work in the REPL - `AnthropicProvider` is now a concrete async struct (dropped `Provider` trait — deferred to v1.5) - `reqwest` switched from blocking to async with `stream` feature (dropped `blocking` feature) - One-shot AI prompts now use streaming + thought UX (same as REPL) - `AnthropicProvider::complete()` and `stream()` refactored to share `send_request()` helper - `handle_command()` moved from `main.rs` to `execution/runner.rs` — single source of truth - `handle_ai_prompt()` moved into `AiContext::handle_prompt()` method - Config subcommand dispatch moved into `config/commands.rs::run()` - Command execution uses `$SHELL` instead of hardcoded `sh` (falls back to `sh` if unset) - `Provider` trait (`provider/mod.rs`) — only one provider exists; trait returns in v1.5 Phase 1