A modern, themeable scratch-directory manager inspired by tobi/try-cli.
A Go rewrite using Charmbracelet โ the same dated-throwaway-folder workflow, now with shifting cursor hues, rainbow fuzzy hits, gradient row highlights, and a theme picker that lets you turn the sparkle up to 11 (or all the way down to a calm monochrome โ every preference welcome). ๐ฆ
try gives every experiment a dated home directory and a fast fuzzy selector to jump back into it:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โธ redis 4 matches
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โธ ๐ 2026-04-14 redis-cluster 3h ago
๐ฆ 2026-04-12 redis-sentinel 2d ago
๐ฆ 2026-04-11 redis-rs-bench 3d ago
๐ 2026-04-09 redis-lua-scripts 5d ago
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
enter select โข ctrl-d delete โข ctrl-r rename โข ctrl-p preview on โข ctrl-g settings โข esc quit
Type to filter. Press Enter to cd. Type a new name and press Enter to create. That's it.
Homebrew (macOS, Linux):
brew install hmk/tap/try-bedazzledcurl (everywhere else):
curl -fsSL https://raw.githubusercontent.com/hmk/try-bedazzled/main/install.sh | shThen restart your shell (or source ~/.zshrc) and run try.
The curl installer drops the signed-and-notarized binary in /usr/local/bin/ and adds the shell function to your rc file. The Homebrew formula prints the same one-line shell-config snippet on first install (brew info try-bedazzled).
For other install paths (Go, manual download, custom directory), see INSTALL.md.
| Command | What it does |
|---|---|
try |
Open the fuzzy selector |
try redis |
Pre-filter the selector for "redis" |
try clone <url> [name] |
Git clone into a dated directory |
try worktree <name> |
Git worktree (or mkdir if not in a repo) |
try theme |
Interactive theme picker with live preview |
try settings |
Open the settings menu |
try init [path] |
Print shell integration script |
| Key | Action |
|---|---|
| Type | Filter (fuzzy, real-time) |
โ / โ or Ctrl-K / Ctrl-J |
Navigate |
Enter |
Select / create / confirm delete |
Ctrl-D |
Mark/unmark entry for deletion |
Ctrl-R |
Rename (preserves date prefix) |
Ctrl-P |
Toggle file-tree preview panel |
Ctrl-G |
Open settings menu |
Esc |
Cancel |
Five built-in themes, switchable live with try theme โ pick your sparkle level:
| Theme | Vibe |
|---|---|
bedazzled (default) |
๐ Catppuccin Mocha pastels under a full rainbow finish โ rainbow search rules, shifting cursor hues, rainbow fuzzy hits, gradient row highlight |
rainbow |
๐ Hot-pink accent, all rainbow, all the time โ the loudest one |
catppuccin |
๐ฎ Catppuccin Mocha pastels, sparkle dialed back |
dracula |
๐ง Dark and saturated |
minimal |
๐ชจ ASCII-safe, no unicode, no glitter โ perfect for CI logs and quiet terminals |
Set in config or override per-session:
# ~/.config/try/config.toml
theme = "catppuccin"TRY_THEME=dracula try redisDrop a .toml in ~/.config/try/themes/ to add your own:
# ~/.config/try/themes/nord.toml
[colors]
accent = "#88C0D0"
dim = "#4C566A"
text = "#ECEFF4"
match = "#EBCB8B"
danger = "#BF616A"
success = "#A3BE8C"
[symbols]
cursor = "โธ"
folder = "๐"
[layout]
show_icons = true
show_date = "right"
show_time = true
search_style = "bordered"The icon registry reads slug words to pick a project-appropriate emoji automatically:
| Slug word | Icon |
|---|---|
go, golang |
๐น |
rust |
๐ฆ |
python, py |
๐ |
postgres, pg |
๐ |
redis |
๐ฆ |
docker, k8s |
๐ณ |
react, vue, svelte |
โ๏ธ |
ml, llm, ai |
๐ค |
| โฆand 50+ more |
Override or extend with your own in config:
[custom_icons]
django = "๐ญ"
temporal = "โฑ"
shopify = "๐"Press Ctrl-P to toggle a live file-tree preview of the highlighted directory inline in the selector. State persists across launches โ turn it off once, it stays off.
try settings (or Ctrl-, inside the selector) opens a Huh form that covers every preference and writes ~/.config/try/config.toml:
- Theme
- Display mode (fullscreen / inline)
- Preview panel default
- Emoji icons toggle
- Add custom slugโicon mappings
Full config reference:
# ~/.config/try/config.toml
tries_path = "~/tries" # where your directories live
theme = "bedazzled" # built-in or custom theme name
display_mode = "inline" # "inline" | "fullscreen" (alt screen)
inline_min_rows = 15 # minimum rows in inline mode
preview_enabled = true # file-tree preview panel
show_emojis = true # folder/type icons
[custom_icons]
django = "๐ญ"
rust = "๐ฆ"Benchmarked on macOS (Apple Silicon M4) with 100 try directories:
| Operation | C (try-cli) | Go (try-bedazzled) | Ruby (try) |
|---|---|---|---|
| Startup + scan | 1.5 ms | 2.4 ms | 40 ms |
| Fuzzy match + select | 2.0 ms | 3.7 ms | 44 ms |
| Version (startup only) | 1.2 ms | 2.0 ms | 36 ms |
| Binary size | 92 KB | 5.1 MB | interpreted |
Go is ~1.6ร slower than C for raw operations, but 15โ20ร faster than Ruby โ and you trade those microseconds for a wardrobe full of rainbows.
Measured with hyperfine. Reproduce with
bench/bench.sh.
cmd/try/main.go
internal/
cli/ Cobra commands: init, exec, clone, worktree, theme, settings
dirs/ Directory scanning, naming, date-prefix parsing, slug normalization
fuzzy/ Scoring algorithm (ported from tobi/try-cli's C)
shell/ Shell script generation (cd, mkdir, delete, rename, init wrappers)
theme/ TOML theming, icon registry, config read/write, built-in themes
tui/ Bubble Tea model, Lip Gloss styles, theme picker table, file tree
Inspired by Tobias Lutke's original try (Ruby) and try-cli (C). Built with Charmbracelet libraries: Bubble Tea, Lip Gloss, Bubbles, Huh.
