tobi/try là dự án Shell với 3.9k sao. fresh directories for every vibe
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
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.
What it does
View interactive version on asciinema
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
Installation
RubyGems (Recommended)
gem install try-cli
Then add to your shell:
# Bash/Zsh - add to .zshrc or .bashrc
eval "$(try init)"
# Fish - add to config.fish
try init | source
Quick Start (Manual)
curl -sL https://raw.githubusercontent.com/tobi/try/refs/heads/main/try.rb > ~/.local/try.rb
# Make "try" executable so it can be run directly
chmod +x ~/.local/try.rb
# Add to your shell (bash/zsh)
echo 'eval "$(ruby ~/.local/try.rb init ~/src/tries)"' >> ~/.zshrc
# for fish shell users
echo '~/.local/try.rb init ~/src/tries | source' >> ~/.config/fish/config.fish
The Problem
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.
The Solution
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.
Features
🎯 Smart Fuzzy Search
Not just substring matching - it's smart:
rds matches redis-server
connpool matches connection-pool
Recent stuff scores higher
Shorter names win on equal matches
⏰ Time-Aware
Shows how long ago you touched each project
Recently accessed directories float to the top
Perfect for "what was I working on yesterday?"
🎨 Pretty TUI
Clean, minimal interface
Highlights matches as you type
Shows scores so you know why things are ranked
Dark mode by default (because obviously)
📁 Organized Chaos
Everything lives in ~/src/tries (configurable via TRY_PATH)
Auto-prefixes with dates: 2025-08-17-your-idea
Skip the date prompt if you already typed a name
Shell Integration
Bash/Zsh:
# default is ~/src/tries
eval "$(~/.local/try.rb init)"
# or pick a path
eval "$(~/.local/try.rb init ~/src/tries)"
Fish:
~/.local/try.rb init | source
# or pick a path
~/.local/try.rb init ~/src/tries | source
Notes:
The runtime commands printed by try are shell-neutral (absolute paths, quoted). Only the small wrapper function differs per shell.
Usage
try # Browse all experiments
try redis # Jump to redis experiment or create new
try new api # Start with "2025-08-17-new-api"
try . [name] # Create a dated worktree dir for current repo
try ./path/to/repo [name] # Use another repo as the worktree source
try worktree dir [name] # Same as above, explicit CLI form
try clone https://github.com/user/repo.git # Clone repo into date-prefixed directory
try https://github.com/user/repo.git # Shorthand for clone (same as above)
try --help # See all options
Notes on worktrees (try . / try worktree dir):
With a custom [name], uses that; otherwise uses cwd’s basename. Both are prefixed with today’s date.
Inside a Git repo: adds a detached HEAD git worktree to the created directory.
Outside a repo: simply creates the directory and changes into it.
Git Repository Cloning
try can automatically clone git repositories into properly named experiment directories:
# Clone with auto-generated directory name
try clone https://github.com/tobi/try.git
# Creates: 2025-08-27-tobi-try
# Clone with custom name
try clone https://github.com/tobi/try.git my-fork
# Creates: my-fork
# Shorthand syntax (no need to type 'clone')
try https://github.com/tobi/try.git
# Creates: 2025-08-27-tobi-try
# Paste a GitHub pull request URL to clone and check out that PR
try https://github.com/tobi/try/pull/124
# Creates: 2025-08-27-tobi-try
A GitHub pull request URL clones the main repository, fetches the PR ref, and
checks it out in detached HEAD state. The directory name is based on the main
repository URL, not the /pull/<number> suffix. The .git suffix is
automatically removed from URLs when generating directory names.
Keyboard Shortcuts
↑/↓ or Ctrl-P/N/J/K - Navigate
Enter - Select or create
Backspace - Delete character
Ctrl-D - Delete directory (with confirmation)
ESC - Cancel
Just type to filter
Configuration
Set TRY_PATH to change where experiments are stored:
export TRY_PATH=~/code/sketches
Default: ~/src/tries
Nix
Quick start
nix run github:tobi/try
nix run github:tobi/try -- --help
nix run github:tobi/try init ~/my-tries
brew tap tobi/try https://github.com/tobi/try
brew install try
After installation, add to your shell:
Bash/Zsh:
# default is ~/src/tries
eval "$(try init)"
# or pick a path
eval "$(try init ~/src/tries)"
Fish:
try init | source
# or pick a path
try init ~/src/tries | source
Why Ruby?
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
The Philosophy
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.
FAQ
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.
Contributing
It's one file. If you want to change something, just edit it. Send a PR if you think others would like it too.
License
MIT - Do whatever you want with it.
Built for developers with ADHD by developers with ADHD.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/tobi/try là nguồn chính thức.
tobi/try có bao nhiêu sao?
tobi/try có 3.9k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/tobi/try. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
tobi/try có phải mã nguồn mở không?
Có — tobi/try phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/tobi/try.
tobi/try có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho tobi/try. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
tobi/try là gì?
tobi/try (tobi/try) là dự án Shell trên GitHub. Theo mô tả gốc: fresh directories for every vibe
Đọc đầy đủ README ở tab phía trên.
Chưa chắc try có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về try.