Replacements

The ones that stuck changed behaviour rather than appearance. Each of these tells me something the original did not.

eza
Listing, with git status per file. Knowing what is modified without running a second command is the entire reason.
bat
Syntax highlighting when reading, with the real thing kept one alias away for pipes that object to colour codes.
ripgrep
Search that respects ignore files by default, which is almost always what I meant.
fd
Finding files without remembering the argument order. Also what the fuzzy finder walks.
difftastic
Structural diff. It compares syntax trees, so a reformat and a logic change stop looking alike during review.
dust
Disk usage as a tree rather than a wall of numbers.
zoxide
Directory jumping that learns. It replaces most of what a directory alias list used to do.

Safety

Removing, copying, and moving are all interactive by default. On a machine that touches client production, half a second of friction on a destructive command is worth paying every time — and the times it matters are exactly the times I was moving too fast to notice.

Navigation

clone
Clones into a canonical path derived from the remote, then moves me there. This is the function the identity model rests on: I never choose a path, so the path is always right, so the identity derived from it is always right.
repo
Fuzzy-jump to any repository, with recent commits in the preview pane. Scales to however many engagements are live, which an alias list does not.
mkcd
Make a directory and enter it. Small, and typed constantly.
extract
One command for every archive format, so the flags stop being something to remember.

Context switching

These are the ones that decide what a subsequent command will affect, so they all report back rather than switching silently.

awsp
Pick a cloud profile, verify it, and export it for this shell only — never to a file, never globally. Closing the tab ends the access.
assume
Single sign-on plus temporary credentials, and it can open the console in a browser container pinned to that account. The wrong-client-console-in-another-tab mistake stops being possible rather than merely unlikely.
kc
Pick a cluster context from the merged configuration. Each cluster's config is a separate file, so adding or dropping one is a file operation rather than a YAML edit.
envrc-aws
Scaffold a repository's per-directory environment file, and append it to the ignore list in the same step. Account context belongs to the repository, not to my shell profile.
wt
Create a git worktree and land in it. Git has one checkout state per working directory, so two agent sessions sharing a checkout will tangle their histories. One worktree per session makes that impossible.

Before handing anything back

A single command runs secret scanning and a filesystem vulnerability and misconfiguration scan across the working tree. It is the pre-flight before a repository is made public or handed to a client, and it exists as one word because a check that takes three commands to run is a check that gets skipped.

Deliberately absent

Two omissions are as considered as anything above.

There is no shorthand for deleting cluster resources. Destroying something in a live cluster should be typed in full, every time, because the typing is the last moment available to reconsider.

There is no alias for applying infrastructure changes without review. Not a shorter one, not a guarded one — none. The plan-then-apply pause is the only thing standing between a bad assumption and a rewritten state file, and a convenience that removes it is not a convenience.