limit_cli/lib.rs
1//! # limit-cli
2//!
3//! AI-powered terminal coding assistant with TUI interface.
4//!
5//! This crate provides the main entry point for the Limit AI coding assistant.
6//! It includes session management, tool execution, and TUI interface.
7//!
8//! ## Features
9//!
10//! - **Multi-provider LLM**: Anthropic Claude, OpenAI GPT, z.ai GLM, and local models
11//! - **18 built-in tools**: File I/O, bash execution, git operations, code analysis
12//! - **Session persistence**: Auto-save and restore conversations
13//! - **File autocomplete**: Type `@` to quickly reference files
14//!
15//! ## Usage
16//!
17//! ```bash
18//! lim
19//! ```
20//!
21//! ## Modules
22//!
23//! | Module | Description |
24//! |--------|-------------|
25//! | [`agent_bridge`] | Bridge between LLM agent and CLI |
26//! | [`session`] | Session management and persistence |
27//! | [`tools`] | Built-in tool implementations |
28//! | [`tui`] | Terminal UI components |
29//! | [`syntax`] | Syntax highlighting |
30//! | [`file_finder`] | File autocomplete with fuzzy matching |
31//! | [`session_share`] | Export sessions to various formats |
32
33pub mod agent_bridge;
34pub mod clipboard;
35pub mod clipboard_paste;
36pub mod clipboard_text;
37pub mod session_share;
38pub mod session_tree;
39pub mod system_prompt;
40
41pub use session_tree::{
42 generate_entry_id, SerializableMessage, SessionEntry, SessionEntryType, SessionTree,
43};
44
45pub mod error;
46pub mod file_finder;
47pub mod logging;
48pub mod session;
49pub mod syntax;
50pub mod tools;
51pub mod tui;
52pub mod tui_bridge;
53
54pub use agent_bridge::{AgentBridge, AgentEvent};
55pub use error::CliError;
56pub use file_finder::{FileFinder, FileMatch};
57pub use logging::init_logging;
58pub use session::SessionManager;
59pub use session_share::{ExportFormat, SessionExport, SessionShare};
60pub use syntax::SyntaxHighlighter;
61pub use tui::{FileAutocompleteState, TuiState};
62pub use tui_bridge::{TuiApp, TuiBridge};