pub fn write_file(path: &str, content: &str) -> Result<(), StepError>
Write content to a file, creating parent directories if needed.