Congratulations. You have stumbled upon Directorizor — a cross-platform Bash TUI graciously designed to compensate for your apparent inability to remember where you put things. It will catalog your entire directory tree into a tidy little index, allow you to search said index by filename, list the contents of any folder within that index, open a terminal at the result's location, and — in the event that you have managed to misplace something that the Hoard List has never heard of — it will patiently walk you through the process of updating your own records. As one does.
[NOTE: The Bureau makes no guarantees regarding the emotional state of the user upon discovering how many duplicate files they have been hoarding. That particular horror is yours to bear, free of charge.]
Works on Linux, macOS, Unix, and Windows. No dependencies. No excuses.
- Instant file search — case-insensitive, partial or exact filename matching
- Numbered results — pick any result for follow-up actions after a search
- Persistent index — builds a
{folder}-DRZ.mdHoard List so searches don't require re-scanning disk each time - Smart update flow — when a file isn't found, prompts to rebuild the index and rechecks automatically
- Review before saving — Approve or Edit a new Hoard List before it replaces the old one
- Folder browsing —
/lslists directory contents directly from the index - Open terminal — launch a new terminal at a result's location; SSH/headless sessions get a
cdcommand instead - Custom index location —
-n/--new-locsaves the Hoard List to any directory you choose - Config file — persistent settings at
~/.config/directorizor/config - Installer — Linux/macOS system-wide or user install; Windows Git Bash alias; optional central Hoard vault prompt
- Man page —
man directorizorafter installation - Cross-platform — Linux, macOS, Unix, and Windows (Git Bash / MSYS2)
- No dependencies — pure Bash, nothing to install
- Bash 4.0 or later
find,grep,sed,wc— standard on all Unix-like systems- Windows: Git for Windows (includes Git Bash)
bash install.shThe installer will ask whether to install system-wide (/usr/local/bin, requires sudo) or for the current user (~/.local/bin), and whether you want a central location for all Hoard List files. On Windows (Git Bash) it adds a shell alias to ~/.bashrc.
To uninstall:
bash uninstall.shbash census.shOr make it executable first (Linux/macOS):
chmod +x census.sh
./census.shDirectorizor always runs against the directory it is called from.
Type any filename at the prompt — exact or partial, case-insensitive:
Search> babygroot.stl
Search> shark # matches any file whose name contains "shark"
Search> .pdf # find all PDFs in the index
Results are numbered. After a search, an action menu appears:
[L] List folder contents [O] Open terminal there [S] New search [X] Back
Type a number with L or O to target a specific result (e.g. L2, O1), or just L / O to act on a single result.
| Command | Description |
|---|---|
/help |
Show available commands, search tips, and active Hoard List path |
/update |
Rebuild the Hoard List from disk |
/show |
Preview the current Hoard List in the terminal |
/ls [path] |
List contents of a folder (from last results or a given path) |
/exit |
Quit |
| Flag | Short | Description |
|---|---|---|
--new-loc <path> |
-n |
Save Hoard List to a custom directory |
--config |
-c |
Show config file path |
--version |
-v |
Print version |
--help |
-h |
Show help |
--no-color |
Disable ANSI color output |
Located at ~/.config/directorizor/config (or $XDG_CONFIG_HOME/directorizor/config).
# Directorizor configuration
hoard_dir=/path/to/central/vault
no_color=1
hoard_dir — override the default Hoard List storage location globally (same as always using -n)
no_color — disable color output
- On first launch, Directorizor scans the directory it is called from and writes
{folder-name}-DRZ.md— a flat index of every file and subfolder path. - Searches run against this cached index, so they're instant regardless of how many files exist.
- If a file isn't found, you're prompted to rebuild the Hoard List and recheck automatically.
- After an update, choose Approve to replace the old index, or Edit to save it to disk for manual review.
When Directorizor detects an SSH session or a headless environment (no display server), the "Open terminal" action does not attempt to launch a graphical terminal. Instead it prints a ready-to-paste cd command pointing at the target directory.
| File | Description |
|---|---|
census.sh |
The main program |
install.sh |
Installer (Linux/macOS/Windows) |
uninstall.sh |
Uninstaller |
directorizor.1 |
Man page |
{folder}-DRZ.md |
Auto-generated Hoard List (git-ignored, rebuilt on demand) |
~/.config/directorizor/config |
Optional config file |
.gitignore |
Excludes generated files from version control |
- Hoard Lists are git-ignored — generated per-machine, not shared
- The script excludes itself, the Hoard List, and the
.claude/folder from the index - ANSI colors are auto-disabled on terminals that don't support them
The tone and style of the description and in-app notifications are written as a creative homage to the System voice from the Mage Tank LitRPG novel series by Cornman. No text from the novels was reproduced. If you enjoy the attitude, go read the books — they earned it.
- Mage Tank by Cornman — Royal Road | Amazon
GPL-3.0 — see LICENSE for details.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.