У меня регулярно есть код, который вроде бы не проект. Проверить библиотеку, накидать PoC, воспроизвести баг, попробовать какой-нибудь API, проверить идею на десяти строках.
Обычно всё это заканчивается одинаково:
test, test2, tmp, new-test, какая-нибудь папка на Desktop, ещё одна в /tmp, а через пару недель уже непонятно, где именно лежал тот эксперимент, который внезапно понадобился снова.Для этого есть try.
Идея простая: все такие одноразовые штуки живут в одной директории, по умолчанию
~/src/tries. Когда создаёшь новую, try добавляет дату:2026-08-07-redis-poolПотом достаточно написать:
try redisи получишь fuzzy search по всем своим экспериментам. Он ещё учитывает, насколько недавно ты открывал директорию, поэтому свежие штуки поднимаются выше.
Если ничего подходящего нет, из того же интерфейса можно сразу создать новую папку. То есть
try одновременно заменяет мне кусок из mkdir, cd, find и попыток вспомнить, как я назвал папку три недели назад.Короче, можно посмотреть интерактивную презентацию: https://asciinema.org/a/ve8AXBaPhkKz40YbqPTlVjqgs
Ещё полезная штука:
try .Если запустить это внутри git-репозитория, он создаст для текущего репо отдельный worktree в tries. Нормальный вариант для «хочу быстро что-то попробовать, но текущую рабочую копию трогать не хочу».
Можно и сразу клонировать чужой репозиторий туда же:
try https://github.com/foo/bar.gitА если какой-то такой эксперимент внезапно вырос во что-то настоящее, его можно перенести из tries в обычные проекты.
try уберёт дату из имени, перенесёт директорию, а на старом месте оставит симлинк, чтобы старый путь не умер.В общем, штука довольно узкая, но хорошо попадает в конкретную проблему: временный код почему-то почти никогда не оказывается временным.
Написана на Ruby, ставится через gem или Homebrew.
https://github.com/tobi/try
#experiment #tool
