# `runa - rn`
[](https://github.com/alexm-dev/runa/actions)
[](https://github.com/alexm-dev/runa/releases)
[](https://crates.io/crates/runa-tui)
[](https://aur.archlinux.org/packages/runa)
[](https://www.rust-lang.org/)
[](LICENSE)
**Documentation**
- [Configuration](docs/configuration.md)
<img src="https://github.com/user-attachments/assets/202ec419-80fe-427f-975b-0ef1d31d501a" alt="runa_default" width="100%" style="max-width: 1274px; height: auto;" />
A fast and lightweight console file browser written in Rust
**rn - runa** is a minimalist terminal file manager focused on speed and simplicity.
It allows you to navigate directories, view file listings, and perform typical file browser actions.
> [!IMPORTANT]
> **runa** is a work in progress. It is being actively developed and features may change over time.
## Changelog
For a detailed list of changes and release notes, see [CHANGELOG.md](./CHANGELOG.md).
## Installation
### Cargo:
```bash
cargo install runa-tui
```
### Arch Linux (AUR)
You can install runa from the [AUR](https://aur.archlinux.org/packages/runa) using an AUR helper like `paru` or `yay`:
```bash
yay -S runa
```
### Pre-compiled Binaries
If you'd like to download Pre-compiled binaries instead of isntalling runa as a crate in cargo or via the AUR,
you can grab the latest binaries for Linux, Windows and macOS form the [Release](https://github.com/alexm-dev/runa/releases) page.
After downloading, add the `rn` (Linux/macOS) or `rn.exe` (Windows) binary to your system `PATH` to use runa from your terminal.
> [!TIP]
> **Checksum Check:** You can verify the integrity of the release archives using the `SHA256SUMS.txt` file in the [Release](https://github.com/alexm-dev/runa/releases) page.
>
> Unix
> ```bash
> sha256sum -c SHA256SUMS.txt
> ```
>
> Windows
> ```powershell
> Get-FileHash runa-windows-x86_64.zip -Algorithm SHA256
> ```
> Compare the output with the corresponding entry in `SHA256SUMS.txt`.
### Build from source
Clone the repo and build with Cargo:
```bash
git clone https://github.com/alexm-dev/runa.git
cd runa
cargo build --release
```
### Usage
Run runa with:
`rn`
## Configuration
A full configuration documentation will follow.
runa uses a runa.toml file for configuration.
By default, it is located at:
`$HOME/.config/runa/runa.toml` (on both Unix and Windows, inside the user folder)
You can override the config path by setting an environment variable:
```bash
# Unix
export RUNA_CONFIG=/path/to/runa.toml
# PowerShell (Windows)
$env:RUNA_CONFIG="C:\path\to\runa.toml"
```
You can generate a default config using the --init or --init-minimal flag:
```bash
rn --init
# For the whole configuration options runa.toml
rn --init-full
# For help with all the configuration options.
rn --config-help
```
This will generate a config in the default config path.
## Roadmap
runa is in active development.
Future releases will focus on expanding functionality while keeping it fast and lightweight.
### Planned features
- [ ] Search & Discovery: Integrated fuzzy finding and fast directory traversal.
- [ ] Image Previews: Support for Sixel/Kitty graphics protocols.
- [ ] Syntax Highlighting: Treesitter integration for the preview pane.
### Completed
- [x] File Operations: Copy, move, delete, and rename from within the UI. ( Completed in 0.3.0 )
- [x] Content Search: Text search and filtering. (Completed in 0.3.0)
- [x] Performance: Reactive rendering (Completed in 0.2.0).
- [x] UI Customization: Pane-specific styling and Hex color support (Completed in 0.2.2).
- [x] Navigation Context: Persistent Parent (Origin) and Preview panes (Completed in 0.2.0)
---
<img src="https://github.com/user-attachments/assets/778b80cc-3e6f-45ab-a770-e4d88059995a" alt="runa_default_3" style="max-width: 100%; height: auto;">
---
## Support & Contribute
If you enjoy using **runa**, you can help the project grow:
* ⭐ **Star the Repo:** It helps more people discover runa :)
* 🐛 **Report Bugs:** Open an issue if something doesn't work as expected.
* 💡 **Feature Requests:** Suggest new ideas in the [Issues](https://github.com/alexm-dev/runa/issues) tab.
* 🦀 **Contribute:** Pull requests are always welcome!
## Built With
`runa` stands on the shoulders of these incredible Rust crates:
- **TUI Framework:** [Ratatui](https://ratatui.rs) & [Crossterm](https://github.com/crossterm-rs/crossterm)
- **Configuration:** [Serde](https://serde.rs) & [TOML](https://github.com/toml-rs/toml)
- **System Integration:** [Dirs](https://github.com/dirs-dev/dirs-rs) (Standard config locations)
- **Concurrency:** [Crossbeam-channel](https://github.com/crossbeam-rs/crossbeam)
## License
This project is Licensed under the MIT License
See the [LICENSE](LICENSE) file for details.