| Crates.io | upkit |
| lib.rs | upkit |
| version | 0.3.6 |
| created_at | 2025-12-30 20:19:59.129385+00 |
| updated_at | 2026-01-25 11:08:04.57275+00 |
| description | One CLI to check & update Go/Rust/Node/Python/Flutter (hybrid built-in + direct-download). |
| homepage | |
| repository | https://github.com/christiandoxa/upkit |
| max_upload_size | |
| id | 2013252 |
| size | 338,679 |
One CLI to check and update Go, Rust, Node, Python, and Flutter toolchains.
check, update, and clean commands for multiple toolchains.From crates.io:
cargo install upkit
From source:
git clone https://github.com/christiandoxa/upkit.git
cd upkit
cargo install --path .
Check installed versions and status:
upkit check
Full help output:
$ upkit help
Check and update Go/Rust/Node/Python/Flutter
Usage: upkit [OPTIONS] [COMMAND]
Commands:
check Show installed version + latest version + status
update Update tools (interactive by default) [aliases: install]
clean Remove managed tool installs and symlinks
uninstall Uninstall managed tool installs and symlinks
doctor Diagnose common setup problems and provide fixes
version Print version details
completions Generate shell completions
self-update Update upkit itself
paths Print where upkit stores installs and symlinks
help Print this message or the help of the given subcommand(s)
Options:
--json Print JSON instead of pretty text
-y, --yes Assume "yes" for prompts (non-interactive)
-v, --verbose... Increase verbosity (-v, -vv)
-q, --quiet Suppress non-error output
--no-color Disable ANSI colors
--dry-run Don't perform actions; only show what would happen
--no-progress Disable progress indicators
--offline Disable network access (skip latest checks and downloads)
--timeout <TIMEOUT> Network timeout in seconds [default: 60]
--retries <RETRIES> Retry failed network requests this many times [default: 2]
--only <ONLY> Limit which tools to operate on [possible values: go, rust, node, python, flutter]
--home <HOME> Where upkit stores tool installs (default: ~/.local/share/upkit)
--bindir <BINDIR> Where upkit places symlinks (default: ~/.local/bin)
-h, --help Print help
-V, --version Print version
Run without a subcommand defaults to check:
upkit
Update tools interactively:
upkit update
The install alias runs the same command:
upkit install
Interactive selection uses letter codes (comma-separated), for example:
# Choose items shown as a), b), c), ...
upkit update
# Input example: a,c,f
Update a specific tool:
upkit update go
upkit update rust
upkit update node
upkit update python
upkit update flutter
Clean managed installs and symlinks:
upkit clean
Uninstall managed installs and symlinks:
upkit uninstall
Diagnose common setup problems:
upkit doctor
Print version details:
upkit version
Update upkit itself:
upkit self-update
Generate shell completions:
upkit completions bash
upkit completions zsh
upkit check --json
upkit update --dry-run
upkit update --offline
upkit update --no-progress
upkit update --yes
upkit check --only rust
upkit check --timeout 30
upkit check --retries 3
upkit check --quiet
upkit check -v
upkit check -vv
upkit check --no-color
upkit paths
Override locations:
upkit check --home ~/.local/share/upkit
upkit check --bindir ~/.local/bin