For everyone who constantly creates new projects for little experiments, a one-file Ruby script to quickly manage and navigate to keep them somewhat organized
Ever find yourself with 50 directories named test
, test2
, new-test
, actually-working-test
, scattered across your filesystem? Or worse, just coding in /tmp
and losing everything?
try is here for your beautifully chaotic mind.
Instantly navigate through all your experiment directories with:
- Fuzzy search that just works
- Smart sorting - recently used stuff bubbles to the top
- Auto-dating - creates directories like
2025-08-17-redis-experiment
- Zero config - just one Ruby file, no dependencies
curl -sL https://raw.githubusercontent.com/tobi/try/refs/heads/main/try.rb > ~/.local/try.rb
# Add to your shell (bash/zsh)
echo 'eval "$(~/.local/try.rb init ~/src/tries)"' >> ~/.zshrc
You're learning Redis. You create /tmp/redis-test
. Then ~/Desktop/redis-actually
. Then ~/projects/testing-redis-again
. Three weeks later you can't find that brilliant connection pooling solution you wrote at 2am.
All your experiments in one place, with instant fuzzy search:
$ try pool
→ 2025-08-14-redis-connection-pool 2h, 18.5
2025-08-03-thread-pool 3d, 12.1
2025-07-22-db-pooling 2w, 8.3
+ Create new: pool
Type, arrow down, enter. You're there.
Not just substring matching - it's smart:
rds
matchesredis-server
connpool
matchesconnection-pool
- Recent stuff scores higher
- Shorter names win on equal matches
- Shows how long ago you touched each project
- Recently accessed directories float to the top
- Perfect for "what was I working on yesterday?"
- Clean, minimal interface
- Highlights matches as you type
- Shows scores so you know why things are ranked
- Dark mode by default (because obviously)
- Everything lives in
~/src/tries
(configurable viaTRY_PATH
) - Auto-prefixes with dates:
2025-08-17-your-idea
- Skip the date prompt if you already typed a name
Add to your ~/.bashrc
or ~/.zshrc
:
# default is ~/src/tries
eval "$(~/.local/try.rb init)"
Or if you want to customize the location:
eval "$(~/.local/try.rb init ~/src/tries)"
try # Browse all experiments
try redis # Jump to redis experiment or create new
try new api # Start with "2025-08-17-new-api"
try --help # See all options
↑/↓
orCtrl-P/N
- NavigateEnter
- Select or createBackspace
- Delete characterESC
- Cancel- Just type to filter
Set TRY_PATH
to change where experiments are stored:
export TRY_PATH=~/code/sketches
Default: ~/src/tries
- One file, no dependencies
- Works on any system with Ruby (macOS has it built-in)
- Fast enough for thousands of directories
- Easy to hack on
Your brain doesn't work in neat folders. You have ideas, you try things, you context-switch like a caffeinated squirrel. This tool embraces that.
Every experiment gets a home. Every home is instantly findable. Your 2am coding sessions are no longer lost to the void.
Q: Why not just use cd
and ls
?
A: Because you have 200 directories and can't remember if you called it test-redis
, redis-test
, or new-redis-thing
.
Q: Why not use fzf
?
A: fzf is great for files. This is specifically for project directories, with time-awareness and auto-creation built in.
Q: Can I use this for real projects? A: You can, but it's designed for experiments. Real projects deserve real names in real locations.
Q: What if I have thousands of experiments? A: First, welcome to the club. Second, it handles it fine - the scoring algorithm ensures relevant stuff stays on top.
It's one file. If you want to change something, just edit it. Send a PR if you think others would like it too.
MIT - Do whatever you want with it.
Built for developers with ADHD by developers with ADHD.
Your experiments deserve a home. 🏠