Skip to main content

rusty_fmp/
lib.rs

1//! Library implementation for the `rusty-fmp` crate.
2//!
3//! The HTTP client (`FmpClient`), endpoint descriptors, and error types are always available
4//! so other Rust projects (for example an MCP server) can consume the API without pulling in
5//! the CLI. The `cli` module is gated behind the default `cli` feature and exposes only the
6//! `Cli` parser type plus `run` entry point used by the bundled `fmp-agent` binary.
7//!
8//! Library-only consumers should disable default features:
9//!
10//! ```toml
11//! rusty-fmp = { default-features = false }
12//! ```
13//!
14//! This crate emits log records via the [`log`] crate. Callers control output
15//! by installing a compatible logger (e.g., `env_logger` in the `cli` feature).
16
17#![deny(missing_docs)]
18
19#[cfg(feature = "cli")]
20pub mod cli;
21pub mod client;
22pub mod endpoint;
23pub mod error;
24
25#[cfg(feature = "cli")]
26pub use crate::cli::{Cli, run};
27pub use crate::client::FmpClient;
28pub use crate::endpoint::Endpoint;
29pub use crate::error::{Error, Result};