Expand description
Cross-platform command runner modeled after VT Code’s original bash wrapper. The crate exposes a trait-based executor so downstream applications can swap the underlying process strategy (system shell, pure-Rust emulation, or dry-run logging) while reusing the higher-level helpers for workspace-safe filesystem manipulation.
§Modules
executor- Command execution strategies (process, dry-run, pure-rust)runner- High-levelBashRunnerfor workspace-safe operationsbackground- Background task managementpipe- Async pipe-based process spawning with unified handlesprocess- Process handle types for PTY and pipe backendsprocess_group- Process group management for reliable cleanupstream- Stream utilities for reading output
Re-exports§
pub use background::BackgroundCommandManager;pub use background::BackgroundTaskHandle;pub use background::BackgroundTaskStatus;pub use executor::DryRunCommandExecutor;pub use executor::EventfulExecutor;pub use executor::PureRustCommandExecutor;pub use executor::CommandCategory;pub use executor::CommandExecutor;pub use executor::CommandInvocation;pub use executor::CommandOutput;pub use executor::CommandStatus;pub use executor::ProcessCommandExecutor;pub use executor::ShellKind;pub use policy::AllowAllPolicy;pub use policy::CommandPolicy;pub use policy::WorkspaceGuardPolicy;pub use runner::BashRunner;pub use stream::ReadLineResult;pub use stream::read_line_with_limit;pub use pipe::PipeSpawnOptions;pub use pipe::PipeStdinMode;pub use pipe::spawn_process as spawn_pipe_process;pub use pipe::spawn_process_no_stdin as spawn_pipe_process_no_stdin;pub use pipe::spawn_process_with_options as spawn_pipe_process_with_options;pub use process::ChildTerminator;pub use process::ExecCommandSession;pub use process::ProcessHandle;pub use process::PtyHandles;pub use process::SpawnedProcess;pub use process::SpawnedPty;pub use process::collect_output_until_exit;pub use process_group::DEFAULT_GRACEFUL_TIMEOUT_MS;pub use process_group::GracefulTerminationResult;pub use process_group::KillSignal;pub use process_group::detach_from_tty;pub use process_group::graceful_kill_process_group;pub use process_group::graceful_kill_process_group_default;pub use process_group::kill_child_process_group;pub use process_group::kill_child_process_group_with_signal;pub use process_group::kill_process_group;pub use process_group::kill_process_group_by_pid;pub use process_group::kill_process_group_by_pid_with_signal;pub use process_group::kill_process_group_with_signal;pub use process_group::set_parent_death_signal;pub use process_group::set_process_group;pub use process_group::kill_process;
Modules§
- background
- executor
- pipe
- Async pipe-based process spawning with unified handle interface.
- policy
- process
- Unified process handle types for PTY and pipe backends.
- process_
group - Process-group helpers for reliable child process cleanup.
- runner
- stream