Written in Rust ยท Open Source ยท MIT License

Fast parallel CLI tools
for the terminal

Drop-in alternatives to find, du, and grep built with parallel worker threads for speed on modern multi-core hardware.

Install all tools
$ curl -fsSL https://artools.io/install.sh | bash

macOS & Linux ยท x86_64 & arm64 ยท view script

macOS arm64
macOS x86_64
Linux x86_64 (musl)
Linux arm64 (musl)
Tools
arfind replaces find

Parallel directory traversal with glob pattern matching, type filtering, and smart defaults that skip .git and node_modules automatically.

--name -t f/d/l --size --empty --max-depth --count -H hidden
ardisk replaces du

Bottom-up parallel disk usage analysis. Shows the heaviest directories first with accurate rollup sizes using a single-pass DP algorithm.

--top N --max-depth --threshold --include --summarize
argrep replaces grep

Parallel text search across file trees. Full regex by default, with -F for literal strings. Skips binaries automatically, supports piped stdin, and works as a drop-in for common grep workflows.

-i case -F literal -w word -x line -n lines -v invert -o matched -l files -c count -m limit -q quiet --include --exclude --exclude-dir
Usage
arfind Find files by name, type, or size
# Find all Rust source files
arfind . --name "*.rs"

# Find files larger than 100MB
arfind . -t f --size 100MB

# Count empty files in a directory
arfind . -t f --empty --count
ardisk Analyze disk usage
# Top 10 heaviest directories
ardisk . --top 10

# How much space do .mp4 files use?
ardisk ~/Movies --include "*.mp4" --summarize

# Show only directories over 1GB
ardisk / --threshold 1GB
argrep Search text in files or stdin
# Search Rust files case-insensitively
argrep "todo" . --include "*.rs" -i -n

# List files containing errors
argrep "error" /var/log -l

# Use as a grep replacement in pipes
ps aux | argrep "rust"

# Literal search (skip regex interpretation)
argrep -F "connection refused" /var/log

# Whole-word match ("cat", not "category")
argrep -w "cat" .

# Quiet mode โ€” just check the exit code
argrep -q "TODO" src/ && echo "found"

# Print only the matched text, not the whole line
echo 'foo bar foo' | argrep -o "foo"

# Stop after the first match โ€” great for CI checks
argrep -m 1 "panic!" src/

# Skip generated/vendor directories
argrep "TODO" . --exclude-dir node_modules