Skip to main content

🛍️ tuistore

The TUI app store: find, search, and one-key-install hundreds of terminal apps, without leaving the terminal.

Browse a curated catalog of TUIs, read the details, and install with a single key — tuistore figures out how to install each one on your machine (cargo, brew, pacman, uv, go, docker…) so you never paste a command your box can't run. Star the ones you love straight to GitHub.

Want your TUI featured? Go here -> gheat.net/#p/tuistore

Built on 🍚 ricekit · seeded from awesome-tuis · made by @Gheat1

tests release python license homebrew tools built on

tuistore demo — search, browse, and one-key install

what it is

Finding good terminal apps means trawling GitHub and awesome-lists; installing them means guessing whether it's cargo install, brew install, pacman -S, uv tool install, a curl | sh script, or building from source — and half the commands in a README are for the wrong OS.

tuistore fixes both. It's a fast, mouse-and-keyboard TUI that:

  • puts 800+ curated terminal apps one fuzzy-search away — full-screen TUIs and the modern CLI toolkit (fastfetch, neovim, ripgrep, bat, eza, starship, zoxide, fzf…),
  • shows you the install commands that actually work on your machine, ranked,
  • installs them with one key and streams the output live,
  • and lets you ★ star anything you like on GitHub, from the store.

install

One-liner (picks the best of uv / pipx / pip automatically, installs uv first if none are found):

curl -fsSL https://raw.githubusercontent.com/Gheat1/tuistore/main/install.sh | sh

Homebrew:

brew install gheat1/tuistore/tuistore

Or straight from PyPI:

uv tool install tuistore     # recommended
pipx install tuistore
pip install tuistore

Latest main instead of the last release:

uv tool install git+https://github.com/Gheat1/tuistore
pipx install git+https://github.com/Gheat1/tuistore

Arch Linux (AUR):

yay -S tuistore     # or paru, or any other AUR helper

Windows is supported in PowerShell (or Windows Terminal) too. Install any of the package managers and toolchains you already use — winget, Scoop, Chocolatey, uv, Cargo, Go, and npm are detected automatically — then run the same command above. Windows-specific methods are offered only on Windows.

Then just run:

tuistore

Starring uses the gh CLI if you have it (gh auth login); everything else works without it. tuistore itself installs nothing but itself — it drives the package managers you already have.

use it

Dead simple: type to search, arrow to browse, i to install.

 /            focus search — type a name, description, or language
 ↑ ↓ · j k    move through the list        g / G   jump to top / bottom
 enter        open / focus a tool
 i            install  (press a to pick a different method)
 r            read the README in-app (inspect before you install)
 u            update  ·  x  uninstall   (tools you installed via tuistore)
 s            star / unstar on GitHub    o       open the repo in your browser
 ,            manage (update tuistore · refetch catalog · update all)
 f            features / about            t       cycle theme
 ?            all keybindings             q       quit

Everything clicks, too — rows, the hint bar, and the draggable pane dividers.

one-key install with streamed output

how the install engine works

This is the hard part, and it's the point of tuistore.

  1. It reads your machine. OS, Linux distro family (Arch, Debian, Fedora, SUSE, Void, Alpine, Gentoo…), CPU arch, and every package manager / toolchain actually on your PATH.
  2. Every tool carries platform-gated install methods. A method knows what binaries it needs and where it's allowed to run, so pacman -S only appears on Arch, brew only where brew exists, cargo only where cargo is.
  3. Methods come from three places, and the UI labels which is which:
    • ✓ official — commands the project itself documents (hand-verified for the featured suite),
    • ✓ from README — scraped straight out of each repo's README (kept only when the command actually names the tool, so dependency lines don't leak),
    • ⚠ unverified — a best-guess from the repo's language, flagged so you know to check it.
  4. It ranks what's runnable and offers the winner as the default — a clean managed install (brew / cargo / uv) before a curl | sh, verified before guessed — with every alternative one keypress (a) away.
  5. Before you commit, you can look. The install screen shows the exact command with a clear ✓ verified / ⚠ unverified badge (and a loud warning on remote curl | sh scripts), and r opens the project's README right in the store so you can inspect a tool before you install it.
  6. It runs in your login shell and streams the output live — nothing is ever run silently; you always see the exact command and confirm it.
reading a tool's README in-app before installing

installed, updates & uninstall

tuistore isn't just a browser — it's a package manager for the tools it installs.

  • It remembers what it installed (which manager, which command) and also detects what you already have — not just by binary on your PATH, but by asking brew, uv, npm, cargo, pipx what they've installed (so ripgrep→rg, bottom→btm, git-delta→delta all show up). The ◆ Installed filter lists everything you've got.
  • On any installed tool, u updates it and x uninstalls it in place, with the right command for the manager (brew upgrade …, uv tool upgrade …, cargo uninstall …), streamed live. For a tool tuistore didn't install, it asks which manager you used.
  • , opens the manage menu with update everything — a one-shot brew upgrade + uv tool upgrade --all + npm update -g … that upgrades all your packages, including ones installed outside tuistore — plus update tuistore itself, refetch the catalog, and clear cache.
the Installed filter, with update / uninstall on a managed tool

it's a CLI package manager too

Everything works from the shell, so tuistore drops straight into dotfiles, setup scripts, and READMEs:

tuistore install lazygit     # resolve + install (platform-aware, confirmed)
tuistore install btop++ -y   # -y to skip the prompt (great for scripts/CI)
tuistore remove lazygit      # uninstall a tool you installed via tuistore
tuistore update lazygit      # update one tool
tuistore search git          # search the catalog
tuistore info btop++         # details + every install method

tuistore installed           # list what tuistore installed
tuistore upgrade             # update EVERYTHING (brew, uv, npm… all packages)
tuistore update              # update tuistore itself
tuistore update installed    # update only what tuistore installed
tuistore refetch catalog     # pull the latest catalog
tuistore --doctor            # what your machine looks like to the install engine

A shell install uses the same engine (verified-before-guessed, platform-gated) and is recorded in the same ledger — so tuistore installed, update, remove, and the TUI's ◆ Installed view all stay in sync.

the catalog

  • ★ Featured. Gheat's suite — ltui, NaviTui, ricekit — plus a few hand-picked community tools, all pinned to the top.
  • 800+ tools — rothgar/awesome-tuis plus a curated set of terminal essentials (the fetchers, editors, and modern CLI utilities people actually brew install) and a sweep of cli.masoko.net, in browsable categories, each enriched with live GitHub stars, language, and freshness.

Refresh or grow the catalog any time — it's a single re-runnable script:

uv run python tools/build_catalog.py            # refresh stars + installs
uv run python tools/build_catalog.py --scrape 300   # scrape more READMEs

It parses awesome-tuis, batches a GraphQL sweep for stars/language/freshness, scrapes install commands for the most-starred tools, and infers the rest.

built on ricekit

tuistore is part of a family. It's built on 🍚 ricekit — the themes, widgets, modals, icons, and design doctrine behind the whole suite — so it shares the five themes (mocha · void · onyx · clear · system), the vim-and-mouse navigation, the drag-to-resize panes, and the cache-first speed.

If you like tuistore, you'll probably like the rest of the suite:

ltui a fast, clean TUI for Linear
jtui the same, for Jira
sctui the same, for Shortcut
NaviTui an animated terminal player for Navidrome
ricekit the design system all of them share

config & data

XDG-style dirs on macOS and Linux; Local AppData on Windows:

what where
state (theme, layout) ~/.local/state/tuistore/state.json · %LOCALAPPDATA%\tuistore\state.json
cache (scraped installs) ~/.cache/tuistore/ · %LOCALAPPDATA%\tuistore\cache\
refreshed catalog and install ledger ~/.local/state/tuistore/ · %LOCALAPPDATA%\tuistore\

tuistore --doctor prints what your machine looks like to the install engine.

contributing

Missing a tool, or a better install command? The catalog lives in tuistore/data/catalog.json and is regenerated by tools/build_catalog.py — PRs to add tools, fix install methods, or improve scraping are very welcome. The awesome-tuis list itself is the upstream source for most entries. See CONTRIBUTING.md for dev setup, tests, and how the install engine's pieces fit together. Releases are tracked in CHANGELOG.md.

license

GPL-3.0-or-later, with additional terms under Section 7 (see LICENSE / NOTICE):

  • the tuistore name, the 🛍️ mark, and Gheat's branding are reserved — a fork or redistribution must be renamed and de-branded, so it can't be passed off as tuistore;
  • attribution to the original author + a link back must be preserved;
  • you may not misrepresent the origin or claim you authored the original.

Fork it and hack on it all you like — just don't ship my work as your own project. Made by @Gheat1, built on ricekit.

Metadata

Release files for tuistore 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tuistore 0.4.5
File Size Uploaded Provenance
tuistore-0.4.5.tar.gz 153.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tuistore 0.4.5
File Interpreter ABI Platform
tuistore-0.4.5-py3-none-any.whl Python 3 none any Details

Total release size: 306.7 kB

Release files / tuistore-0.4.5.tar.gz

Download URL tuistore-0.4.5.tar.gz
Size 153.3 kB
Tags Source
SHA-256 checksum
How to use checksums
86223e20e0da999335218251fcaccd6fc3e761dca9e13c3e6042c1469563615f
BLAKE2b-256 checksum
How to use checksums
2343c236349db7c671779208a70be8bce75d5b0711074076dfe298f158fce26b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Release files / tuistore-0.4.5-py3-none-any.whl

Download URL tuistore-0.4.5-py3-none-any.whl
Size 153.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62a192649d2756fcfc451541f1c979eefd9563238cf0c266b496691a57a3e585
BLAKE2b-256 checksum
How to use checksums
a4b3c4e6fccafe29822df4fe8cc3530f10139aefe1cd6cbe6ec7dc70228844e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Security for tuistore 0.4.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tuistore-0.4.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page