[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93543":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":34,"readmeContent":35,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},93543,"tuistore","Gheat1\u002Ftuistore","Gheat1","🛍️ The TUI app store — browse, search & one-key-install hundreds of terminal apps. Built on ricekit, seeded from awesome-tuis.",null,"Python",242,10,3,1,0,45,135,87.62,"Other",false,"main",true,[24,25,26,27,28,29,30,31,32,33],"app-store","awesome-tuis","cli","developer-tools","package-manager","python","terminal","terminal-apps","textual","tui","2026-07-22 04:02:09","\u003Cdiv align=\"center\">\n\n# 🛍️ tuistore\n\n**The TUI app store: find, search, and one-key-install hundreds of terminal apps, without leaving the terminal.**\n\nBrowse a curated catalog of TUIs, read the details, and install with a single\nkey — tuistore figures out *how* to install each one on **your** machine\n(cargo, brew, pacman, uv, go, npm…) so you never paste a command your box\ncan't run. Star the ones you love straight to GitHub.\n\n\n**Want your TUI featured? Go here -> [gheat.net\u002F#p\u002Ftuistore](https:\u002F\u002Fgheat.net\u002F#p\u002Ftuistore)**\n\nBuilt on [🍚 ricekit](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fricekit) · seeded from\n[awesome-tuis](https:\u002F\u002Fgithub.com\u002Frothgar\u002Fawesome-tuis) · made by [@Gheat1](https:\u002F\u002Fgithub.com\u002FGheat1)\n\n[![tests](https:\u002F\u002Fgithub.com\u002FGheat1\u002Ftuistore\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FGheat1\u002Ftuistore\u002Factions\u002Fworkflows\u002Ftests.yml)\n[![release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FGheat1\u002Ftuistore?label=release&color=a6e3a1)](https:\u002F\u002Fgithub.com\u002FGheat1\u002Ftuistore\u002Freleases)\n![python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11+-4b8bbe)\n![license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-GPLv3-a6e3a1)\n[![homebrew](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhomebrew-gheat1%2Ftuistore-fbb040)](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fhomebrew-tuistore)\n![tools](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcatalog-800+_apps-fab387)\n![built on](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuilt_on-ricekit-cba6f7)\n\n\u003Cimg src=\"assets\u002Fdemo.gif\" alt=\"tuistore demo — search, browse, and one-key install\" width=\"100%\">\n\n\u003C\u002Fdiv>\n\n---\n\n## what it is\n\nFinding good terminal apps means trawling GitHub and awesome-lists; installing\nthem means guessing whether it's `cargo install`, `brew install`, `pacman -S`,\n`uv tool install`, a `curl | sh` script, or building from source — and half the\ncommands in a README are for the *wrong* OS.\n\ntuistore fixes both. It's a fast, mouse-and-keyboard TUI that:\n\n- puts **800+ curated terminal apps** one fuzzy-search away — full-screen TUIs\n  *and* the modern CLI toolkit (fastfetch, neovim, ripgrep, bat, eza, starship,\n  zoxide, fzf…),\n- shows you the **install commands that actually work on your machine**, ranked,\n- installs them with **one key** and streams the output live,\n- and lets you **★ star** anything you like on GitHub, from the store.\n\n## install\n\n**One-liner** (picks the best of uv \u002F pipx \u002F pip automatically, installs uv\nfirst if none are found):\n\n```sh\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FGheat1\u002Ftuistore\u002Fmain\u002Finstall.sh | sh\n```\n\n**Homebrew:**\n\n```sh\nbrew install gheat1\u002Ftuistore\u002Ftuistore\n```\n\n**Or straight from PyPI:**\n\n```sh\nuv tool install tuistore     # recommended\npipx install tuistore\npip install tuistore\n```\n\n**Latest `main` instead of the last release:**\n\n```sh\nuv tool install git+https:\u002F\u002Fgithub.com\u002FGheat1\u002Ftuistore\npipx install git+https:\u002F\u002Fgithub.com\u002FGheat1\u002Ftuistore\n```\n\n**Arch Linux (AUR):**\n\n```sh\nyay -S tuistore     # or paru, or any other AUR helper\n```\n\nWindows is supported in PowerShell (or Windows Terminal) too. Install any of\nthe package managers and toolchains you already use — `winget`, Scoop,\nChocolatey, `uv`, Cargo, Go, and npm are detected automatically — then run the\nsame command above. Windows-specific methods are offered only on Windows.\n\nThen just run:\n\n```sh\ntuistore\n```\n\n\u003Csub>Starring uses the [`gh` CLI](https:\u002F\u002Fcli.github.com) if you have it\n(`gh auth login`); everything else works without it. tuistore itself installs\nnothing but itself — it drives the package managers you already have.\u003C\u002Fsub>\n\n## use it\n\nDead simple: **type to search, arrow to browse, `i` to install.**\n\n```\n \u002F            focus search — type a name, description, or language\n ↑ ↓ · j k    move through the list        g \u002F G   jump to top \u002F bottom\n enter        open \u002F focus a tool\n i            install  (press a to pick a different method)\n r            read the README in-app (inspect before you install)\n u            update  ·  x  uninstall   (tools you installed via tuistore)\n s            star \u002F unstar on GitHub    o       open the repo in your browser\n ,            manage (update tuistore · refetch catalog · update all)\n f            features \u002F about            t       cycle theme\n ?            all keybindings             q       quit\n```\n\nEverything clicks, too — rows, the hint bar, and the draggable pane dividers.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"assets\u002Finstall.png\" alt=\"one-key install with streamed output\" width=\"90%\">\n\u003C\u002Fdiv>\n\n## how the install engine works\n\nThis is the hard part, and it's the point of tuistore.\n\n1. **It reads your machine.** OS, Linux distro *family* (Arch, Debian, Fedora,\n   SUSE, Void, Alpine, Gentoo…), CPU arch, and every package manager \u002F\n   toolchain actually on your `PATH`.\n2. **Every tool carries platform-gated install methods.** A method knows what\n   binaries it needs and where it's allowed to run, so `pacman -S` only appears\n   on Arch, `brew` only where brew exists, `cargo` only where cargo is.\n3. **Methods come from three places, and the UI labels which is which:**\n   - ✓ **official** — commands the project itself documents (hand-verified for\n     the featured suite),\n   - ✓ **from README** — scraped straight out of each repo's README (kept only\n     when the command actually names the tool, so dependency lines don't leak),\n   - ⚠ **unverified** — a best-guess from the repo's language, flagged so you\n     know to check it.\n4. **It ranks what's runnable** and offers the winner as the default — a clean\n   managed install (brew \u002F cargo \u002F uv) before a `curl | sh`, verified before\n   guessed — with every alternative one keypress (`a`) away.\n5. **Before you commit, you can look.** The install screen shows the exact\n   command with a clear **✓ verified \u002F ⚠ unverified** badge (and a loud warning\n   on remote `curl | sh` scripts), and **`r` opens the project's README right in\n   the store** so you can inspect a tool before you install it.\n6. **It runs in your login shell** and streams the output live — nothing is ever\n   run silently; you always see the exact command and confirm it.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"assets\u002Freadme.png\" alt=\"reading a tool's README in-app before installing\" width=\"90%\">\n\u003C\u002Fdiv>\n\n## installed, updates & uninstall\n\ntuistore isn't just a browser — it's a package manager for the tools it installs.\n\n- It **remembers what it installed** (which manager, which command) and also\n  **detects** what you already have — not just by binary on your `PATH`, but by\n  asking **brew, uv, npm, cargo, pipx** what they've installed (so `ripgrep`→`rg`,\n  `bottom`→`btm`, `git-delta`→`delta` all show up). The **◆ Installed** filter\n  lists everything you've got.\n- On any installed tool, **`u` updates** it and **`x` uninstalls** it in place,\n  with the right command for the manager (`brew upgrade …`, `uv tool upgrade …`,\n  `cargo uninstall …`), streamed live. For a tool tuistore didn't install, it\n  asks which manager you used.\n- **`,` opens the manage menu** with **update everything** — a one-shot\n  `brew upgrade` + `uv tool upgrade --all` + `npm update -g` … that upgrades\n  **all** your packages, including ones installed outside tuistore — plus update\n  tuistore itself, refetch the catalog, and clear cache.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"assets\u002Finstalled.png\" alt=\"the Installed filter, with update \u002F uninstall on a managed tool\" width=\"90%\">\n\u003C\u002Fdiv>\n\n### it's a CLI package manager too\n\nEverything works from the shell, so tuistore drops straight into dotfiles,\nsetup scripts, and READMEs:\n\n```sh\ntuistore install lazygit     # resolve + install (platform-aware, confirmed)\ntuistore install btop++ -y   # -y to skip the prompt (great for scripts\u002FCI)\ntuistore remove lazygit      # uninstall a tool you installed via tuistore\ntuistore update lazygit      # update one tool\ntuistore search git          # search the catalog\ntuistore info btop++         # details + every install method\n\ntuistore installed           # list what tuistore installed\ntuistore upgrade             # update EVERYTHING (brew, uv, npm… all packages)\ntuistore update              # update tuistore itself\ntuistore update installed    # update only what tuistore installed\ntuistore refetch catalog     # pull the latest catalog\ntuistore --doctor            # what your machine looks like to the install engine\n```\n\nA shell install uses the same engine (verified-before-guessed, platform-gated)\nand is recorded in the same ledger — so `tuistore installed`, `update`,\n`remove`, and the TUI's **◆ Installed** view all stay in sync.\n\n## the catalog\n\n- **★ Featured.** Gheat's suite — [ltui](https:\u002F\u002Fgithub.com\u002Frunpantheon\u002Fltui),\n  [NaviTui](https:\u002F\u002Fgithub.com\u002FGheat1\u002FNaviTui), [ricekit](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fricekit)\n  — plus a few hand-picked community tools, all pinned to the top.\n- **800+ tools** — [rothgar\u002Fawesome-tuis](https:\u002F\u002Fgithub.com\u002Frothgar\u002Fawesome-tuis)\n  plus a curated set of terminal essentials (the fetchers, editors, and modern\n  CLI utilities people actually `brew install`) and a sweep of\n  [cli.masoko.net](https:\u002F\u002Fcli.masoko.net), in browsable categories, each\n  enriched with live GitHub stars, language, and freshness.\n\nRefresh or grow the catalog any time — it's a single re-runnable script:\n\n```sh\nuv run python tools\u002Fbuild_catalog.py            # refresh stars + installs\nuv run python tools\u002Fbuild_catalog.py --scrape 300   # scrape more READMEs\n```\n\nIt parses awesome-tuis, batches a GraphQL sweep for stars\u002Flanguage\u002Ffreshness,\nscrapes install commands for the most-starred tools, and infers the rest.\n\n## built on ricekit\n\ntuistore is part of a family. It's built on\n[**🍚 ricekit**](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fricekit) — the themes, widgets,\nmodals, icons, and design doctrine behind the whole suite — so it shares the\nfive themes (`mocha` · `void` · `onyx` · `clear` · `system`), the vim-and-mouse\nnavigation, the drag-to-resize panes, and the cache-first speed.\n\nIf you like tuistore, you'll probably like the rest of the suite:\n\n| | |\n| --- | --- |\n| [**ltui**](https:\u002F\u002Fgithub.com\u002Frunpantheon\u002Fltui) | a fast, clean TUI for Linear |\n| [**jtui**](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fjtui) | the same, for Jira |\n| [**sctui**](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fsctui) | the same, for Shortcut |\n| [**NaviTui**](https:\u002F\u002Fgithub.com\u002FGheat1\u002FNaviTui) | an animated terminal player for Navidrome |\n| [**ricekit**](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fricekit) | the design system all of them share |\n\n## config & data\n\nXDG-style dirs on macOS and Linux; Local AppData on Windows:\n\n| what | where |\n| --- | --- |\n| state (theme, layout) | `~\u002F.local\u002Fstate\u002Ftuistore\u002Fstate.json` · `%LOCALAPPDATA%\\tuistore\\state.json` |\n| cache (scraped installs) | `~\u002F.cache\u002Ftuistore\u002F` · `%LOCALAPPDATA%\\tuistore\\cache\\` |\n| refreshed catalog and install ledger | `~\u002F.local\u002Fstate\u002Ftuistore\u002F` · `%LOCALAPPDATA%\\tuistore\\` |\n\n`tuistore --doctor` prints what your machine looks like to the install engine.\n\n## star history\n\n\u003Cdiv align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#Gheat1\u002Ftuistore&Date\">\n\u003Cpicture>\n\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets\u002Fstar-history-dark.svg\">\n\u003Cimg src=\"assets\u002Fstar-history-light.svg\" alt=\"star history\" width=\"70%\">\n\u003C\u002Fpicture>\n\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## contributing\n\nMissing a tool, or a better install command? The catalog lives in\n`tuistore\u002Fdata\u002Fcatalog.json` and is regenerated by `tools\u002Fbuild_catalog.py` —\nPRs to add tools, fix install methods, or improve scraping are very welcome.\nThe awesome-tuis list itself is the upstream source for most entries. See\n[`CONTRIBUTING.md`](CONTRIBUTING.md) for dev setup, tests, and how the\ninstall engine's pieces fit together. Releases are tracked in\n[`CHANGELOG.md`](CHANGELOG.md).\n\n## license\n\n[**GPL-3.0-or-later**](LICENSE), **with additional terms under Section 7** (see\n[`LICENSE`](LICENSE) \u002F [`NOTICE`](NOTICE)):\n\n- the **tuistore** name, the 🛍️ mark, and Gheat's branding are reserved — a\n  fork or redistribution **must be renamed** and de-branded, so it can't be\n  passed off as tuistore;\n- **attribution** to the original author + a link back must be preserved;\n- you may **not misrepresent the origin** or claim you authored the original.\n\nFork it and hack on it all you like — just don't ship my work as your own\nproject. Made by [@Gheat1](https:\u002F\u002Fgithub.com\u002FGheat1), built on\n[ricekit](https:\u002F\u002Fgithub.com\u002FGheat1\u002Fricekit).\n",2,"2026-07-21 02:30:03","CREATED_QUERY"]