A personal CLI tool to manage my project files and directories.
If you'd like to try it yourself I've provided a guide to run it from source
- Interactive terminal UI for creating stash files and directories.
- Fuzzy search with ranked results (exact matches, word boundaries, and recency).
- Keyboard-first navigation for fast filtering and selection.
- Optional date prefix when creating items.
- Query-first flow:
stash <query>opens search prefilled with your query.
- Bun installed (
bun --version)
- Clone this repo:
git clone https://github.com/G-R3/stash.git
cd stash- Install dependencies:
bun install- Run it:
bun run index.tsFrom the project root:
bun link
stashBy default, stash items are stored in ~/.stash.
You can override this by providing an env variable in your shell profile.
export STASH_DIR=~/my-stashYou can also override per-command:
STASH_DIR=/your/path stashIf you ran bun link, use stash ....
If you did not run bun link, use bun run index.ts ....
stash
# or
bun run index.tsOpen the interactive search UI. If no items are found for the stash directory, it defaults to the create UI.
stash create
# or
bun run index.ts createOpen the create UI for a new file or directory.
stash --help
# or
bun run index.ts --helpShow help and available commands.
- If you have items like
meeting-notes,weekly-report, andmeeting-agenda, typingmnwill favormeeting-notesbecause characters match in order and at strong boundary positions. - If both
notesandnotes-archiveexist, searchingnotesranks the exactnotesitem first.