Install, update and manage every AI coding tool — from a single terminal.
English · Português
Tip
Install it with your AI agent. Paste this into Claude Code, Codex, Gemini CLI, Cursor or any other agent:
Install RivetRook: https://github.com/CariSoftwareBR/RivetRook
🤖 AI agents: the installation runbook is INSTALLATION.md.
| ⚡ One menu, 23 tools Claude Code, Codex, Gemini CLI, Cursor, Zed and more — install, update and remove them one number away. |
🔍 Always current Detects the installed and the latest published version in parallel, flagging what can be updated. |
🔁 Updates itself On every start it checks GitHub and offers the new version — via git pull or a validated download. |
| 🖥️ Truly cross-platform Windows, macOS and Linux (Debian, Fedora, Arch), using winget, brew, apt, dnf, pacman and npm. |
🔑 API keys Configures and persists keys for the tools that need them, right from the menu. |
🧩 Extensible Every tool is just an entry in config.json. No dependencies: Python standard library only. |
With an AI agent — use the sentence from the tip above. The agent follows INSTALLATION.md, puts the rivetrook command on your terminal and verifies the install.
By hand:
git clone https://github.com/CariSoftwareBR/RivetRook.git
python3 RivetRook/src/RivetRook.py # Windows: python RivetRook\src\RivetRook.pyTo launch with a double-click, use src/Execute_RivetRook.bat (Windows) or src/Execute_RivetRook.sh (Linux/macOS). To get a rivetrook command in every terminal, follow INSTALLATION.md.
Requirements: Python 3.8+. Node.js 20+ is installed automatically on first run if missing.
On start, RivetRook asks for the language, offers its own update (when there is one), checks Node.js and shows the state of every tool. Pick one or more by number or name — 3, claude or 1,3,5 — then the action: install, upgrade, uninstall or configure the API key. An empty Enter exits.
Icon legend
| Icon | Meaning |
|---|---|
● |
Installed |
◐ |
Installed, but only available through the shell profile |
○ |
Not installed |
↑ x → y |
Update available |
⚷ |
API key — green: configured · yellow: pending |
| AI CLIs | IDEs | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Missing one? Adding it means editing config.json — see below.
Self-update
On start, RivetRook compares its version with the one published on the GitHub main branch. When a newer version exists, it offers to update and restart:
- Git clone of this repository →
git pull --ff-only - Standalone copy → downloads
src/RivetRook.pyandsrc/config.json, validates both and only then replaces the files (aconfig.jsonpassed as an argument is never touched)
To disable it, set the environment variable RIVETROOK_NO_UPDATE=1.
API keys
For tools that need a key, RivetRook:
- detects whether the key is already configured;
- asks for it right after installation;
- saves it to the tool's own config file (e.g.
~/.claude.json); - persists it as an environment variable in shell files (
.bashrc,.zshrc,.profile) on Linux/macOS.
To configure it later, pick the tool in the menu and choose 4 – Configure API key.
Adding a tool
Each tool is an entry in src/config.json, under "tools" or "ides" (menu order follows JSON order):
| Field | Description |
|---|---|
author, description, description_en |
Author and descriptions shown in the menu |
install · upgrade · uninstall |
Commands per platform: all, windows, macos, linux (or debian/fedora/arch/default). Without uninstall, it is inferred from install for winget, brew, npm, bun, apt-get, dnf/yum and pacman |
run |
Main binary, used to detect the installation |
version_cmd · version_regex |
Command and regex (group 1) to read the installed version |
latest |
Where to look up the latest version: npm, pypi, brew_cask, brew_formula, github (owner/repo) or url + regex. Inferred automatically for npm, bun and brew installs |
skip_version_probe |
Don't run the binary to detect the version (GUI apps) |
needs_git |
Requires Git on Windows |
path_entry |
Folder to add to PATH after installing |
configure |
API key: env_var, settings_file, settings_key, prompt |
To contribute a new tool, see CONTRIBUTING.md.
Package managers by platform
| Platform | Package managers |
|---|---|
| Windows | winget, PowerShell 7 (pwsh), npm |
| macOS | brew, npm, curl |
| Debian / Ubuntu | apt, npm, curl |
| Fedora / RHEL | dnf, npm, curl |
| Arch | pacman, npm, curl |
Disclaimer
RivetRook is only an installation helper: it runs the official commands published by each vendor (npm, winget, brew, apt…), exactly as you would in a terminal. It does not modify, redistribute or claim ownership of any third-party software, and it is not affiliated with the companies listed — every tool belongs to its respective owner.
Bugs, ideas and new tools are welcome — see CONTRIBUTING.md.
Made with 💜 by Paulo Carinhena · GPL-3.0 license