π¦ try-rs π¦ - try-rs.org
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.

β¨ Features
| Feature | Description |
|---|---|
| ποΈ Blazing Fast | Built in Rust, compiled to native binary. No interpreter lag. |
| πΌοΈ Rich TUI | Beautiful terminal interface built with Ratatui. |
| π Fuzzy Search | Instantly find old experiments with smart matching. |
| π Auto-Dating | Creates directories like rust-test automatically. |
| ο Git Integration | Auto-clones URLs (try-rs <url>) and marks repos with (ο). |
| π Content Preview | Inspect files inside a folder before entering it. |
| π Editor Integration | Open experiments directly in your editor (Ctrl+E). |
| π¨ Theming | Switch themes at runtime (Ctrl+T) or customize via config. |
| ποΈ Safe Deletion | Delete old experiments via UI with confirmation (Ctrl+D). |
| βοΈ Configurable | Supports XDG Base Directory (view section Configuration). |
| π Multi-Shell Support | Supports Fish, Zsh, Bash, Power Shell and Nushell. |
| π» Multi-OS Support | Supports Linux, macOS and Windows. |
| π·οΈ Icons Identification | Supports icons identification projects (ξ¨ σ°¬ ξΈ ξ ξ§ ξΌ ο). |
π¦ Installation
Prerequisites
- Rust & Cargo installed (Building from source or Cargo install try-rs).
- A shell (Fish, Zsh, Bash, Power Shell or Nushell).
- A Nerd Font installed (required for icons like ο and π¦).
Building from source
)
Cargo install try-rs
Install in Archlinux
Nix Install (flakes)
Automatic Setup
On the first run, try-rs will attempt to detect your shell and ask if you want to automatically configure the shell integration.
βοΈ 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
π Power-shell
π Nushell
2. Config File
The configuration file is stored in a platform-specific directory:
| Platform | Value | Example |
|---|---|---|
| Linux | $XDG_CONFIG_HOME or $HOME/.config |
/home/tassiovirginio/.config/try-rs |
| macOS | $HOME/Library/Application Support |
/Users/tassiovirginio/Library/Application Support/try-rs |
| Windows | {FOLDERID_RoamingAppData} |
C:\Users\tassiovirginio\AppData\Roaming\try-rs |
By default, experiments are stored in ~/work/tries. You can customize the path and the UI colors (themes). To change this, create config.toml in the directory shown above:
# config.toml
= "~/Development/playground"
= "code" # Optional: code, nvim, hx, etc.
[]
= "Magenta"
= "White"
= "Green"
= "Blue"
= "Magenta"
= "Black"
= "DarkGray"
= "Yellow"
= "DarkGray"
= "LightRed"
3. Environment Variables
You can also configure try-rs using environment variables:
| Variable | Description |
|---|---|
TRY_PATH |
Overrides the path where experiments are stored. |
TRY_CONFIG_DIR |
Overrides the default configuration directory. |
TRY_CONFIG |
Overrides the config filename (defaults to config.toml). |
VISUAL / EDITOR |
Default editor to use if not specified in config.toml. |
π Usage
Simply type try-rs (or your alias) in your terminal.
Key Bindings
| Key | Action |
|---|---|
Type |
Filter the list (Fuzzy Search) |
β / β / Ctrl+K / Ctrl+J / Ctrl+P / Ctrl+N |
Navigate the list |
Ctrl+U |
Clear the search box |
Enter |
Select directory (or create new if text doesn't match) |
Ctrl+D |
Delete the selected directory (triggers popup) |
Ctrl+E |
Open in editor (configured in config.toml) |
Ctrl+T |
Open theme selector |
Esc/Ctrl+C |
Cancel / Close Popup / Exit |
Theme Selector Key Bindings
| Key | Action |
|---|---|
β / β / j / k / n / p |
Navigate themes |
Enter |
Select theme |
Esc/Ctrl+C |
Close theme selector |
π¨ Themes
You can switch between themes at runtime by pressing Ctrl+T. The following themes are available:
- Catppuccin Mocha (Default)
- Dracula
- JetBrains Darcula
- Gruvbox Dark
- Nord
- Tokyo Night
You can also define a custom theme in your config.toml.
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 <https://github.com/user/repo> <name> |
Clones a repository into a specific folder name |
try-rs -s <url> |
Shallow clone (depth 1) |
try-rs --setup <shell> |
setup shell integration (fish, zsh, bash, power-shell, nu-shell) |
try-rs --version |
Show application version |
try-rs --help |
Show help message |
π‘ 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.
π€ Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
π License MIT