DEV Community

Cover image for A cli tool to be more organized and productive in 2026
Ilja Nevolin
Ilja Nevolin

Posted on

A cli tool to be more organized and productive in 2026

We all "love" microservices, allegedly. But you know what isn't fun? Realizing you need to bump a dependency, run a build, git pull and create PRs across 15 different repositories at the same time.

You usually have two options (if you don't want to use AI agents):

  1. The "Tab Hoarder" Strategy Manually open 15 terminal tabs, cd into each one, run the command, and pray you didn't miss one.

  2. The "Unix Wizard" Strategy You try to construct a one-liner that iterates over directories. You start typing:

   find . -maxdepth 1 -type d -exec sh -c 'cd "{}" && git pull' \;
Enter fullscreen mode Exit fullscreen mode

It works, but it's painfully slow because it runs serially (one at a time). So you switch to xargs to run it in parallel:

ls -d */ | xargs -P 4 -I {} bash -c "cd {} && pnpm update"
Enter fullscreen mode Exit fullscreen mode

Now you have a problem. xargs (by default) breaks on directory names with spaces. To fix it, you need to add -print0 to find and -0 to xargs, and suddenly your "quick one-liner" is 80 characters long and unreadable.

Enter in-cli 🚀 https://github.com/inevolin/in-cli

Usage:

in [OPTIONS] [DIRECTORIES...] [--] COMMAND...
Enter fullscreen mode Exit fullscreen mode

I got tired of typing those boilerplate loops. I wanted a tool that does one thing well: runs a command in every directory, fast. So I built in-cli. It’s a zero-dependency CLI (pure bash) that acts as a force multiplier for your shell.

How it actually works

Instead of wrestling with pipes and flags, you just tell it what to do.

Scenario 1: The Morning Routine You get to work and need to update all 20 repos in your ~/work folder.

# Updates every repo in ~/work/ directory
in ~/work/* git pull
Enter fullscreen mode Exit fullscreen mode

Scenario 2: The "Critical Fix" Deployment You need to trigger a build script across all your services right now.

# Run 'make build' in parallel across all subdirectories
in -P 8 ~/work/* make build
Enter fullscreen mode Exit fullscreen mode

Scenario 3: Dependency Hell Need to update lodash in every service because of a CVE?

in ~/work/* 'pnpm update lodash && git commit -am "updating lodash" && git push'
Enter fullscreen mode Exit fullscreen mode

You'll find +50 other real-world scenarios in the EXAMPLES.md file.

Why use this?

Stop wasting time on tooling boilerplate. If you're managing a monorepo or a folder full of microservices, stop writing throwaway scripts to manage them. Check it out on GitHub, and let me know if it saves you a few keystrokes (and your sanity).

Enjoy!

Top comments (0)