How houseabsolute/ubi works
UBI is a Rust library and CLI for downloading and installing single-file release binaries. A user supplies a project or direct asset URL and install options; the library fetches release assets, selects one for the target platform, downloads it, and installs or extracts the executable. The graph preserves forge-provider adapters and the platform/archive handling layers. README and excerpts support the main workflow; the CLI-to-library handoff and some unsampled internal connections are not shown, so those links are marked unverified or omitted.
Main entry points: ubi.rs Install workflow · forge.rs Forge dispatch and API · installer.rs Executable installer · extension.rs Asset format detection
Components 17
User entry
- UBI CLI
ubi-cli/src/main.rs - Configuration builder
ubi/src/builder.rs - Install workflow
ubi/src/ubi.rs
Release discovery
- Forge dispatch and API
ubi/src/forge.rs - GitHub adapter
ubi/src/github.rs - GitLab adapter
ubi/src/gitlab.rs - Forgejo adapter
ubi/src/forgejo.rs
Asset selection
- Release asset picker
ubi/src/picker.rs - Asset format detection
ubi/src/extension.rs - CPU architecture matching
ubi/src/arch.rs - OS matching
ubi/src/os.rs
Download and install
- Asset download
ubi/src/ubi.rs - Executable installer
ubi/src/installer.rs - Archive readers
ubi/src/archive.rs
Other components
- User
- Release forge services
- Install filesystem
Connections 20
- User → UBI CLI: provides options
README.md - User → Configuration builder: configures library
- UBI CLI → Configuration builder: configures
- Configuration builder → Install workflow: builds instance
ubi/src/builder.rs - Install workflow → Forge dispatch and API: fetches releases
ubi/src/ubi.rs - Forge dispatch and API → GitHub adapter: dispatches to
ubi/src/forge.rs - Forge dispatch and API → GitLab adapter: dispatches to
ubi/src/forge.rs - Forge dispatch and API → Forgejo adapter: dispatches to
ubi/src/forge.rs - Forge dispatch and API → Release forge services: requests release data
ubi/src/forge.rs - Install workflow → Release asset picker: selects asset
ubi/src/ubi.rs - Release asset picker → Asset format detection: checks formats
ubi/src/picker.rs - Release asset picker → CPU architecture matching: matches platform names
ubi/src/picker.rs - Asset format detection → CPU architecture matching: uses architecture patterns
ubi/src/extension.rs - Asset format detection → OS matching: uses OS patterns
ubi/src/extension.rs - Install workflow → Asset download: downloads asset
ubi/src/ubi.rs - Install workflow → Executable installer: installs download
ubi/src/ubi.rs - Executable installer → Asset format detection: classifies asset
ubi/src/installer.rs - Executable installer → Archive readers: reads archive entries
ubi/src/installer.rs - Executable installer → Install filesystem: writes executable
ubi/src/installer.rs - Asset download → Release forge services: downloads asset bytes
ubi/src/ubi.rs