{"id":34668037,"url":"https://github.com/tassiovirginio/try-rs","last_synced_at":"2026-02-11T02:10:59.186Z","repository":{"id":329214085,"uuid":"1117923796","full_name":"tassiovirginio/try-rs","owner":"tassiovirginio","description":"A blazing fast, Rust-based workspace manager for your temporary experiments.","archived":false,"fork":false,"pushed_at":"2026-01-06T23:39:15.000Z","size":16760,"stargazers_count":82,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-07T19:34:32.002Z","etag":null,"topics":["cli","ratatui","rust","try"],"latest_commit_sha":null,"homepage":"https://try-rs.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tassiovirginio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-17T02:34:47.000Z","updated_at":"2026-01-07T07:27:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tassiovirginio/try-rs","commit_stats":null,"previous_names":["tassiovirginio/try-rs"],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/tassiovirginio/try-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassiovirginio%2Ftry-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassiovirginio%2Ftry-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassiovirginio%2Ftry-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassiovirginio%2Ftry-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tassiovirginio","download_url":"https://codeload.github.com/tassiovirginio/try-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassiovirginio%2Ftry-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28597087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","ratatui","rust","try"],"created_at":"2025-12-24T19:30:56.269Z","updated_at":"2026-01-31T01:36:28.319Z","avatar_url":"https://github.com/tassiovirginio.png","language":"Rust","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/tassiovirginio/try-rs.site/refs/heads/main/logo2.png\" alt=\"Centered image\" height=\"150\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://try-rs.org\"\u003etry-rs.org\u003c/a\u003e\n\u003cbr\u003e\nA blazing fast, Rust-based workspace manager for your temporary experiments.\n\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/built_with-Rust-d45500.svg\" alt=\"Rust\"\u003e\n  \u003ca href=\"https://github.com/tassiovirginio/try-rs\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/nix-ready-brightgreen?logo=nixos\" alt=\"Nix ready\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://aur.archlinux.org/packages/try-rs-bin\"\u003e\n    \u003cimg src=\"https://img.shields.io/aur/version/try-rs-bin\" alt=\"AUR version\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n**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.\n\n![try-rs.gif](https://raw.githubusercontent.com/tassiovirginio/try-rs/refs/heads/main/try-rs.gif)\n\n## Features\n\n| Feature                  | Description                                                                            |\n| :----------------------- | :------------------------------------------------------------------------------------- |\n| **Blazing Fast**         | Built in Rust, compiled to native binary. No interpreter lag.                          |\n| **Rich TUI**             | Beautiful terminal interface built with [Ratatui](https://github.com/ratatui/ratatui). |\n| **Fuzzy Search**         | Instantly find old experiments with smart matching.                                    |\n| **Auto-Dating**          | Creates directories like `rust-test` automatically.                                    |\n| **Git Integration**      | Auto-clones URLs (`try-rs \u003curl\u003e`) and marks repos with ().                            |\n| **Content Preview**      | Inspect files inside a folder before entering it.                                      |\n| **Editor Integration**   | Open experiments directly in your editor (`Ctrl+E`).                                   |\n| **Theming**              | Switch themes at runtime (`Ctrl+T`) or customize via config.                           |\n| **Safe Deletion**        | Delete old experiments via UI with confirmation (`Ctrl+D`).                            |\n| **Configurable**         | Supports XDG Base Directory (view section [Configuration](#configuration)).            |\n| **Multi-Shell Support**  | Supports Fish, Zsh, Bash, Power Shell and Nushell.                                     |\n| **Multi-OS Support**     | Supports Linux, macOS and Windows.                                                     |\n| **Icons Identification** | Supports icons identification projects (` 󰬔     `).                              |\n\n## Installation\n\n### Prerequisites\n\n- A shell (Fish, Zsh, Bash, Power Shell or Nushell).\n- A **Nerd Font** installed (required for icons like  and 🦀).\n\n### Building from source\n\n```bash\ngit clone https://github.com/tassiovirginio/try-rs.git\ncd try-rs\ncargo install --path . --bin try-rs\n```\n\n### Cargo install try-rs\n\n```bash\ncargo install try-rs\n```\n\n### Eget\n\n```bash\neget tassiovirginio/try-rs\n```\n\n### Install in Archlinux\n\n```bash\nyay -S try-rs-bin\n```\n\n### Ubuntu/Debian (APT Repository)\n\n```bash\n# Add the repository\necho \"deb [trusted=yes] https://tassiovirginio.github.io/try-rs stable main\" | sudo tee /etc/apt/sources.list.d/try-rs.list\n\n# Update and install\nsudo apt update\nsudo apt install try-rs\n```\n\n### Ubuntu/Debian (.deb manual)\n\n- Download the latest `.deb` for your architecture (amd64/arm64) from the Releases page and install it:\n\n```bash\n# Replace X.Y.Z with the latest version and choose amd64 or arm64\nwget https://github.com/tassiovirginio/try-rs/releases/download/vX.Y.Z/try-rs_X.Y.Z-1_amd64.deb\nsudo apt install ./try-rs_X.Y.Z-1_amd64.deb\n```\n\n- Alternatively, browse all assets at: \u003chttps://github.com/tassiovirginio/try-rs/releases\u003e\n\n### Windows (Releases)\n\n- Download the Windows build from the Releases downloads: \u003chttps://github.com/tassiovirginio/try-rs/releases/download/\u003e\n- Unzip or place the binary somewhere on your `PATH` (e.g., add the folder to the System Environment `Path`) so you can run `try-rs` from any terminal (PowerShell, Command Prompt).\n\n### Nix Install (flakes)\n\n```bash\nnix profile install github:tassiovirginio/try-rs\n```\n\n### Automatic Setup\n\nOn the first run, **try-rs** will attempt to detect your shell and ask if you want to automatically configure the shell integration.\n\n## Configuration\n\n1. Setup the Shell Integration\n\nSince try-rs needs to change your shell's current directory, it requires a small wrapper function.\n\n- Fish Shell (Recommended)\n\n```bash\ntry-rs --setup fish\n```\n\n(Optional) Create an alias:\n\n```bash\nalias try \"try-rs\"\n```\n\n- Zsh\n\n```bash\ntry-rs --setup zsh\n```\n\n- Bash\n\n```bash\ntry-rs --setup bash\n```\n\n- Power-shell\n\n```bash\ntry-rs --setup power-shell\n```\n\n- Nushell\n\n```bash\ntry-rs --setup nu-shell\n```\n\n### 2. Config File\n\nThe configuration file is stored in a platform-specific directory:\n\n| Platform    | Value                                 | Example                                                    |\n| :---------- | :------------------------------------ | :--------------------------------------------------------- |\n| **Linux**   | `$XDG_CONFIG_HOME` or `$HOME/.config` | `/home/tassio/.config/try-rs`                      |\n| **macOS**   | `$HOME/Library/Application Support`   | `/Users/tassio/Library/Application Support/try-rs` |\n| **Windows** | `{FOLDERID_RoamingAppData}`           | `C:\\Users\\tassio\\AppData\\Roaming\\try-rs`           |\n\nBy default, experiments are stored in `~/work/tries`. You can customize the path, choose a theme, and configure the editor. To change this, create `config.toml` in the directory shown above:\n\n```toml\n# config.toml\ntries_path = \"~/Development/playground\"\neditor = \"code\" # Optional: code, nvim, hx, etc.\napply_date_prefix = true # optional, default is false\ntransparent_background = true # optional, default is true (uses terminal background)\n\n# Theme configuration (choose one of the available themes)\ntheme = \"Catppuccin Mocha\"\n```\n\n**Background Transparency:**\n\nBy default, try-rs uses a transparent background (inherits from your terminal). Each theme includes its own background color that will be used when `transparent_background = false`. You can control this with:\n\n```toml\n# Use theme's background color (solid background)\ntransparent_background = false\n\n# Use terminal's background (transparent/inherit) - default\ntransparent_background = true\n```\n\n**Available Themes:**\n\nYou can use any of these theme names in your configuration:\n\n- `\"Default\"`\n- `\"Catppuccin Mocha\"`\n- `\"Catppuccin Macchiato\"`\n- `\"Dracula\"`\n- `\"JetBrains Darcula\"`\n- `\"Gruvbox Dark\"`\n- `\"Nord\"`\n- `\"Tokyo Night\"`\n- `\"One Dark Pro\"`\n- `\"Everforest\"`\n- `\"SynthWave '84\"`\n- `\"OLED True Black\"`\n- `\"Silver Gray\"`\n- `\"Black \u0026 White\"`\n- `\"Matrix\"`\n- `\"Tron\"`\n\n**Custom Colors (Optional):**\n\nIf you want to create a fully custom theme, you can define individual colors instead of using the `theme` option:\n\n```toml\n# config.toml\ntries_path = \"~/Development/playground\"\neditor = \"code\"\n\n[colors]\n# Background color (optional - omit for transparent)\nbackground = \"#1E1E2E\"\n\n# UI Colors\ntitle_try = \"Magenta\"\ntitle_rs = \"White\"\nsearch_title = \"Green\"\nsearch_border = \"Gray\"\nfolder_title = \"Yellow\"\nfolder_border = \"Gray\"\ndisk_title = \"Orange\"\ndisk_border = \"Gray\"\npreview_title = \"Blue\"\npreview_border = \"Gray\"\nlegends_title = \"Purple\"\nlegends_border = \"Gray\"\nlist_date = \"Blue\"\nlist_highlight_bg = \"Magenta\"\nlist_highlight_fg = \"Black\"\nhelpers_colors = \"DarkGray\"\nstatus_message = \"Yellow\"\npopup_bg = \"DarkGray\"\npopup_text = \"LightRed\"\n\n# Icons Colors\nicon_rust = \"Red\"\nicon_maven = \"Orange\"\nicon_flutter = \"Cyan\"\nicon_go = \"Cyan\"\nicon_python = \"Yellow\"\nicon_mise = \"Orange\"\nicon_worktree = \"Green\"\nicon_worktree_lock = \"Gray\"\nicon_gitmodules = \"Purple\"\nicon_git = \"Red\"\nicon_folder = \"Yellow\"\nicon_file = \"Gray\"\n```\n\n**Available Color Names:**\n\nYou can use the following color names in your custom color configuration:\n\n- Basic colors: `Black`, `Red`, `Green`, `Yellow`, `Blue`, `Magenta`, `Cyan`, `Gray`, `DarkGray`, `LightRed`, `LightGreen`, `LightYellow`, `LightBlue`, `LightMagenta`, `LightCyan`, `White`\n- RGB colors: You can also use RGB values like `\"#FF5733\"` or as a table: `{ r = 255, g = 87, b = 51 }`\n\n### 3. Environment Variables\n\nYou can also configure **try-rs** using environment variables:\n\n| Variable            | Description                                                |\n| :------------------ | :--------------------------------------------------------- |\n| `TRY_PATH`          | Overrides the path where experiments are stored.           |\n| `TRY_CONFIG_DIR`    | Overrides the default configuration directory.             |\n| `TRY_CONFIG`        | Overrides the config filename (defaults to `config.toml`). |\n| `VISUAL` / `EDITOR` | Default editor to use if not specified in `config.toml`.   |\n\n## Usage\n\nSimply type try-rs (or your alias) in your terminal.\n\n### Key Bindings\n\n| Key                                                   | Action                                                 |\n| ----------------------------------------------------- | ------------------------------------------------------ |\n| `Type`                                                | Filter the list (Fuzzy Search)                         |\n| `↑` / `↓` / `Ctrl+K` / `Ctrl+J` / `Ctrl+P` / `Ctrl+N` | Navigate the list                                      |\n| `Ctrl+U`                                              | Clear the search box                                   |\n| `Enter`                                               | Select directory (or create new if text doesn't match) |\n| `Ctrl+D`                                              | Delete the selected directory (triggers popup)         |\n| `Ctrl+E`                                              | Open in editor (configured in config.toml)             |\n| `Ctrl+T`                                              | Open theme selector                                    |\n| `Ctrl+A`                                              | Open about popup                                       |\n| `Esc/Ctrl+C`                                          | Cancel / Close Popup / Exit                            |\n\n#### Theme Selector Key Bindings\n\n| Key                               | Action               |\n| --------------------------------- | -------------------- |\n| `↑` / `↓` / `j` / `k` / `n` / `p` | Navigate themes      |\n| `Enter`                           | Select theme         |\n| `Esc/Ctrl+C`                      | Close theme selector |\n\n## Themes\n\nYou can switch between themes at runtime by pressing `Ctrl+T`. The following themes are available:\n\n- **Default**\n- **Catppuccin Mocha**\n- **Catppuccin Macchiato**\n- **Dracula**\n- **JetBrains Darcula**\n- **Gruvbox Dark**\n- **Nord**\n- **Tokyo Night**\n- **One Dark Pro**\n- **Everforest**\n- **SynthWave '84**\n- **OLED True Black**\n- **Silver Gray**\n- **Black \u0026 White**\n- **Matrix**\n- **Tron**\n\nYou can also define a custom theme in your `config.toml`.\n\n## CLI Commands\n\nYou can also bypass the UI:\n\n| Command                                        | Description                                                         |\n| ---------------------------------------------- | ------------------------------------------------------------------- |\n| `try-rs`                                       | Opens the TUI                                                       |\n| `try-rs \u003cname\u003e`                                | Create (or jump to) a named experiment                              |\n| `try-rs \u003chttps://github.com/user/repo\u003e`        | Clones a repository into a dated folder                             |\n| `try-rs \u003chttps://github.com/user/repo\u003e \u003cname\u003e` | Clones a repository into a specific folder name (destination)       |\n| `try-rs -s \u003curl\u003e` / `try-rs --shallow-clone`   | Shallow clone (--depth 1) when cloning repositories                 |\n| `try-rs -w \u003cname\u003e` / `try-rs --worktree`       | Create a git worktree from current repository (must be inside repo) |\n| `try-rs --setup \u003cshell\u003e`                       | Setup shell integration (fish, zsh, bash, nu-shell, power-shell)    |\n| `try-rs --version`                             | Show application version                                            |\n| `try-rs --help`                                | Show help message                                                   |\n\n## Inspiration\n\nThis project is a Rust port and re-imagination of the excellent [try](https://github.com/tobi/try) tool by **Tobi Lütke**.\n\nWhile 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](https://github.com/ratatui/ratatui)) of the Rust ecosystem.\n\n## Contributing\n\nPull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.\n\n📄 License\n[MIT](LICENSE)\n","funding_links":[],"categories":["Applications","Rust"],"sub_categories":["Productivity"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftassiovirginio%2Ftry-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftassiovirginio%2Ftry-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftassiovirginio%2Ftry-rs/lists"}