hij is a sleek Terminal User Interface (TUI) designed for managing GitHub Packages. It specializes in container image version management, allowing you to browse, filter, and bulk-delete versions with precision and speed.
Built for developers who want to keep their GitHub container registries clean without wrestling with the web UI or complex gh CLI commands.
hij-demo.mp4
- 🚀 Interactive Browsing: List all container packages in your account instantly.
- 🔃 Sort Versions: Toggle between newest and oldest versions (
s). - 🔍 Smart Filtering: Select versions by age (e.g.,
:older 30) or specific dates (e.g.,:before 2024-01-01). - 📦 Bulk Operations: Toggle multiple versions or "Select All" for mass cleanup.
- 🔐 Secure Token Management: Leverages system keychain for secure storage of your Personal Access Token.
- ⌨️ Keyboard Driven: Optimized for efficiency with Vim-like keybindings.
curl -fsSL https://raw.githubusercontent.com/maful/hij/main/install.sh | bashgo install github.com/maful/hijgit clone https://github.com/maful/hij.git
cd hij
make build
# Binary will be at ./build/hijhij requires a GitHub Personal Access Token (PAT) with the following scopes:
read:packagesdelete:packages
You can provide the token in three ways (checked in priority order):
HIJ_GITHUB_TOKENenvironment variable.- System Keychain (macOS Keychain, Linux Secret Service, Windows Credential Manager).
- Interactive prompt upon first run (with an option to save to keychain).
Launch the TUI:
hij| Key | Action |
|---|---|
↑/↓ or j/k |
Navigate lists |
Space |
Toggle selection |
a |
Select all versions |
n |
Deselect all versions |
/ or : |
Open filter input |
s |
Toggle sort order (newest/oldest) |
d |
Initiate deletion of selected versions |
Esc |
Go back |
q |
Quit |
Inside the version list, press : to filter:
:older <days>— Select versions older than N days (e.g.,:older 10).:before <date>— Select versions before a date (e.g.,:before 2024-01-01).
hij # Interactive menu (TUI)
hij version # Show installed version
hij update # Update to latest versionContributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.