Skip to content

Repository files navigation

Termalime

Termalime is a Tauri-powered desktop cockpit that fuses a full terminal emulator with an AI chat console. It’s built for developers who constantly bounce between shell sessions and AI prompts—everything lives in a single split-pane workspace with a polished lime-dark aesthetic.

Termalime logo

✨ Features

  • Split terminal + AI chat: Resizable panes keep shell output and assistant replies side-by-side.
  • Persistent sessions: PTY sessions stay alive while you prompt the model, perfect for iterative workflows.
  • Hover controls: Copy/delete chat messages instantly via subtle on-hover actions.
  • Custom branding: Lime splash screen, dock/taskbar icon, and packaging metadata branded as “Termalime”.
  • Linux desktop bundles: One command emits .deb, .rpm, and AppImage artifacts for distribution.

🧱 Tech stack

  • Frontend: React + Vite + Tailwind/Tauri styles
  • Desktop shell: Tauri 2.x (Rust backend with WebKit WebView)
  • Terminal subsystem: portable-pty + custom PTY registry for multi-session terminal streams
  • AI bridge: Streams chat responses from local Ollama models via async reqwest client

🚀 Development workflow

npm install
npm run tauri dev

🧩 Continuous integration (GitHub Actions)

This repository includes a GitHub Actions workflow that builds the frontend and the Tauri app on Ubuntu.

What it does:

  • Installs Node.js and Rust toolchain
  • Installs system packages required by Tauri (GTK, WebKit, pkg-config, OpenSSL headers)
  • Builds the Vite frontend (npm run build)
  • Runs the Tauri build (npm run tauri build) and uploads any artifacts under src-tauri/target/release/bundle

If you want to reproduce the CI environment locally, follow the native deps step (example for Ubuntu) and then run:

npm ci
npm run build
npm run tauri build

Linux tip: if GTK/WebKit headers aren’t detected, prefix dev/test commands with PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH (same for cargo check).

Splash + icon tweaks

  • Splash markup lives in index.html, styling in src/index.css.
  • Runtime window icon logic sits in src-tauri/src/lib.rs (clones app.default_window_icon() so the dock shows the lime badge).
  • Regenerate icons with npm run tauri icon ./assets/logo.png and confirm references inside src-tauri/tauri.conf.json.

🧪 Production build

npm run tauri build

This runs the Vite build (dist/) and feeds it to the Tauri bundler.

📦 Packaging & installation (Ubuntu example)

  1. Install native deps once:
sudo apt update
sudo apt install -y libgtk-3-dev libwebkit2gtk-4.0-dev build-essential curl wget pkg-config libssl-dev
  1. Build the bundles:
PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH npm run tauri build
  1. Install the .deb locally:
sudo apt install ./src-tauri/target/release/bundle/deb/Termalime_0.5.0_amd64.deb

Artifacts land under src-tauri/target/release/bundle/:

  • deb/Termalime_0.5.0_amd64.deb → install with apt
  • appimage/Termalime_0.5.0_amd64.AppImagechmod +x then run directly
  • rpm/Termalime-0.5.0-1.x86_64.rpm → for Fedora/RHEL friends

Adjust bundle.targets or metadata inside src-tauri/tauri.conf.json if you only need specific formats or want to bump versions.

V0.2 Released - November 25 - Codename: Pre Flight

  • Introduces the preflight checker that checks potential malicious commands which are pasted in
  • Adds a settings menu for Bot tweaking and visual settings

V0.3 Released - December 25 - Codename: Context

  • Adds the Context Bar
  • Adds a new command panel to CRUD commands
  • Brings in a new Auto-reconnect for Models which act strang upon start up (Ministral)
  • Minor bug fixes

V0.4 Released - June 26 - Codename: Sustain

  • New Features:
    • Ability to create new terminal tabs
    • Enhanced Context Bar with CPU/Memory usage
    • Export .TXT functionality to saved commands panel
  • Optimizations & Security Patches:
    • Optimized PTY reader lock contention using asynchronous channel-based batching
    • Hardened preflight heuristic checks with command tokenization to prevent bypasses
    • Secured git subprocesses by checking execution capability and nullifying stdin/stderr pipes
    • Scanned and updated frontend and backend dependencies to patch security vulnerabilities
  • Bug Fixes & UX:
    • Fixed PTY session and reader thread leaks when closing terminal windows
    • Fixed sidebar command button integration to correctly run commands in PTY
    • Fixed saved commands panel form visibility toggling when typing new commands
    • Added export functionality for saved commands to clean .txt files
  • Termaline V0.4.0 is now available for testing on Windows and MacOSX.

V0.5 Released - June 26 - Codename: Eco

  • New Features:
    • Eco Impact Tracking: Displays CO₂ and water saved by using local LLMs instead of cloud APIs in the Context Bar and Settings
    • Lifetime eco totals with per-session breakdown and reset functionality
  • Optimizations & Bug Fixes:
    • Fixed terminal output freeze on large data transfers (UTF-8 boundary handling)
    • Eliminated chat streaming duplication caused by leaked event listeners; major performance gain on long responses
    • Optimized context polling and startup (git branch caching, targeted sysinfo refreshes, IPC batching) Please note that this is an alpha version and may contain bugs

About

An OSx beauitful LLM powered terminal built in Rust & utilizes Ollama

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages