Abaxana is a high-performance, developer-focused desktop terminal emulator built with Tauri (Rust) and React/TypeScript.
Unlike traditional terminal emulators that wrap system shell binaries (like bash, zsh, cmd, or PowerShell), Abaxana implements its own custom, secure shell language pipeline. It compiles and runs commands directly against native OS process APIs. The Rust-based shell engine owns the execution pipeline, while the React/TypeScript frontend serves as a light, responsive terminal renderer communicating via a fast IPC contract.
You can install Abaxana directly from your terminal using the following one-liner commands.
Run the following command in your terminal to download, mount, and install the application automatically:
curl -fsSL https://raw.githubusercontent.com/AbabilX/ababilx_terminal/main/install.sh | bashRun the following command in your terminal to download and install the package automatically (.deb, .rpm, or .AppImage depending on your distro):
curl -fsSL https://raw.githubusercontent.com/AbabilX/ababilx_terminal/main/install-linux.sh | bashOpen PowerShell and run the following command to download and run the installer package:
irm https://raw.githubusercontent.com/AbabilX/ababilx_terminal/main/install.ps1 | iexTo build Abaxana locally, ensure you have the following installed:
- Rust (MSRV 1.75+) — Install via rustup.rs
- Node.js (v18+) — Download from nodejs.org
- pnpm — Install via
npm install -g pnpm
-
Clone the repository:
git clone https://github.com/AbabilX/ababilx_terminal.git cd ababilx_terminal -
Install frontend dependencies:
pnpm install
-
Run in development mode (with Tauri GUI window):
pnpm tauri dev
-
Run compiler & test suites:
- Run Rust tests:
cargo test - Run typecheck and linting:
pnpm build
- Run Rust tests:
-
Build the production release bundle:
pnpm tauri build
The installer packages (
.dmg,.msi,.deb) will be generated insidesrc-tauri/target/release/bundle/.
Abaxana's shell engine is structured as a strict layered pipeline across multiple Rust crates:
ababil-parser --> Tokenizes and parses terminal inputs into an AST. Pure; no file system or OS access.
ababil-runtime --> Converts AST to ExecutionPlans and executes builtins against ShellState.
ababil-exec --> Owns process spawning using native launchers (NativeLauncher & PtyLauncher).
ababil-shell --> Controls active session state, alias expansion, command history, and evaluations.
ababil-session --> Stable boundary API exposing run commands, cancellation, and events to the frontend.
ababil-config --> Manages layered JSON configuration stores (defaults, user-specific, workspace overrides).
ababil-workspace--> Manages serializable layout models (tabs, split panes) for session persistence.
This project is open-source and available under the MIT License.