Skip to content
This repository was archived by the owner on Feb 12, 2026. It is now read-only.

toolctl/toolctl

Repository files navigation

toolctl

A drawing of a cute gopher holding a wrench

GitHub Workflow Status (main branch) Go Report Card GitHub release (latest) GitHub

toolctl helps you manage your tools on Linux and macOS.

⚠️ Project Archived

This project is no longer maintained. We recommend mise as a modern alternative. It offers all the core functionality of toolctl and much more.

Thanks to everyone who contributed to toolctl!

Installation

Automatic

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

Manual

You can download the latest version of toolctl and run it from any directory you like.

Getting Started

Get information about tools

Info about all installed and supported tools

❯ toolctl info
[k9s      ] ✨ k9s v0.25.8: Kubernetes CLI to manage your clusters in style
[k9s      ] ✅ k9s v0.25.8 is installed at /home/adent/.local/bin/k9s
[kubectl  ] ✨ kubectl v1.23.0: The Kubernetes command-line tool
[kubectl  ] 🔄 kubectl v1.21.2 is installed at /home/adent/.local/bin/kubectl

Info about a specific tool

❯ toolctl info gh
✨ gh v2.4.0: GitHub's official command line tool
🏠 https://cli.github.com/
❌ Not installed

Install tools

Install the latest version of a tool

❯ toolctl install k9s
👷 Installing v0.25.8 ...
🎉 Successfully installed

Install a specific version of a tool

❯ toolctl install [email protected]
👷 Installing v0.11.15 ...
🎉 Successfully installed

Upgrade tools

❯ toolctl upgrade
[gh     ] ✅ Already up to date (v2.34.0)
[toolctl] ✅ Already up to date (v0.4.11)
[yq     ] 👷 Upgrading from v4.13.4 to v4.13.5 ...
[yq     ] 👷 Removing v4.13.4 ...
[yq     ] 👷 Installing v4.13.5 ...
[yq     ] 🎉 Successfully installed

Supported Tools

Currently, toolctl supports the following tools:

  • age: A simple, modern and secure encryption tool
  • age-keygen: A simple, modern and secure encryption tool
  • air: Live reload for Go apps
  • atlas: Manage your database schema as code
  • chezmoi: Manage your dotfiles across multiple diverse machines, securely
  • cloudflared: Cloudflare Tunnel client
  • dive: A tool for exploring each layer in a docker image
  • dockerfilegraph: Visualize your multi-stage Dockerfiles
  • eksctl: The official CLI for Amazon EKS
  • gdu: Fast disk usage analyzer with console interface written in Go
  • gh: GitHub's official command line tool
  • godolint: Dockerfile linter, written in Golang 🐳
  • golangci-lint: Fast linters runner for Go
  • goreleaser: Deliver Go binaries as fast and easily as possible
  • gping: Ping, but with a graph
  • grype: A vulnerability scanner for container images and filesystems
  • helm: The Kubernetes package manager
  • hugo: The world's fastest framework for building websites
  • k9s: Kubernetes CLI to manage your clusters in style
  • kind: Kubernetes in Docker - local clusters for testing Kubernetes
  • kompose: Convert Compose to Kubernetes
  • kops: Production grade K8s installation, upgrades, and management
  • kubectl: The Kubernetes command-line tool
  • kubectx: Faster way to switch between Kubernetes contexts
  • kubefwd: Bulk port forwarding Kubernetes services for local development
  • kubens: Faster way to switch between Kubernetes namespaces
  • kuberlr: Simple management of multiple kubectl versions
  • kustomize: Template-free customization of Kubernetes configuration
  • minikube: Run Kubernetes locally
  • mise: dev tools, env vars, task runner
  • pulumi: Developer-first infrastructure as code
  • skaffold: Easy and repeatable Kubernetes development
  • sops: Simple and flexible tool for managing secrets
  • stern: Multi pod and container log tailing for Kubernetes
  • syft: CLI tool and library for generating a Software Bill of Materials from container images and filesystems
  • task: A task runner / simpler Make alternative written in Go
  • terraform: Infrastructure as code software tool
  • tkn: A CLI for interacting with Tekton
  • toolctl: The tool to control your tools
  • yq: Portable command-line YAML processor

Our goal is to support as many tools as possible, so expect this list to grow significantly over time.

In general, toolctl currently supports any tool that:

✔ consists of a single executable file
✔ runs on Linux and/or macOS
✔ includes a command or flag to print its semantic version
✔ provides its source code and precompiled binaries online under a free and open source license

If you know a tool that fits all of these criteria, please open an issue and let us know!

Credits

The toolctl logo was created with gopherize.me. Artwork by Ashley McNamara based on original artwork by Renee French.

License

MIT

Contributors

Languages