TUI Guide
Using the interactive Terminal UI for registry exploration and artifact management
The ORAS .NET CLI v0.3.0 includes a powerful terminal user interface (TUI) with elegant visual design, context menus, in-memory caching, and fully interactive workflows for exploring container registries and managing artifacts.
Launching the TUI
# Launch TUI to main dashboard (just run oras with no arguments)
oras
# Launch directly to registry browser
oras --registry ghcr.io
# Browse a specific repository
oras --registry ghcr.io --repository myorg/myrepo
Features
Dashboard View
- Hand-crafted Unicode block art “ORAS” banner with brand colors (O=#D04485 pink, R=#5EBAB4 teal, A=#FCFCFD white, S=#CCF575 lime)
-
Subtitle: “OCI Registry As Storage v{version} • Interactive Terminal UI” - Credential store status with Unicode indicators (
●Authenticated,○No credentials) for all registries (auths, credHelpers, and credsStore) - Artifact operations accessible via a dedicated “Artifacts” sub-menu
- In-memory caching with “(cached)” indicators for fast repeat operations
- UTF-8 output encoding ensures correct rendering on all platforms
Registry Browser
- Hierarchical repository navigation with live search
- Tag and manifest exploration
- Context menu on repository selection:
- Browse Tags
- Copy entire repository
- Backup repository
- Artifact metadata inspection
- Catalog-less registries: When a registry doesn’t support the catalog API (e.g., ghcr.io), the browser shows a clear message. Use “Enter repository name…” to type a repository path directly.
Tag Context Menu
- Selecting a tag shows:
- Inspect Manifest
- Pull to directory
- Copy to…
- Backup to local
- Tag with…
- Delete
- ─── (non-selectable separator)
- Back
Direct Repository Browse
- Jump straight to a repository’s tags without browsing the catalog
- Supports registries that don’t have a catalog API
- Select “Browse Repository Tags” on the dashboard or use
oras --repository <name>
Copy Artifact
- Copy OCI artifacts between registries with live progress tracking and visual progress bars
- Supports separate source and destination credentials
- Optional: Include referrers (signatures, attestations, SBOMs) with
--recursive - Fully interactive TUI workflow
- Available from TUI dashboard or CLI:
oras copy <source> <destination>
Backup Artifact
- Save registry artifacts to a local OCI layout directory or tar archive with live progress
- Perfect for disaster recovery, air-gapped environments, and offline workflows
- Supports
--recursiveto backup entire artifact graphs - Fully interactive TUI workflow with summary panel
- Available from TUI dashboard or CLI:
oras backup <reference> --output <path>
Restore Artifact
- Push artifacts from a local backup to any OCI-compliant registry with live progress tracking
- Supports restoring from both OCI layout directories and tar archives
- Can restore to a different registry or repository than the original
- Fully interactive TUI workflow
- Available from TUI dashboard or CLI:
oras restore <path> <destination>
In-Memory Caching
- Frequently accessed registries, repositories, and manifests are cached with TTL
- “(cached)” indicator shown in lists for cached entries
- “Refresh” options available in context menus to invalidate cache
- Dramatically faster navigation on repeat visits
Artifacts Sub-Menu
- Artifact operations are grouped under a dedicated “Artifacts” menu entry:
- Push Artifact
- Pull Artifact
- Copy Artifact
- Tag Artifact
- Backup Artifact
- Restore Artifact
- ─── (non-selectable separator)
- Back
Cyclic Navigation
- All menus wrap around: pressing ↓ from the last item moves to the first item, and ↑ from the first item moves to the last
- Non-selectable separators (
───) visually group menu items (e.g., before Quit or Back) usingAddChoiceGroup
Keyboard Navigation
- Arrow keys: Navigate lists and trees (with cyclic wrapping)
- Enter: Select item / perform action
- Esc: Go back / cancel
- Ctrl+C: Exit application
- F5: Refresh current view
Unicode Indicators
Status symbols use Unicode characters for rich terminal rendering:
✔(green) — Success, completed operations✗(red) — Errors, failed operationsℹ(cyan) — Informational messages⚠(yellow) — Warnings, destructive actions
Tips
- Use
--debugflag for verbose logging:oras --debug - Use
--no-ttyto force non-interactive mode - The TUI respects your Docker credentials automatically
For more details on individual commands, see the Command Reference.