pub trait PackageManager {
// Required methods
fn generate_package(
&self,
metadata: &PackageMetadata,
output_dir: &Path,
) -> Result<PathBuf>;
fn validate_package(&self, package_path: &Path) -> Result<bool>;
fn get_package_name(&self) -> &str;
fn get_file_extension(&self) -> &str;
}