skt — toolchain manager
A standalone, rootless toolchain/version manager. Given <tool>@<version> and a target platform it resolves the version, downloads the artifact, verifies its sha256, extracts it into a content cache, and reports the resulting binary path as machine-readable JSON. It is the version manager that replaces the mise fallback in sklp.
How it works
Host → versioned cache → binary path. The cache root defaults to $XDG_CACHE_HOME/skt (else ~/.cache/skt); override it with --cache-dir.
- Step 1Resolve
Map <tool>@<version> to a concrete release for the host OS/arch.
- Step 2Download
Fetch the artifact from the recipe's download URL.
- Step 3Verify
Stream a sha256 and compare it constant-time to the published checksum.
- Step 4Cache
Extract into $XDG_CACHE_HOME/skt and mark the binary; warm hits skip the network.
Commands
The two primary verbs resolve and install a tool. Both accept --json for machine-readable output.
skt resolve go@1.25.5 --jsonskt install go@1.25.5 --jsonRecipes
CLIs are described by declarative TOML recipes (15 bundled). Each declares per-platform artifacts and an install block.
| Tool | Type | Platforms | Checksum |
|---|---|---|---|
| air | cli | darwin, linux | combined |
| bun | cli | darwin, linux | combined |
| dive | cli | darwin, linux | combined |
| gdu | cli | darwin, linux | combined |
| gitleaks | cli | darwin, linux | combined |
| golangci-lint | cli | darwin, linux | combined |
| helm | cli | darwin, linux | single |
| jq | cli | darwin, linux | combined |
| just | cli | darwin, linux | combined |
| kubectl | cli | darwin, linux | single |
| nuclei | cli | darwin, linux | combined |
| opentofu | cli | darwin, linux | combined |
| task | cli | darwin, linux | combined |
| trivy | cli | darwin, linux | combined |
| wasm-bindgen | cli | darwin, linux | single |