pub fn analyze(command: &str) -> Option<Steer>Expand description
Classify a shell command. None means “allow” — no ct tool clearly
serves it. The matcher only fires on high-confidence idioms and never
re-steers a command that already invokes ct.
use coding_tools::steer::analyze;
let s = analyze("find . -name '*.rs' | xargs grep TODO").unwrap();
assert_eq!(s.tool, "ct search");
assert!(analyze("cargo build && cargo test").is_none());
assert!(analyze("ct search --grep TODO").is_none());