# Term Tier Term Tier is a terminal-based tier list maker built with Go and [Bubble Tea](https://github.com/charmbracelet/bubbletea). It allows you to create, manage, and organize tier lists directly from your command line interface. ## Features - **Terminal-based Interface**: Enjoy a clean and efficient TUI for managing your tier lists. - **Vim-like Navigation**: Navigate through your tiers and items using standard Vim keys (`h`, `j`, `k`, `l`) or arrow keys. - **Drag and Drop**: Easily move items between tiers or reorder them within a tier. - **Persistence**: Save your tier lists to a file and load them back later. - **Customizable Items**: Add, update, and delete items with ease. ## Installation ### From Binaries You can download the pre-compiled binaries for your operating system from the [Releases](https://github.com/StevanFreeborn/term-tier/releases) page. Download the appropriate archive for your system, extract it, and move the `termtier` binary to a directory in your `PATH`. ### From Source To install Term Tier from source, you need to have Go installed on your machine. Then run: ```bash go install github.com/StevanFreeborn/term-tier/cmd/termtier@latest ``` ## Usage Run the application using the following command: ```bash termtier ``` ## Key Bindings | Action | Key(s) | |---------------------|----------------------| | **Navigation** | | | Move Up | `k` or `Up Arrow` | | Move Down | `j` or `Down Arrow` | | Move Left | `h` or `Left Arrow` | | Move Right | `l` or `Right Arrow` | | **Item Management** | | | Add New Item | `n` | | Update Item | `r` | | Delete Item | `d` or `Backspace` | | Select/Move Item | `Enter` or `Space` | | **File Operations** | | | Save Tiers | `Ctrl+s` | | Load Tiers | `Ctrl+o` | | **General** | | | Toggle Help | `?` | | Quit | `q` or `Ctrl+c` | ## Project Structure - **cmd/termtier**: Contains the main entry point of the application. - **internal/core**: Defines core types and interfaces. - **internal/handlers**: Contains handlers for various key messages and actions. - **internal/model**: Defines the Bubble Tea model. - **internal/persistence**: Handles saving and loading of data. - **internal/state**: Manages the application state. - **internal/styles**: Defines the styles for the TUI. ## License [GNU General Public License v3.0](LICENSE.txt)