Skip to main content

Cli

Struct Cli 

Source
pub struct Cli {
Show 15 fields pub command: Option<String>, pub version: Option<bool>, pub level: Option<String>, pub cwd: Option<String>, pub root: Option<String>, pub session_id: Option<String>, pub explain: bool, pub suggest: bool, pub list_commands: bool, pub generate_book: bool, pub setup: bool, pub tool: Option<String>, pub auto_detect: bool, pub list_tools: bool, pub subcommand: Option<Subcommand>,
}

Fields§

§command: Option<String>

Command string to check (omit for Claude hook mode via stdin)

§version: Option<bool>

Print version information.

§level: Option<String>

Safety level threshold; only commands at or below it auto-approve. Levels, locked → open: paranoid, reader, editor, developer, local-admin, network-admin, yolo. The legacy names inert / safe-read / safe-write still work (mapped to paranoid / reader / developer, with a notice). Default: developer.

§cwd: Option<String>

Working directory to resolve relative paths against (as a harness hook would pass). Pair with –root so e.g. cd-relative writes classify against the real directory.

§root: Option<String>

Project root, so a relative path under it is worktree-local and one outside it (the cwd having escaped the project) is scored as its real absolute target.

§session_id: Option<String>

The harness session id (as a hook would pass), used to recognize this session’s scratchpad under a temp root as a trusted working area rather than anonymous /tmp.

§explain: bool

Print a per-segment breakdown of why a command would or would not auto-approve. For a single command it also prints the behavior it resolved to and, when it does not approve, names the facet that refused it.

§suggest: bool

Offer to support a command safe-chains doesn’t recognize yet. Pass the command as the argument: safe-chains --suggest "<command>". It writes (or upgrades) the project’s local .safe-chains.toml with a definition for the unrecognized command, then prints the [[trusted]] pin for you to add to ~/.config/safe-chains.toml so that file takes effect.

§list_commands: bool

List all supported commands in Markdown format

§generate_book: bool

Generate mdBook command reference pages in docs/src/commands/

§setup: bool

Configure the hook for the named tool (default: claude). Use –auto-detect for every installed tool.

§tool: Option<String>

Pair with –setup to select the target tool by name. See –list-tools.

§auto_detect: bool

Pair with –setup to install for every installed tool detected on this machine.

§list_tools: bool

Print the names of every supported integration target.

§subcommand: Option<Subcommand>

Hook subcommand: read this tool’s stdin envelope, validate the command, write the response.

Trait Implementations§

Source§

impl Args for Cli

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl CommandFactory for Cli

Source§

fn command<'b>() -> Command

Build a Command that can instantiate Self. Read more
Source§

fn command_for_update<'b>() -> Command

Build a Command that can update self. Read more
Source§

impl FromArgMatches for Cli

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Parser for Cli

Source§

fn parse() -> Self

Parse from std::env::args_os(), exit on error.
Source§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
Source§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, exit on error.
Source§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
Source§

fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, exit on error. Read more
Source§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, return Err on error.

Auto Trait Implementations§

§

impl Freeze for Cli

§

impl RefUnwindSafe for Cli

§

impl Send for Cli

§

impl Sync for Cli

§

impl Unpin for Cli

§

impl UnsafeUnpin for Cli

§

impl UnwindSafe for Cli

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.