5 min read

3 CLI Tools Worth Your Attention This Week

Every week I go through what's moving on GitHub and what the developer community is actually talking about. This week three tools stood out.

ACT

1. act — Run GitHub Actions locally

57k stars
$ brew install act

If you've ever pushed a commit just to test whether your CI pipeline works, act is for you.

It runs your GitHub Actions workflows locally using Docker. You get the exact same environment as GitHub's runners, but on your machine, in seconds, without burning through your Actions minutes or cluttering your commit history with "fix CI" messages.

The setup is straightforward: install act, make sure Docker is running, and run act in any repo that has a .github/workflows directory. It reads your workflow files and executes them locally.

I've been using it for three months now. The time it saves is real. A workflow that would take 4 minutes to test on GitHub takes 20 seconds locally.

The only gotcha: some GitHub-specific features (like certain secrets or GitHub Packages) need extra configuration. For standard build/test/lint pipelines it just works.

View on CLIHunt →
ATU

2. atuin — Shell history that doesn't suck

22k stars
$ brew install atuin

Your shell history is a mess. You know this.

atuin replaces your shell history with a SQLite database and gives you a proper search interface. Instead of Ctrl+R and hoping for the best, you get a full-screen fuzzy search that filters by directory, exit code, time, and hostname.

The killer feature for me is cross-device sync. I work across three machines. Before atuin, a command I ran on my work laptop was invisible on my personal machine. Now my history is everywhere, encrypted, synced automatically.

You can self-host the sync server or use their hosted option. Either way the local experience is the same.

One week with atuin and you won't want to go back.

View on CLIHunt →
MIS

3. mise — Finally a version manager that doesn't make me angry

12k stars
$ brew install mise

If you've used nvm, rbenv, pyenv, or asdf, you know the ritual: install the version manager, add it to your shell config, restart your terminal, install the version, set the local version, wonder why it's still using the system version.

mise does all of this but 35x faster (their benchmark, not mine — though it feels accurate) and with a single unified interface for Node, Python, Ruby, Go, and 100+ other runtimes.

The .tool-versions file is compatible with asdf, so if you're already using asdf you can switch with zero configuration changes. It just becomes faster.

I migrated from asdf two months ago. The only thing I miss is nothing.

View on CLIHunt →

That's it for this week. If you have a tool you think belongs here, submit it to CLIHunt — we review everything within 48 hours.

Discussion
CH
CLI Hunt Team
Curating the best CLI tools and AI agents every week.

Get the best CLI tools in your inbox

Weekly newsletter. No spam. Unsubscribe anytime.

Highlight