try-rs π¦
A blazing fast, Rust-based workspace manager for your temporary experiments.
try-rs is a CLI tool designed to manage the chaos of temporary projects. Instead of cluttering your Desktop or /tmp with test1, new-test, and final-test, try-rs organizes them into date-prefixed directories, offering a robust TUI (Terminal User Interface) to create, navigate, and clean up your experiments.
π‘ Inspiration
This project is a Rust port and re-imagination of the excellent try tool by Tobi LΓΌtke.
While the original is a lightweight Ruby script, try-rs aims to bring the same philosophy, "Your experiments deserve a home", but with the performance, type safety, and modern TUI capabilities (using Ratatui) of the Rust ecosystem.
π€ Why try-rs?
| Feature | Description |
|---|---|
| ποΈ Blazing Fast | Built in Rust, it's compiled to a native binary. No more waiting for a script interpreter to start up. |
| πΌοΈ Rich TUI | A modern Ratatui interface makes browsing and managing projects a breeze. |
| β Type Safe | Say goodbye to runtime errors. Rust's strict compiler catches them before they become a problem. |
| Git-Aware | Clones repos with a single command, automatically naming them. |
β¨ Features
- Fuzzy Search: Instantly find old experiments using a smart fuzzy matching algorithm.
- Auto-Dating: Creates directories like
2025-12-17-rust-testautomatically. - Git Integration: Paste a GitHub/GitLab URL, and it will auto-clone it into a dated folder.
try-rs https://github.com/ratatui/ratatuiβ clones to.../2025-12-17-ratatui
- Terminal UI: A beautiful TUI built with Ratatui to browse your projects.
- Safe Deletion: Delete old experiments directly from the UI (
Ctrl+D) with a confirmation popup. - Configurable: Supports
XDG Base Directoryspecification (~/.config/try-rs/config.toml).
π¦ Installation
Prerequisites
- Rust & Cargo installed.
- A shell (Fish, Zsh, Bash).
Building from source
)
Cargo install try-rs
Install in Archlinux
βοΈ Configuration
- Setup the Shell Integration
Since try-rs needs to change your shell's current directory, it requires a small wrapper function.
π Fish Shell (Recommended)
(Optional) Create an abbreviation:
abbr --add try try-rs
π Zsh
π Bash
- Config File By default, experiments are stored in ~/src/tries, and colors. To change this, create ~/.config/try-rs/config.toml:
# ~/.config/try-rs/config.toml
= "~/Development/playground"
[]
= "Magenta"
= "White"
= "Green"
= "Blue"
= "Magenta"
= "Black"
= "DarkGray"
= "Yellow"
= "DarkGray"
= "LightRed"
π Usage
Simply type try-rs (or your alias) in your terminal.
Key Bindings
| Key | Action |
|---|---|
Type |
Filter the list (Fuzzy Search) |
β / β |
Navigate the list |
Enter |
Select directory (or create new if text doesn't match) |
Ctrl+D |
Delete the selected directory (triggers popup) |
Esc |
Cancel / Close Popup |
CLI Commands
You can also bypass the UI:
| Command | Description |
|---|---|
try-rs |
Opens the TUI |
try-rs <name> |
Create (or jump to) a named experiment |
try-rs <https://github.com/user/repo> |
Clones a repository into a dated folder |
try-rs --setup <shell> |
setup shell integration (fish, zsh, bash) |
try-rs --version |
Show application version |
try-rs --help |
Show help message |
π€ Contributing Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
π License MIT