pub enum Command {
Show 35 variants
Version,
List {
path: PathBuf,
category: Option<String>,
tag: Option<String>,
},
Search {
query: String,
path: PathBuf,
category: Option<String>,
maturity: Option<String>,
},
History {
limit: usize,
},
Init {
path: PathBuf,
},
Plan {
path: PathBuf,
tag: Option<String>,
},
Explain {
file: PathBuf,
},
Run {Show 22 fields
args: Vec<String>,
write: bool,
dry_run: bool,
review: bool,
autofix: bool,
verbose: bool,
summary_only: bool,
max_preview_lines: Option<usize>,
allow_risky: bool,
strict: bool,
report_json: bool,
report_md: bool,
report_dir: PathBuf,
format: bool,
prettier: bool,
no_format: bool,
jobs: Option<usize>,
sequential: bool,
package: Option<String>,
profile: Option<String>,
output_style: Option<String>,
tag: Option<String>,
},
Sessions,
Session {
id: String,
},
Rollback {
session_id: String,
preview: bool,
force: bool,
},
Replay {
session_id: String,
write: bool,
},
Resume {
checkpoint: String,
},
Scans,
Completions {
shell: Shell,
},
Scan {
action: Option<ScanAction>,
path: PathBuf,
tag: Option<String>,
verbose: bool,
},
Deps {
path: PathBuf,
},
Score {
path: PathBuf,
format: String,
},
Simulate {
recipes: Vec<String>,
path: PathBuf,
},
Dashboard {
port: u16,
},
Magic {
path: PathBuf,
},
ValidateRepo {
path: PathBuf,
},
Benchmark {
path: PathBuf,
},
Graph {
graph_type: String,
format: String,
path: PathBuf,
},
Preset {
action: PresetAction,
},
Verify {
path: PathBuf,
},
Watch {
path: PathBuf,
recipes: Vec<String>,
debounce_ms: u64,
},
Ai {
action: AiAction,
},
Manifest {
action: ManifestAction,
},
Plugins {
action: PluginAction,
},
Ignored {
path: PathBuf,
detailed: bool,
},
DryRuns,
DryRun {
action: DryRunAction,
},
Docs,
Doctor {
path: PathBuf,
},
}Variants§
Version
Print the current morph-cli version
List
List available migration recipes
Fields
Search
Search for recipes matching a query
Fields
History
Show migration history summaries
Init
Initialize a new morph-cli.toml configuration file
Plan
Plan recommended migration recipes for a project
Fields
Explain
Explain migration detection for a file
Run
Run a recipe against a target path
Fields
Sessions
List migration run sessions
Session
Show a migration run session
Rollback
Rollback files from a previous transformation session
Replay
Replay a previous transformation session with stored options
Resume
Resume migration from a saved checkpoint
Scans
List scan snapshots
Completions
Generate shell completion scripts
Scan
Scan project and detect technologies
Fields
action: Option<ScanAction>Deps
Analyze lightweight dependencies
Score
Calculate modernization score and readiness
Simulate
Simulate migration impact without transforming files
Dashboard
Start the local dashboard backend
Magic
Start a guided migration workflow
ValidateRepo
Run a full validation suite on a repository (scan, detect, dry-run, verify)
Benchmark
Benchmark Morph execution performance on the target path
Graph
Generate visualization graphs (Mermaid or JSON)
Fields
Preset
Manage preset workflows
Fields
action: PresetActionVerify
Verify the integrity of transformed files (syntax, imports, exports)
Watch
Watch for file changes and re-run migration analysis
Fields
Ai
AI-powered suggestions and analysis
Manifest
Manage and run migration manifests
Fields
action: ManifestActionPlugins
Manage plugins
Fields
action: PluginActionIgnored
View ignored and skipped files with reasons
DryRuns
List all dry-run execution snapshots
DryRun
View detailed metrics of a specific dry-run execution snapshot
Fields
action: DryRunActionDocs
Generate markdown documentation for Morph CLI components
Doctor
Check repository health and environment
Trait Implementations§
Source§impl FromArgMatches for Command
impl FromArgMatches for Command
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Command
impl Subcommand for Command
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for Command
impl RefUnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnsafeUnpin for Command
impl UnwindSafe for Command
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more