try-rs 0.1.36

Temporary workspace manager for fast experimentation in the terminal
try-rs-0.1.36 is not a library.
Visit the last successful build: try-rs-1.7.2

πŸ¦€ try-rs πŸ¦€ - try-rs.org

A blazing fast, Rust-based workspace manager for your temporary experiments.

License Rust Nix ready AUR version

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.

try-rs.gif

✨ 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

Building from source

git clone [https://github.com/tassiovirginio/try-rs.git](https://github.com/tassiovirginio/try-rs)
cd try-rs
cargo install --path . --bin try-rs

Cargo install try-rs

cargo install try-rs

Install in Archlinux

yay -S try-rs-bin

Nix Install (flakes)

nix profile install github:tassiovirginio/try-rs

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

  1. Setup the Shell Integration

Since try-rs needs to change your shell's current directory, it requires a small wrapper function.

🐟 Fish Shell (Recommended)

try-rs --setup fish

(Optional) Create an abbreviation:

abbr --add try try-rs

🐚 Zsh

try-rs --setup zsh

🐚 Bash

try-rs --setup bash

🐚 Power-shell

try-rs --setup power-shell

🐚 Nushell

try-rs --setup nu-shell

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
tries_path = "~/Development/playground"
editor = "code" # Optional: code, nvim, hx, etc.

[colors]
title_try = "Magenta"
title_rs = "White"
search_box = "Green"
list_date = "Blue"
list_highlight_bg = "Magenta"
list_highlight_fg = "Black"
help_text = "DarkGray"
status_message = "Yellow"
popup_bg = "DarkGray"
popup_text = "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