systemprompt_cli/lib.rs
1//! systemprompt.io command-line application.
2//!
3//! Implements the `systemprompt` binary: the command tree ([`admin`],
4//! [`analytics`], [`build`], [`cloud`], [`core`], [`infrastructure`],
5//! [`plugins`], [`web`]), output formatting, interactive prompts, and session
6//! handling. [`run`] is the process entry point; [`CliConfig`] and the
7//! settings enums control verbosity, color, and output format.
8//!
9//! Copyright (c) systemprompt.io — Business Source License 1.1.
10//! See <https://systemprompt.io> for licensing details.
11
12pub mod cli_settings;
13mod commands;
14pub mod context;
15pub mod descriptor;
16pub mod env_overrides;
17pub mod environment;
18pub mod interactive;
19pub mod paths;
20pub mod presentation;
21mod runner;
22pub mod session;
23pub mod shared;
24
25pub use cli_settings::{CliConfig, ColorMode, OutputFormat, VerbosityLevel};
26pub use commands::{admin, analytics, build, cloud, core, infrastructure, plugins, web};
27pub use context::CommandContext;
28pub use env_overrides::{EnvOverrides, SessionEnv};
29pub use interactive::{DialoguerPrompter, Prompter, ScriptedPrompter};
30pub use runner::run;
31// Why: the argument plane is exported so its pure halves — config assembly,
32// argv reconstruction and the export-flag check — can be exercised from the
33// test workspace. They were `pub(super)` inside a private module, so nothing
34// outside `runner` could name them and the only coverage they got was
35// incidental, through `run`.
36pub use runner::args;