pub async fn ensure_dir(path: &Path) -> Result<()>
Ensure a directory exists, creating it if necessary