shepherd-cli 6.6.0

The canonical shepherd command-line interface over the per-project registry, run artifacts, and sprint pipeline.
/*
    Appellation: shepherd-cli <library>
    Created At: 2026.08.12:14:55:18
    Contrib: @FL03
*/
//! # shepherd-cli
//!
//! The command-line adapter over the [`shepherd`] SDK.
//!
//! Everything here is delivery: argument parsing, configuration loading and
//! layering, terminal output, exit codes, and the tracing subscriber. The
//! domain types, configuration schema, and run state live behind the umbrella,
//! which knows nothing about any of it.
//!
//! When a second consumer arrives — a Node binding, a WebAssembly module, a
//! future harness adapter — it links [`shepherd`] with the capabilities it
//! wants and reimplements only this layer. That is the arrangement that means
//! the engine is never rewritten again.
//!
//! Note the direction of the dependency: this crate names [`shepherd`], never
//! `shepherd-core`, `shepherd-registry`, or `shepherd-render`. Splitting a new
//! member out of the engine is then an internal refactor rather than a change
//! every adapter has to absorb.
#[cfg(feature = "alloc")]
extern crate alloc;

pub use shepherd;

// modules (public)
pub mod cmd;
pub mod content_compiler;
pub mod context;
mod dispatch_broker;
mod dispatch_budget;
mod dispatch_scope;
mod dispatch_service;
mod dispatch_store;
mod interface;
pub mod migrate;
mod native_authority;
mod orientation;
mod orientation_fs;
pub mod portable_path;
mod run_store;
mod seed_verifier;
// Non-unix only: the reparse-point-rejecting twins of the rustix
// descriptor primitives. See the module docs for what it does and does not
// guarantee relative to the unix side.
#[cfg(not(unix))]
mod safe_fs;
// re-exports
#[doc(inline)]
pub use self::context::ProjectRootAnchor;
#[doc(inline)]
pub use self::context::{
    Clock, ContextEnvironment, ContextError, ContextHost, ContextInputs, ExecutionContext,
    IdentifierSource, IoBoundary, OutputFormat, RuntimeBindings, SystemEnvironment, SystemHost,
};
#[doc(inline)]
pub use self::dispatch_broker::{
    BROKER_COMPLETION_SCHEMA, BROKER_PROTOCOL_SCHEMA, BrokerError, BrokerLaunchId, ClaimedLaunch,
    LaunchHandle, NativeBroker, ProcessIdentity,
};
#[cfg(any(unix, windows))]
#[doc(inline)]
pub use self::dispatch_broker::{BrokerChildClient, BrokerClient};
#[doc(inline)]
pub use self::dispatch_service::{
    BindRootDispatchRequest, CarrierAttachmentExpectationRequest, ClaimPendingDispatchRequest,
    ClaimPendingDispatchResponse, DispatchResolution, DispatchService, DispatchServiceError,
    DispatchServiceResult, PreparePendingDispatchRequest, PreparePendingDispatchResponse,
    ProfileActivateRequest, ProfileEnterRequest, ProfileExitRequest,
    REVIEW_REPLACEMENT_REQUEST_SCHEMA, REVIEW_REQUEST_SCHEMA, REVIEW_RULING_REQUEST_SCHEMA,
    ResolveDispatchRequest, ReviewReplacementRequest, ReviewRulingRequest, ReviewValidationRequest,
    SkillUseAttestRequest, SkillUsePrepareRequest, StopDispatchRequest,
    validate_review_result_request,
};
#[doc(inline)]
pub use self::dispatch_store::{
    DispatchStore, DispatchStoreError, DispatchStoreResult, PendingClaim, PublicationFault,
    ReconciliationReport, ReviewQuarantineFault, RootRenewalFault,
};
pub use self::interface::{CliError, ShepherdCli};
#[doc(inline)]
pub use self::run_store::{RunStore, RunStoreError, RunStoreResult};
#[doc(inline)]
pub use shepherd::{Harness, ShepherdConfig, error, settings, types};
// prelude
#[doc(hidden)]
pub mod prelude {
    pub use crate::cmd::prelude::*;
    pub use crate::interface::ShepherdCli;
    pub use shepherd::prelude::*;
}