# crates-tui `crates-tui` is a simple terminal user interface explorer for crates.io based on [Ratatui](https://ratatui.rs/). https://github.com/ratatui-org/crates-tui/assets/1813121/ecbb6fcb-8dd9-4997-aaa2-2a60b0c4a004 It supports features like: - copy `cargo add` command to clipboard - open the docs page in the browser - open crates.io page in the brower image image image image ## Install ```rust cargo install crates-tui ``` ### Arch Linux `crates-tui` can be installed with an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers): ```sh paru -S crates-tui ``` ## Screenshots ### Open in browser https://github.com/ratatui-org/crates-tui/assets/1813121/362d7dc3-d9ef-43df-8d2e-cc56001ef31c ### Logging https://github.com/ratatui-org/crates-tui/assets/1813121/9609a0f1-4da7-426d-8ce8-2c5a77c54754 ### Base16 Theme [**Dracula**](https://github.com/dracula/base16-dracula-scheme/blob/master/dracula.yaml) image [**Rose Pine**](https://github.com/edunfelt/base16-rose-pine-scheme) image [**GitHub**](https://github.com/Defman21/base16-github-scheme) image You can find example color [configurations here](./.config/). ### Help https://github.com/ratatui-org/crates-tui/assets/1813121/4c2a3deb-f546-41e6-a48d-998831182ab6 ### Key to Action configurations per mode You can find [the default configuration here](./.config/config.default.toml). ## Background This repository contains an opinionated way of organizing a small to medium sized Ratatui TUI applications. It has several features, notably: - Uses `async` to fetch crate information without blocking the UI - Multiple custom widgets - Selection tab - Input prompt - Search results table - Summary view - Has configurable key chords that map to actions This repository is meant to serve as a reference for some patterns you may follow when developing Ratatui applications. The code will function as a reference for the tutorial material on https://ratatui.rs as well.