Skip to main content

fabryk_cli/
lib.rs

1//! CLI framework for Fabryk-based applications.
2//!
3//! This crate provides a generic CLI structure that domain applications
4//! can extend with their own commands.
5//!
6//! # Key Abstractions
7//!
8//! - [`FabrykCli<C>`]: Generic CLI parameterized over config provider
9//! - [`CliExtension`]: Trait for adding domain-specific subcommands
10//! - Built-in graph commands (validate, stats, query)
11
12pub mod app;
13pub mod cli;
14pub mod config;
15pub mod config_handlers;
16pub mod graph_handlers;
17#[cfg(feature = "vector-fastembed")]
18pub mod vectordb_handlers;
19
20// Re-exports — CLI types
21pub use cli::{
22    BaseCommand, CliArgs, CliExtension, ConfigAction, ConfigCommand, GraphCommand, GraphSubcommand,
23};
24#[cfg(feature = "vector-fastembed")]
25pub use cli::{VectordbAction, VectordbCommand};
26
27// Re-exports — application
28pub use app::FabrykCli;
29
30// Re-exports — configuration
31pub use config::FabrykConfig;
32
33// Re-exports — graph handler types
34pub use graph_handlers::{BuildOptions, QueryOptions};