Command Reference

Complete documentation for all 336 builtin commands in the ZY shell, organized across 27 categories. Search, browse, and explore with syntax and examples.

336 Commands27 Categoriesv1.0.9
Installsudo dpkg -i zy_1.0.9_amd64.deb
📂

Navigation

9
cd
📂 Navigation

Change working directory. Supports ~, -, .., and absolute or relative paths.

cd <dir>
<dirname>
📂 Navigation

Auto-cd: type a directory name directly to change into it without the cd command.

<dirname>
pushd
📂 Navigation

Push the current directory onto the stack and change to the given directory.

pushd <dir>
popd
📂 Navigation

Pop the top directory from the stack and cd into it.

popd
dirs
📂 Navigationlist<path>

Display the current directory stack. Entries are in pushd order.

dirs
pwd
📂 Navigationstring

Print the absolute path of the current working directory.

pwd
ls
📂 Navigationtable

List directory contents as a structured table with name, type, size, and modified columns.

ls [-al] [path ...]
z
📂 Navigation

Smart jump to a directory using frecency-based fuzzy matching. Learns from your cd history.

z <query...>
zi
📂 Navigation

Interactive fuzzy directory picker powered by fzf-style UI. Shows all visited directories.

zi [query]
⚙️

Variables & Environment

11
export
⚙️ Variables & Environmenttable

Set or list environment variables. Without arguments, prints all exported variables.

export [name=val]
unset
⚙️ Variables & Environment

Remove a shell variable or function from the current environment.

unset <name>
readonly
⚙️ Variables & Environment

Mark a variable as read-only. Any subsequent assignment will fail.

readonly <name>
const
⚙️ Variables & Environment

Declare a constant (immutable) variable. Cannot be reassigned after creation.

const <name>=<val>
with-env
⚙️ Variables & Environmentany

Execute a block with scoped environment variables. Variables revert after block ends.

with-env { KEY: val } { cmd }
local
⚙️ Variables & Environment

Declare a variable scoped to the current function. Not visible outside the function.

local <name>=<val>
declare
⚙️ Variables & Environment

Declare variables with type attributes. Supports arrays, associative arrays, exports, and dedup.

declare [-xaAU] var
typeset
⚙️ Variables & Environment

Set variable attributes (zsh-compatible). Often used with -U for deduplication.

typeset [-U] var
set
⚙️ Variables & Environment

Set shell runtime options. Controls error handling, tracing, and safety behaviors.

set [options]
umask
⚙️ Variables & Environmentstring

Display or set the file creation permission mask. Affects permissions of newly created files.

umask [mode]
ulimit
⚙️ Variables & Environmentstring | table

Get or set resource limits for the current shell process (file size, open files, memory, etc).

ulimit [opts] [val]
🎨

Aliases & Customization

5
alias
🎨 Aliases & Customizationtable

Create, list, or remove command aliases. Supports suffix aliases with -s.

alias [-s] [n=cmd]
unalias
🎨 Aliases & Customization

Remove one or all aliases from the current session.

unalias [-a] <name>
customize
🎨 Aliases & Customization

Launch the interactive configuration wizard. Shorthand for 'config wizard'.

customize
config
🎨 Aliases & Customizationrecord

Manage shell configuration. Subcommands include wizard, show, reset, edit, save, and set.

config <sub> [key] [value]
set-theme
🎨 Aliases & Customization

Apply a built-in color theme to the shell prompt and UI.

set-theme <name>
📝

I/O & Evaluation

16
echo
📝 I/O & Evaluation

Print arguments to stdout. Supports escape sequences with -e and raw mode with -E.

echo [-neE] [str]
printf
📝 I/O & Evaluation

Format and print data using C-style format specifiers (%s, %d, %f, %x).

printf <fmt> [...]
print
📝 I/O & Evaluation

zsh-style print with options for per-line output, raw mode, and prompt expansion.

print [-nlrP] [...]
read
📝 I/O & Evaluation

Read a line of input from stdin into a variable.

read [-rsp] <var>
source
📝 I/O & Evaluationany

Execute commands from a file in the current shell context. Variables and functions persist.

source <file>
.
📝 I/O & Evaluationany

Execute commands from a file in the current shell (alias for source).

. <file>
eval
📝 I/O & Evaluationany

Evaluate a string as a shell command. Useful for dynamically constructed commands.

eval <string>
exec
📝 I/O & Evaluation

Replace the current shell process with the given command. Does not return.

exec <cmd>
test
📝 I/O & Evaluation

Evaluate a conditional expression. Returns exit code 0 (true) or 1 (false).

test <expr>
[
📝 I/O & Evaluation

Evaluate a conditional expression (alias for test). Must end with ].

[ <expr> ]
type
📝 I/O & Evaluationstring

Show how a command name is interpreted (alias, function, builtin, or external).

type <name>
do
📝 I/O & Evaluationany

Execute a command string or block. Useful for inline command evaluation.

do { cmd }
ignore
📝 I/O & Evaluation

Silently discard all output from the pipeline. Useful for suppressing noisy commands.

... | ignore
input
📝 I/O & Evaluationstring

Prompt the user for interactive text input and return the entered string.

input [prompt]
input-list
📝 I/O & Evaluationstring

Present an interactive menu of items and return the user's selection.

input-list [items]
use
📝 I/O & Evaluation

Import a module or file into the current scope. Brings exported commands and variables.

use <module>
📜

History

3
history
📜 Historytable

View command history or clear it. Shows numbered entries with timestamps.

history [-c] [-n N]
fc
📜 History

List or re-edit recent history commands. Opens in $EDITOR for editing before re-execution.

fc [-l] [-r] [range]
!!
📜 Historyany

History expansion shortcuts. !! repeats last command, !n repeats command N, ^old^new substitutes.

!! / !n / !str / ^old^new
🔧

Job Control

9
jobs
🔧 Job Controltable

List all active background jobs with their status, PID, and command.

jobs
fg
🔧 Job Control

Bring a background job to the foreground. Resumes a stopped job.

fg [%job]
bg
🔧 Job Control

Continue a stopped job in the background.

bg [%job]
wait
🔧 Job Control

Wait for one or all background jobs to complete before continuing.

wait [job|pid]
disown
🔧 Job Control

Remove a job from the job table so it is not killed when the shell exits.

disown [%job]
kill
🔧 Job Control

Send a signal to a process or job. Default signal is SIGTERM (15).

kill [-sig] target
trap
🔧 Job Control

Set or display signal handlers. Run a command when a specific signal is received.

trap [cmd] [sig]
sched
🔧 Job Control

Schedule a command for future execution after a delay or at a specific time.

sched [+s|HH:MM] cmd
suspend
🔧 Job Control

Suspend the current shell process (send SIGTSTP to self).

suspend
🔀

Flow Control

12
if
🔀 Flow Controlany

Conditional execution with if/elif/else branches. Executes the block whose condition is true.

if cond; then ... fi
for
🔀 Flow Control

Iterate over a list of values, executing the body block for each item.

for VAR in LIST; do ... done
while
🔀 Flow Control

Loop while a condition is true. Also supports until (loop until true).

while cond; do ... done
case
🔀 Flow Controlany

Pattern matching on a value. Each branch is a glob pattern followed by commands.

case WORD in ...) ;; esac
match
🔀 Flow Controlany

Modern pattern matching expression. More powerful than case with structured pattern support.

match VAL { pat => expr }
try
🔀 Flow Controlany

Error handling with try/catch/finally blocks. Catch block receives the error.

try { } catch { } finally { }
def
🔀 Flow Control

Define a custom command with named and typed parameters.

def name [...params] { body }
select
🔀 Flow Control

Present a numbered menu of items for the user to choose from.

select VAR in LIST
[[
🔀 Flow Control

Extended conditional test with pattern matching and logical operators. More powerful than [.

[[ expression ]]
return
🔀 Flow Control

Return from the current function with an optional exit status code.

return [status]
break
🔀 Flow Control

Exit from the innermost loop (for, while, until). Optional N exits N levels.

break [n]
continue
🔀 Flow Control

Skip the rest of the current loop iteration and jump to the next one.

continue [n]
🛠️

Scripting

15
getopts
🛠️ Scripting

Parse positional parameters according to an option string. Used in scripts for argument handling.

getopts optstr var
shift
🛠️ Scripting

Shift positional parameters left by N positions (default: 1). $2 becomes $1, etc.

shift [n]
hash
🛠️ Scriptingtable

Manage the shell's command hash table. Speeds up command lookups by caching paths.

hash [name | -r]
times
🛠️ Scriptingstring

Print accumulated CPU times for the shell and all child processes.

times
time
🛠️ Scripting

Measure the wall-clock and CPU execution time of a command.

time <command>
true
🛠️ Scripting

Return exit code 0 (success). Useful as a no-op condition in loops.

true
false
🛠️ Scripting

Return exit code 1 (failure). Useful for testing error paths.

false
:
🛠️ Scripting

No-op command that returns success (exit 0). Used as a placeholder in scripts.

:
bindkey
🛠️ Scriptingtable

List or set custom keybindings for the line editor. Bind key sequences to widgets.

bindkey [seq] [widget]
command
🛠️ Scriptingany | string

Run a command bypassing shell functions and aliases. With -v, show command location.

command [-v] cmd
builtin
🛠️ Scriptingany

Run a shell builtin command explicitly, bypassing any functions or aliases with the same name.

builtin <cmd>
autoload
🛠️ Scripting

Mark a function for lazy-loading from $fpath. Function is loaded on first call.

autoload [-U] fn
repeat
🛠️ Scripting

Execute a command N times in sequence.

repeat N cmd
which
🛠️ Scriptingstring

Locate a command and show its full path, or indicate if it is a builtin/alias/function.

which <name>
whence
🛠️ Scriptingstring

Locate a command (zsh-compatible alias for which). Shows how a name resolves.

whence <name>
🔒

Security

2
audit
🔒 Securitytable

Tamper-evident audit logging with SHA-256 hash chain. Records all command executions.

audit <sub>
policy
🔒 Securitytable

Command execution policy engine. Allow, deny, or require confirmation for specific commands.

policy <sub>
💻

System

22
sys
💻 Systemrecord | table

System information dashboard showing host, CPU, memory, disk, network, and battery.

sys [tools]
uninstall
💻 System

Interactive wizard to cleanly uninstall zy shell, removing configs and restoring default shell.

uninstall
exit
💻 System

Exit the shell with an optional exit code. Running jobs are warned about.

exit [code]
help
💻 Systemstring

Show general help or detailed per-command help with syntax, examples, and flags.

help [command]
feature
💻 Systemstring

Toggle runtime feature gates on or off. Controls experimental or optional behaviors.

feature <name> [on|off]
hook
💻 System

Register shell lifecycle hooks that run on events like precmd, preexec, chpwd, and exit.

hook <event> <cmd>
http
💻 Systemrecord | string

Built-in HTTP client supporting GET, POST, HEAD, PUT, DELETE methods.

http <method> <url>
plugin
💻 Systemtable

Plugin management system. List, enable, disable, and reload shell plugins.

plugin <sub>
skill
💻 Systemany

Execute and manage shell skills (reusable task automation scripts).

skill <name>
stats
💻 Systemtable

Show command usage statistics including most-used commands, session time, and command counts.

stats
clear
💻 System

Clear the terminal screen and move cursor to the top-left.

clear
is-admin
💻 Systembool

Check if the current shell is running with root/administrator privileges.

is-admin
port
💻 Systemint

Find and return a free TCP port number on the local machine.

port
ps
💻 Systemtable

List all running processes as a structured table with PID, name, CPU, and memory.

ps
sleep
💻 System

Pause execution for a specified duration. Supports units like sec, ms, min.

sleep <duration>
term-size
💻 Systemrecord

Get the terminal dimensions (columns and rows) as a record.

term-size
uname
💻 Systemstring | record

Display system and kernel information (OS name, version, architecture).

uname [-a]
url-decode
💻 Systemstring

Decode a percent-encoded URL string back to its original form.

url-decode <str>
url-encode
💻 Systemstring

Percent-encode a string for safe use in URLs.

url-encode <str>
url-parse
💻 Systemrecord

Parse a URL into its components (scheme, host, port, path, query, fragment).

url-parse <url>
version
💻 Systemrecord

Show the zy shell version, build date, commit hash, and feature flags.

version
whoami
💻 Systemstring

Print the current username.

whoami
🔗

ZSH Compatibility

16
setopt
🔗 ZSH Compatibility

Set a zsh-style shell option. Silently accepted for compatibility with .zshrc files.

setopt <option>
unsetopt
🔗 ZSH Compatibility

Unset a zsh-style shell option.

unsetopt <option>
emulate
🔗 ZSH Compatibility

Emulate another shell's behavior mode. Used for zsh/sh/ksh compatibility layers.

emulate <shell>
zmodload
🔗 ZSH Compatibility

Load or unload zsh modules. Stub for compatibility — silently succeeds.

zmodload <module>
zstyle
🔗 ZSH Compatibility

Configure completion and other style settings. Zsh-compatible stub.

zstyle <pattern> <style> [values...]
compinit
🔗 ZSH Compatibility

Initialize the completion system. Zsh-compatible stub — zy auto-initializes completions.

compinit
compdef
🔗 ZSH Compatibility

Associate a completion function with one or more commands.

compdef <function> <command...>
zle
🔗 ZSH Compatibility

Access and manipulate the Zsh Line Editor widgets. Stub for widget compatibility.

zle <widget>
strftime
🔗 ZSH Compatibilitystring

Format a Unix timestamp or the current time using strftime format specifiers.

strftime <format> [timestamp]
zstat
🔗 ZSH Compatibilityrecord

Display detailed file status information (size, permissions, timestamps).

zstat <file>
pcre_match
🔗 ZSH Compatibilitybool

Match a string against a Perl-compatible regular expression.

pcre_match <pattern> <string>
zparseopts
🔗 ZSH Compatibility

Parse command-line options from an argument array into associative arrays.

zparseopts <spec...>
zftp
🔗 ZSH Compatibilitystring

Built-in FTP client. Zsh-compatible stub for basic FTP operations.

zftp <subcommand> [args]
ztcp
🔗 ZSH Compatibilityint

Open, listen, or close raw TCP socket connections.

ztcp <host> <port>
zpty
🔗 ZSH Compatibility

Start and manage commands in pseudo-terminal sessions.

zpty <name> <command>
watch
🔗 ZSH Compatibilitytable

Monitor user login and logout events on the system.

watch
⌨️

Completion

4
compadd
⌨️ Completion

Add completion candidates to the current completion reply array.

compadd [options] <words...>
compgen
⌨️ Completionlist<string>

Generate completion matches. Bash-compatible interface for generating word lists.

compgen [-W wordlist] [-A action] [prefix]
_arguments
⌨️ Completion

Parse and define argument/option completion specs for a command (zsh-style).

_arguments <specs...>
complete
⌨️ Completion

Register a completion function for a command. Bash-compatible interface.

complete [-F function] [-W wordlist] <command>
🔍

Filters

65
all
🔍 Filtersbool

Check if every item in a list satisfies a condition. Returns true only if all match.

input | all { |it| condition }
any
🔍 Filtersbool

Check if at least one item in a list satisfies a condition.

input | any { |it| condition }
append
🔍 Filterslist

Add one or more items to the end of a list. Scalars are promoted to a list first.

input | append <value...>
chunk
🔍 Filterslist<list>

Split a list into fixed-size chunks. The last chunk may be smaller.

input | chunk <size>
collect
🔍 Filtersany

Collect streaming pipeline data into a single in-memory value.

input | collect
columns
🔍 Filterslist<string>

Extract the list of column names from a table or keys from a record.

input | columns
compact
🔍 Filterslist | table

Remove null values and empty strings from a list. For tables, removes rows containing any null.

input | compact
count
🔍 Filtersint

Count the number of items in a list, rows in a table, or characters in a string.

input | count
default
🔍 Filtersany

Provide a fallback value for null or missing fields.

input | default <value>
describe
🔍 Filtersstring

Describe the type and structure of a pipeline value.

input | describe
drop
🔍 Filterslist | table

Drop the last n items from a list or rows from a table. Defaults to 1.

input | drop [n]
drop-column
🔍 Filterstable

Remove the last N columns from a table.

input | drop-column [n]
drop-nth
🔍 Filterslist | table

Remove a specific row by its 0-based index.

input | drop-nth <index>
each
🔍 Filterslist

Apply a shell command to every item in a list. Returns a list of results.

input | each <command>
each-while
🔍 Filterslist

Apply a closure to each item while the closure returns a non-null value. Stops on first null.

input | each-while { |it| expr }
empty
🔍 Filtersbool

Check if a value is empty (empty string, list, or null).

input | empty
enumerate
🔍 Filterstable

Add a 0-based index to each item, returning records with index and item fields.

input | enumerate
every
🔍 Filterslist

Select every Nth item from a list, starting at the first.

input | every <n>
filter
🔍 Filterslist | table

Filter items by a boolean condition expression.

input | filter <condition>
find
🔍 Filterslist | table

Search for items containing a substring. Matches against any cell in tables, or string value in lists.

input | find <pattern>
first
🔍 Filtersany | list | table

Get the first N items from a list or table (default: 1).

input | first [N]
flatten
🔍 Filterslist

Flatten nested lists by one level. Non-list items and tables pass through unchanged.

input | flatten
get
🔍 Filtersany

Get a field value from a record or a full column from a table.

input | get <field>
group-by
🔍 Filtersrecord

Group table rows into a record keyed by the distinct values of a specified column.

input | group-by <column>
headers
🔍 Filterstable

Treat the first row of a table as column headers, re-keying the remaining rows.

input | headers
insert
🔍 Filterstable | record

Insert a new column with a fixed value into every row of a table, or add a key to a record.

input | insert <column> <value>
is-empty
🔍 Filtersbool

Check if a value is empty or null. Returns true for empty strings, lists, records, and null.

input | is-empty
is-not-empty
🔍 Filtersbool

Check if a value is non-empty and non-null.

input | is-not-empty
items
🔍 Filterslist

Iterate over key-value pairs of a record, applying a closure to each.

input | items { |key, val| expr }
join
🔍 Filterstable

SQL-style inner join of two tables on a matching column.

input | join <right-table> <on-column>
last
🔍 Filtersany | list | table

Get the last N items from a list or table (default: 1).

input | last [N]
length
🔍 Filtersint

Count items in a list, rows in a table, keys in a record, or characters in a string.

input | length
lines
🔍 Filterslist<string>

Split a string into a list of lines (split on newlines).

input | lines
merge
🔍 Filtersrecord | table

Merge two records (second wins on conflict) or concatenate two tables column-wise.

input | merge <other>
move
🔍 Filterstable

Move a column to a new position (before or after another column) in a table.

input | move <column> --before <ref> | --after <ref>
nth
🔍 Filtersany

Get the item at a specific 0-based index.

input | nth <index>
par-each
🔍 Filterslist

Apply a closure to each item in parallel. Order is not guaranteed.

input | par-each { |it| expr }
prepend
🔍 Filterslist

Add one or more items to the beginning of a list. Scalars are promoted to a list.

input | prepend <value...>
range
🔍 Filterslist<int>

Generate a range of numbers as a list.

range <start>..<end>
reduce
🔍 Filtersany

Reduce a list to a single value by applying an accumulator expression.

input | reduce { <closure> }
reject
🔍 Filterstable

Remove one or more columns from a table. Rows are preserved with remaining columns.

input | reject <column...>
rename
🔍 Filterstable

Rename one or more columns in a table. Arguments are provided as old/new pairs.

input | rename <old> <new> [...]
reverse
🔍 Filterslist

Reverse the order of items in a list.

input | reverse
rotate
🔍 Filterstable

Rotate (transpose) table columns to rows and vice versa.

input | rotate
sel
🔍 Filterstable

Select (project) specific columns from a table, discarding all others.

input | sel <columns...>
shuffle
🔍 Filterslist

Randomly shuffle the items in a list.

input | shuffle
skip
🔍 Filterslist | table

Skip the first n items from a list or rows from a table. Defaults to 1.

input | skip [n]
skip-until
🔍 Filterslist

Skip items until the condition first becomes true, then pass through all remaining.

input | skip-until { |it| condition }
skip-while
🔍 Filterslist

Skip items while the condition is true, then pass through all remaining.

input | skip-while { |it| condition }
slice
🔍 Filterslist

Extract a slice of a list by start and end index.

input | slice <start>..<end>
sort
🔍 Filterslist

Sort a list in ascending order. Supports strings, numbers, and booleans.

input | sort [--reverse]
sort-by
🔍 Filterstable

Sort a table by one or more column values in ascending or descending order.

input | sort-by <column> [--reverse]
take
🔍 Filterslist | table

Take the first n items from a list or rows from a table. If n exceeds length, all items are returned.

input | take [n]
take-until
🔍 Filterslist

Take items until the condition first becomes true. Stops collecting on first match.

input | take-until { |it| condition }
take-while
🔍 Filterslist

Take items while the condition holds. Stops collecting on first non-match.

input | take-while { |it| condition }
transpose
🔍 Filterstable

Transpose a table's rows and columns (pivot).

input | transpose
uniq
🔍 Filterslist

Remove consecutive duplicate values from a list. Sort first for full deduplication.

input | uniq
uniq-by
🔍 Filterstable

Remove duplicate rows from a table based on a specific column's values.

input | uniq-by <column>
update
🔍 Filterstable | record

Update the value of an existing column in every row of a table, or update a key in a record.

input | update <column> <value>
upsert
🔍 Filterstable | record

Insert a column if missing, or update it if it exists.

input | upsert <column> <value>
values
🔍 Filterslist

Extract all values from a record as a list.

input | values
where
🔍 Filterslist | table

Filter rows from a table or items from a list by a condition expression.

input | where <condition>
window
🔍 Filterslist<list>

Create a sliding window of fixed size over a list.

input | window <size>
wrap
🔍 Filtersrecord

Wrap a scalar value into a single-field record.

input | wrap <name>
zip
🔍 Filterslist<list>

Zip two lists together into a list of pairs.

input | zip <other>
🔤

Strings

33
ansi
🔤 Stringsstring

Output an ANSI escape code by name. Useful for coloring or styling text.

ansi <name>
ansi-strip
🔤 Stringsstring

Remove all ANSI escape codes from a string, leaving plain text.

input | ansi-strip
char
🔤 Stringsstring

Output a special character by name (newline, tab, etc.) or by Unicode code point.

char <name>
decode
🔤 Stringsstring

Decode a base64-encoded string back to plain text.

input | decode base64
detect-columns
🔤 Stringstable

Auto-detect column boundaries from whitespace-aligned text and convert to a table.

input | detect-columns
encode
🔤 Stringsstring

Encode a string to base64.

input | encode base64
parse
🔤 Stringstable

Parse a string using a pattern with named capture groups. Returns a table of matches.

input | parse <pattern>
split-chars
🔤 Stringslist<string>

Split a string into a list of individual characters.

input | split-chars
split-column
🔤 Stringstable

Split a string into columns by a separator, assigning column names.

input | split-column <separator> [names...]
split-list
🔤 Stringslist<list>

Split a list into sub-lists of a fixed size.

input | split-list <size>
split-row
🔤 Stringslist<string>

Split a string into a list of substrings using a delimiter.

input | split-row <separator>
split-words
🔤 Stringslist<string>

Split a string into a list of words (split on whitespace).

input | split-words
str-camel-case
🔤 Stringsstring

Convert a string to camelCase. Splits on underscores, hyphens, and spaces.

input | str-camel-case
str-capitalize
🔤 Stringsstring

Capitalize the first letter of a string, leaving the rest unchanged.

input | str-capitalize
str-contains
🔤 Stringsstring

Check if a string contains a given substring. Returns "true" or "false" as a string.

input | str-contains <needle>
str-distance
🔤 Stringsint

Compute the Levenshtein edit distance between two strings.

str-distance <a> <b>
str-downcase
🔤 Stringsstring

Convert all characters in a string to lowercase.

input | str-downcase
str-ends-with
🔤 Stringsstring

Check if a string ends with a given suffix. Returns "true" or "false".

input | str-ends-with <suffix>
str-index-of
🔤 Stringsint

Find the 0-based index of the first occurrence of a substring. Returns -1 if not found.

input | str-index-of <needle>
str-join
🔤 Stringsstring

Join a list of items into a single string using an optional separator.

list | str-join [separator]
str-kebab-case
🔤 Stringsstring

Convert a string to kebab-case (lowercase words separated by hyphens).

input | str-kebab-case
str-length
🔤 Stringsint

Get the number of characters in a string.

input | str-length
str-pascal-case
🔤 Stringsstring

Convert a string to PascalCase (UpperCamelCase).

input | str-pascal-case
str-replace
🔤 Stringsstring

Replace occurrences of a pattern in a string. Replaces only the first match by default.

input | str-replace <pattern> <replacement> [--all]
str-reverse
🔤 Stringsstring

Reverse the characters in a string.

input | str-reverse
str-screaming-snake-case
🔤 Stringsstring

Convert a string to SCREAMING_SNAKE_CASE (uppercase with underscores).

input | str-screaming-snake-case
str-snake-case
🔤 Stringsstring

Convert a string to snake_case. Splits on hyphens, spaces, and camelCase boundaries.

input | str-snake-case
str-starts-with
🔤 Stringsstring

Check if a string starts with a given prefix. Returns "true" or "false".

input | str-starts-with <prefix>
str-stats
🔤 Stringsrecord

Count lines, words, characters, and bytes in a string.

input | str-stats
str-substring
🔤 Stringsstring

Extract a substring by start and end character indices.

input | str-substring <start> <end>
str-title-case
🔤 Stringsstring

Convert a string to Title Case (capitalize the first letter of each word).

input | str-title-case
str-trim
🔤 Stringsstring

Remove leading and trailing whitespace from a string.

input | str-trim
str-upcase
🔤 Stringsstring

Convert all characters in a string to uppercase.

input | str-upcase
📐

Math

26
math
📐 Mathint | float

Evaluate a mathematical expression string. Supports +, -, *, /, %, **, parentheses.

math <expression>
math-abs
📐 Mathint | float

Return the absolute value (magnitude without sign) of a number.

value | math-abs
math-arccos
📐 Mathfloat

Compute the inverse cosine (arccosine) in radians.

value | math-arccos
math-arcsin
📐 Mathfloat

Compute the inverse sine (arcsine) in radians.

value | math-arcsin
math-arctan
📐 Mathfloat

Compute the inverse tangent (arctangent) in radians.

value | math-arctan
math-avg
📐 Mathfloat

Compute the arithmetic mean (average) of all values in a list.

list | math-avg
math-ceil
📐 Mathint

Round a float up to the nearest integer.

value | math-ceil
math-cos
📐 Mathfloat

Compute the cosine of an angle in radians.

value | math-cos
math-e
📐 Mathfloat

Return Euler's number (e ≈ 2.71828). A mathematical constant.

math-e
math-exp
📐 Mathfloat

Compute e raised to the power of the input value (e^x).

value | math-exp
math-floor
📐 Mathint

Round a float down to the nearest integer.

value | math-floor
math-ln
📐 Mathfloat

Compute the natural logarithm (base e) of a value.

value | math-ln
math-log
📐 Mathfloat

Compute the base-10 logarithm of a value.

value | math-log
math-max
📐 Mathint | float

Return the maximum value from a list.

list | math-max
math-median
📐 Mathint | float

Compute the median (middle value) of a sorted list. Averages two middle values for even-length lists.

list | math-median
math-min
📐 Mathint | float

Return the minimum value from a list.

list | math-min
math-mode
📐 Mathany | list

Find the most frequently occurring value(s) in a list.

list | math-mode
math-pi
📐 Mathfloat

Return the mathematical constant Pi (π ≈ 3.14159).

math-pi
math-product
📐 Mathint | float

Compute the product of all values in a list (multiply all together).

list | math-product
math-round
📐 Mathint

Round to the nearest integer (half rounds up).

value | math-round
math-sin
📐 Mathfloat

Compute the sine of an angle in radians.

value | math-sin
math-sqrt
📐 Mathfloat

Compute the square root of a non-negative number.

value | math-sqrt
math-stddev
📐 Mathfloat

Compute the standard deviation of a list of numbers.

list | math-stddev
math-sum
📐 Mathint | float

Sum all values in a list. Supports integers and floats.

list | math-sum
math-tan
📐 Mathfloat

Compute the tangent of an angle in radians.

value | math-tan
math-variance
📐 Mathfloat

Compute the variance of a list of numbers.

list | math-variance
🔄

Conversions

10
fill
🔄 Conversionsstring

Pad a value to a minimum width using a fill character.

input | fill --width <n> [--char <c>] [--alignment <side>]
fmt
🔄 Conversionsrecord

Format a number as binary, hex, octal, or scientific notation.

input | fmt
into-binary
🔄 Conversionsbinary

Convert a value to its binary (byte sequence) representation.

input | into-binary
into-bool
🔄 Conversionsbool

Convert a value to boolean. Truthy: non-zero, non-empty. Falsy: 0, empty, null.

input | into-bool
into-duration
🔄 Conversionsduration

Convert a value (int or string) to a duration type.

input | into-duration
into-filesize
🔄 Conversionsfilesize

Convert a number (bytes) to a human-readable filesize.

input | into-filesize
into-float
🔄 Conversionsfloat

Convert a value to a floating-point number.

input | into-float
into-int
🔄 Conversionsint

Convert a value to an integer. Strings are parsed, floats truncated.

input | into-int
into-record
🔄 Conversionsrecord

Convert a list of key-value pairs or a table row into a record.

input | into-record
into-string
🔄 Conversionsstring

Convert any value to its string representation.

input | into-string

Bits

8
bits-and
Bitsint

Perform a bitwise AND operation between two integers.

a | bits-and <b>
bits-not
Bitsint

Perform a bitwise NOT (complement) on an integer.

input | bits-not
bits-or
Bitsint

Perform a bitwise OR operation between two integers.

a | bits-or <b>
bits-rol
Bitsint

Bitwise rotate left by n positions.

input | bits-rol <n>
bits-ror
Bitsint

Bitwise rotate right by n positions.

input | bits-ror <n>
bits-shl
Bitsint

Bitwise shift left by n positions (multiply by 2^n).

input | bits-shl <n>
bits-shr
Bitsint

Bitwise shift right by n positions (divide by 2^n, truncated).

input | bits-shr <n>
bits-xor
Bitsint

Perform a bitwise XOR (exclusive OR) between two integers.

a | bits-xor <b>
📦

Bytes

11
bytes-add
📦 Bytesbinary

Append bytes to the end of a byte sequence.

input | bytes-add <bytes>
bytes-at
📦 Bytesbinary

Extract byte(s) at a specific index or range from a byte sequence.

input | bytes-at <index>
bytes-build
📦 Bytesbinary

Build a byte sequence from a list of integers (0–255).

bytes-build [integers...]
bytes-collect
📦 Bytesbinary

Collect individual bytes from a pipeline into a single byte sequence.

input | bytes-collect
bytes-ends-with
📦 Bytesbool

Check if a byte sequence ends with a given suffix.

input | bytes-ends-with <suffix>
bytes-index-of
📦 Bytesint

Find the index of the first occurrence of a byte pattern.

input | bytes-index-of <pattern>
bytes-length
📦 Bytesint

Get the number of bytes in a byte sequence.

input | bytes-length
bytes-remove
📦 Bytesbinary

Remove a range of bytes from a byte sequence.

input | bytes-remove <start> <end>
bytes-replace
📦 Bytesbinary

Replace a byte pattern with another in a byte sequence.

input | bytes-replace <old> <new>
bytes-reverse
📦 Bytesbinary

Reverse the order of bytes in a byte sequence.

input | bytes-reverse
bytes-starts-with
📦 Bytesbool

Check if a byte sequence starts with a given prefix.

input | bytes-starts-with <prefix>
📁

Path

9
path-basename
📁 Pathstring

Extract the filename component from a path string.

input | path-basename
path-dirname
📁 Pathstring

Extract the directory component from a path string.

input | path-dirname
path-exists
📁 Pathbool

Check if a filesystem path exists.

input | path-exists
path-expand
📁 Pathstring

Expand a path to its absolute form, resolving ~ and symlinks.

input | path-expand
path-join
📁 Pathstring

Join path components into a single path using the OS separator.

path-join <parts...>
path-parse
📁 Pathrecord

Parse a path string into a record with dir, stem, and extension components.

input | path-parse
path-relative-to
📁 Pathstring

Compute the relative path from a base directory.

input | path-relative-to <base>
path-split
📁 Pathlist<string>

Split a path into a list of its components.

input | path-split
path-type
📁 Pathstring

Determine the type of a filesystem path (file, dir, symlink).

input | path-type
🔐

Hash

2
hash-md5
🔐 Hashstring

Compute the MD5 hash of a string (hexadecimal digest).

input | hash-md5
hash-sha256
🔐 Hashstring

Compute the SHA-256 hash of a string (hexadecimal digest).

input | hash-sha256
📅

Date & Time

7
date-format
📅 Date & Timestring

Format a date value using strftime-style format specifiers.

input | date-format <format>
date-humanize
📅 Date & Timestring

Convert a date to a human-friendly relative string (e.g. '2 hours ago').

input | date-humanize
date-list-timezone
📅 Date & Timetable

List all available timezone names.

date-list-timezone
date-now
📅 Date & Timedatetime

Get the current date and time as a datetime value.

date-now
date-to-record
📅 Date & Timerecord

Convert a datetime to a record with year, month, day, hour, minute, second fields.

input | date-to-record
date-to-table
📅 Date & Timetable

Convert a datetime to a table with year, month, day, etc. as columns.

input | date-to-table
date-to-timezone
📅 Date & Timedatetime

Convert a datetime to a different timezone.

input | date-to-timezone <timezone>
🎲

Random

6
random-bool
🎲 Randombool

Generate a random boolean (true or false) with optional bias.

random-bool [--bias <float>]
random-chars
🎲 Randomstring

Generate a random string of alphanumeric characters.

random-chars [--length <n>]
random-dice
🎲 Randomlist<int>

Simulate rolling dice. Returns a list of results.

random-dice [--dice <n>] [--sides <s>]
random-float
🎲 Randomfloat

Generate a random floating-point number within an optional range.

random-float [min..max]
random-int
🎲 Randomint

Generate a random integer within a range.

random-int <min>..<max>
random-uuid
🎲 Randomstring

Generate a random UUID v4 string.

random-uuid
🏭

Generators

4
cal
🏭 Generatorstable

Display a calendar for the current month or a specified month/year.

cal [--month <m>] [--year <y>] [--full-year]
generate
🏭 Generatorslist<any>

Generate an infinite or bounded sequence by repeatedly applying a closure to an accumulator.

generate <initial> { |acc| ... }
seq
🏭 Generatorslist<number>

Generate a numeric sequence from start to end with an optional step.

seq <start> [step] <end>
seq-date
🏭 Generatorslist<string>

Generate a sequence of dates from start to end at a given interval.

seq-date --begin <date> --end <date> --increment <dur>
📄

Formats

14
from-csv
📄 Formatstable

Parse CSV text from the pipeline into structured table data.

input | from-csv [--separator <char>] [--noheaders]
from-json
📄 Formatsany

Parse JSON text from the pipeline into structured data.

input | from-json
from-toml
📄 Formatsrecord

Parse TOML text from the pipeline into a record.

input | from-toml
from-tsv
📄 Formatstable

Parse TSV (tab-separated values) text from the pipeline into a table.

input | from-tsv [--noheaders]
from-xml
📄 Formatsrecord

Parse XML text from the pipeline into structured data.

input | from-xml
from-yaml
📄 Formatsany

Parse YAML text from the pipeline into structured data.

input | from-yaml
to-csv
📄 Formatsstring

Convert structured data to CSV text.

input | to-csv [--separator <char>] [--noheaders]
to-html
📄 Formatsstring

Convert structured data to an HTML table.

input | to-html [--partial]
to-json
📄 Formatsstring

Convert structured data to JSON text.

input | to-json [--indent <n>] [--raw]
to-md
📄 Formatsstring

Convert structured data to a Markdown table.

input | to-md [--pretty]
to-toml
📄 Formatsstring

Convert a record to TOML text.

input | to-toml
to-tsv
📄 Formatsstring

Convert structured data to TSV (tab-separated values) text.

input | to-tsv [--noheaders]
to-xml
📄 Formatsstring

Convert structured data to XML text.

input | to-xml [--indent <n>]
to-yaml
📄 Formatsstring

Convert structured data to YAML text.

input | to-yaml
🌐

Environment

2
env-list
🌐 Environmenttable

List all environment variables as a structured table with name and value columns.

env-list
load-env
🌐 Environment

Load a record of key-value pairs into the environment as variables.

input | load-env
🐛

Debug

6
debug
🐛 Debugstring

Show a debug text representation of pipeline data, useful for inspecting types and structure.

input | debug [--raw]
debug-info
🐛 Debugrecord

Display detailed shell build and runtime information (version, features, OS, etc.).

debug-info
inspect
🐛 Debugany

Inspect the pipeline value in an interactive detailed view.

input | inspect
metadata
🐛 Debugrecord

Show metadata about a pipeline value including its type, span, and source origin.

input | metadata
timeit
🐛 Debugduration

Measure and report the wall-clock execution time of an expression or block.

timeit { <block> }
view-source
🐛 Debugstring

View the source code of a user-defined command, alias, or function.

view-source <name>
🗃️

Files

9
cp
🗃️ Files

Copy files and directories from source to destination.

cp [flags] <src> <dst>
du
🗃️ Filestable

Calculate and display disk usage for a path.

du [path] [--max-depth <n>] [--all]
glob
🗃️ Fileslist<string>

Expand a glob pattern into a list of matching file paths.

glob <pattern> [--depth <n>]
mkdir
🗃️ Files

Create one or more directories, including intermediate parents.

mkdir <dir...>
mv
🗃️ Files

Move or rename files and directories.

mv <src> <dst>
open
🗃️ Filesany

Open and auto-parse a file based on its extension (JSON, TOML, YAML, CSV, etc.).

open <file> [--raw]
rm
🗃️ Files

Remove files and directories.

rm [flags] <path...>
save
🗃️ Files

Save pipeline data to a file, optionally appending.

input | save <file> [--append] [--raw]
touch
🗃️ Files

Create a new empty file or update the timestamp of an existing file.

touch <file...>