tag
label the dirs you care about with anything that makes sense — language, project, weekly spike.
tag the folders you actually live in. then jump, list, or run across the whole pile.
I kept losing track of where things lived — twelve Crystal
repos in one folder, seven shell experiments in another, the
security write-ups elsewhere. cd's history
wasn't enough; fuzzy finders forgot what mattered the moment
I cleared the terminal. So I wrote a cutting board: pin the
directories I care about, label them with whatever tags make
sense (crystal, work/proj-a,
reading-this-week), and let the tool do the
recall.
label the dirs you care about with anything that makes sense — language, project, weekly spike.
doma cd opens a TUI picker when there's
more than one match. shell wrapper makes it actually
cd.
list paths by tag and pipe them into anything — build, grep, sync — across the whole pile at once.
# put a directory on the board $ doma add ~/Projects/doma -t crystal -t cli # jump to one (interactive picker if there's more than one match) $ doma cd crystal # operate on the whole pile $ doma list -t crystal --paths | xargs -I{} sh -c 'cd {} && shards build' # bookmark the current dir for the week (auto-expires after 7 days) $ doma mark spike
It's a single static binary, written in Crystal, with a
built-in TUI picker. Tags can be permanent or expire on a
TTL. There's a shell wrapper
(doma setup install) that makes
doma cd
actually change your working directory, and an AI skill so
coding agents (Claude, Codex, Gemini, …) can treat your
tagged paths as a first-class input list.
도마 — the Korean word for cutting board. the workbench where ingredients get gathered, grouped, and chopped before going into the pan. the metaphor stuck.