quickly
Fast concurrent command runner, written in Go.
Installation
Get the latest build from Releases and place it in your path.
Alternatively install with Go
go install github.com/joeyciechanowicz/quickly@latest
Usage
Run it once to create a ~/.quicklyrc file, add directories you want to run commands in to that file. One directory per line. For example
~/git/some-dir
~/git/other-dir
Git status
Quickly handles status itself to provide a quick overview of the git status of each directory.
> quickly status
[first-project] main Clean
[api-service] main 1 modified
[automation] feat1 Clean [behind 1]
Command runner
quickly some command
Or if you want a more complex command wrap it in quotes, as all commands are run in a shell.
quickly 'cat somefile.txt | grep something'
Filter based on branch
If you want to only run commands when the branch matches, you can use --if-branch.
quickly --if-branch some-branch your command
You can also match substrings, or use the shorthand version
quickly -b som your command
Concurrency
By default quickly picks a worker count based on the number of directories and your CPU count. Override it with --concurrency (or -c) to control how many directories run in parallel.
quickly --concurrency 4 your command
quickly -c 1 your command # run sequentially
Interactive mode
Use --interactive (or -i) to render a live dashboard while commands run, showing per-directory output as it streams. Useful for long-running commands or when you want to watch progress in real time.
quickly --interactive your command
quickly -i your command