pub fn ensure_dir<P: AsRef<Path>>(path: P) -> Result<()>
Create directories recursively with proper error handling