aim/README.md

1.5 KiB

aim

AppImage Manager

aim is a Rust Cargo workspace for managing AppImages from multiple source types.

Workspace

  • crates/aim-core: business logic, source adapters, registry, install/update planning
  • crates/aim-cli: thin terminal frontend for parsing, prompting, and rendering

The split is intentional so a future GUI client can reuse aim-core without moving logic out of the shared library.

Commands

aim <QUERY>
aim
aim update
aim list
aim remove <QUERY>

Query Forms

  • owner/repo for GitHub shorthand
  • GitHub repository URLs
  • GitHub release URLs
  • direct GitHub release asset URLs
  • https://... direct URLs
  • GitLab URLs
  • file://... local file imports

Scope Overrides

By default aim auto-detects whether to use user or system scope. Override that with:

  • --user
  • --system

Current Flow Shape

  • aim <QUERY> installs unambiguous apps, shows live progress on stderr, prints an Installation Summary on stdout, and renders an Installation Review when tracking needs confirmation
  • bare aim prints an Update Review without mutating the registry
  • aim update executes the pending updates, streams live status on stderr, then prints an Update Summary
  • aim list renders either Installed Apps or No installed apps yet
  • aim remove <QUERY> resolves a registered application name, streams removal progress on stderr, then prints a Removal Summary

Terminal UX

  • prompts use dialoguer
  • styled summaries use console
  • live spinners and byte progress use indicatif