Adit — a mine entrance, your gateway to remote servers.
A cross-platform SSH/SFTP client built with Tauri + React + Rust.
- 🔐 SSH/SFTP — password, key, and SSH agent authentication
- 📁 File Manager — browse, upload, download, and edit remote files
- 🖥️ Terminal — full SSH terminal emulation via xterm.js
- 📋 Tabbed UI — manage multiple servers in one window
- 🎨 Light/Dark — Ant Design theme switching
- ⚡ Lightweight — ~5MB binary, Rust backend for I/O
- Rust >= 1.77
- Bun >= 1.1
- Platform build dependencies (see Tauri Prerequisites)
git clone https://github.com/jabin-hao/Adit.git
cd adit
bun install
bun devbun run build| Layer | Technology |
|---|---|
| Desktop | Tauri 2.x |
| Backend | Rust + russh + tokio |
| Frontend | React 19 + TypeScript + Bun |
| UI | Ant Design 5 + Tailwind CSS |
| Terminal | xterm.js |
| State | Zustand |
adit/
├── src/ # React frontend (TypeScript, Ant Design, Zustand)
├── src-tauri/ # Rust backend (russh, tokio, Tauri commands)
├── docs/ # Documentation
└── README.md
| Command | Description |
|---|---|
bun dev |
Start dev mode |
bun run build |
Production build |
bun run lint |
ESLint check |
bun run check |
TypeScript check |
bun test |
Run frontend tests |
cargo test |
Run Rust tests |
Issues and PRs are welcome!
bun run lint
bun run checkPlease ensure:
- Code passes lint and type checks
- New features include tests
- Commit messages follow Conventional Commits
MIT © 2026 Jabin Hao