Lesson 9 of 9 · 18m
Building a Personal Toolkit
The compounding habit — every friction point gets a script or alias; every week your terminal gets slightly more yours.
Productivity compounds: the engineer who writes a script for every friction point ends up with a terminal that works the way they think. The skill isn't memorizing tools — it's noticing friction and fixing it.
The friction loop
Every time you:
- Type the same command twice in a week → alias or function.
- Look up a man page for the same flags twice → script it or alias it.
- Do a multi-step workflow manually → write the script.
- Copy-paste the same output → write a
jqfilter once.
A week of this and your terminal does things no GUI will ever match.
The script collection
A ~/bin or ~/.local/bin in $PATH is the standard pattern — small, single-purpose scripts:
~/bin/
db-reset # drop + migrate + seed in one command
deploy # rsync + build + restart
cleanup-branches # delete merged branches
todos # today's scratchpad, formattedEach script is a <10-line bash file, executable, committed to your dotfiles repo. They accumulate.
The tools that earn their place
bat— cat with syntax highlighting and git integration.eza/exa— ls with colors and icons.fd— find without the flags you can never remember.hyperfine— benchmark commands (hyperfine 'grep -r x .' 'rg x').httpie/curlie— readable HTTP requests.gh/ghq— GitHub CLI and repo management.
Field notes
- The test for a new tool: does it save more than the installation cost?
jqyes,fzfyes,zoxideyes — a fancy prompt framework that adds 200ms to every shell startup probably not. - Rebuild from scratch periodically — a dotfiles repo that installs itself means a new laptop isn't a productivity outage.