1use anyhow::Result;
5use robonix_cli::output;
6use robonix_cli::{Config, PackageDatabase};
7
8pub async fn execute(config: Config) -> Result<()> {
9 config.ensure_storage_dir()?;
10 let db = PackageDatabase::load(&config.package_storage_path)?;
11 let packages = db.list_packages();
12
13 if packages.is_empty() {
14 output::info("No packages installed.");
15 output::sub_step(&format!(
16 "Storage: {}",
17 config.package_storage_path.display()
18 ));
19 return Ok(());
20 }
21
22 output::action("Installed", "packages");
23 for pkg in packages {
24 output::sub_step(&format!(
25 "{} {} ({})",
26 pkg.name,
27 pkg.version,
28 pkg.path.display()
29 ));
30 }
31 Ok(())
32}