Shell tools your agent already has
The tools an agent reaches for constantly: find the file, search inside it, reshape the output, move it somewhere else.
40 toolsAlmost every task an agent does touches these. Asked to find where something is configured, it searches the tree rather than guessing. Asked to pull the failures out of a log, it filters rather than reading you the whole file. These are the difference between an agent that describes what it would do and one that does it.
The tools
Preinstalled on every plan, with nothing to set up. A few depend on the engine you pick.
rgRipgrep. Recursive regex search across a whole repository in milliseconds.
fdA friendlier find: locate files and directories by name or pattern.
batcat with syntax highlighting, line numbers and Git markers.
jqFilter, reshape and pretty-print JSON straight from a pipe.
yqThe same query language as jq, applied to YAML and TOML.
mlrMiller. Cut, join, sort and summarise CSV, TSV and JSON records.
qsvIndex, join, slice and validate very large CSV files at speed.
csvcutcsvkit. Pull, drop and reorder the columns of a CSV.
in2csvTurn Excel, JSON or fixed-width files into CSV.
sql2csvRun a SQL query against a database and get CSV back.
7zPack and unpack 7z, and most other archive formats.
zipCreate and update ZIP archives.
unzipList and extract the contents of a ZIP archive.
xzCompress and decompress with xz and LZMA.
zstdFast compression and decompression with Zstandard.
lessPage through a long file or a command’s output.
fileIdentify what a file actually is, whatever its extension claims.
treePrint a directory as an indented tree.
patchApply a diff to a file or to a whole source tree.
columnLine piped text up into readable columns.
bcArbitrary-precision arithmetic straight from a pipe.
pvWatch data move through a pipe, with rate and progress.
csvsqlQuery CSV files with SQL, or load them straight into a database.
csvlookRender a CSV as an aligned table you can actually read in a terminal.
csvstatReport types, null counts and ranges for every column in a CSV.
csvjsonConvert a CSV to JSON or GeoJSON, one object per row.
csvgrepFilter CSV rows by pattern or regex against named columns.
csvsortSort a CSV by one or more columns, with type-aware ordering.
csvjoinJoin two or more CSV files on a shared column.
spongeSoak up stdin fully before writing, so a pipe can rewrite its own input file.
tsPrefix every line of a stream with a timestamp.
chronicRun a command and print its output only when it fails.
ifneRun a command only when stdin is not empty.
peeSend stdin to several commands at once, the way tee does for files.
vipeDrop an editor into the middle of a pipe to hand-edit the stream.
vidirRename and delete files by editing a directory listing as text.
isutf8Check whether a file or stream is valid UTF-8.
errnoLook up an errno by number, name or message.
hexdumpDump a file as hex, octal or ASCII to inspect binary content.
ast-grepSearch and rewrite code by syntax-tree pattern instead of by regex.
A real command line, already set up
Every agent runs on a sandboxed machine with the whole toolbox preinstalled. No setup step, on any plan.
