Skip to main content

freeman/
lib.rs

1//! # Freeman TUI
2//!
3//! A minimal terminal-based API testing tool, similar to Postman/Insomnia.
4//!
5//! ## Features
6//! - HTTP methods: GET, POST, PUT, PATCH, DELETE
7//! - Request body editor
8//! - Custom headers
9//! - Auth support (Bearer, Basic)
10//! - Request history
11//! - cURL import/export
12//! - JSON syntax highlighting
13//! - Workspace discovery (OpenAPI, FastAPI, Express)
14//!
15//! ## Architecture
16//! Actor-based with channels:
17//! - UI Layer (Ratatui) - synchronous
18//! - App Layer (State machine)
19//! - Network Layer (Tokio runtime)
20
21pub mod models;
22pub mod storage;
23pub mod ui;
24pub mod tui;
25pub mod curl;
26pub mod discovery;
27pub mod messages;
28pub mod app;
29pub mod network;
30pub mod constants;
31
32// Re-export commonly used types
33pub use models::{Request, HttpMethod, Header, AuthType, Collection, Environment};
34pub use curl::{parse_curl, to_curl};
35pub use discovery::{DiscoveredEndpoint, WorkspaceProject, Framework};
36pub use messages::{UiEvent, NetworkCommand, NetworkResponse, RenderState};
37pub use app::{AppState, AppActor};
38pub use network::NetworkActor;