Skip to content
daveymasonPublic

About

A fast, split-screen desktop terminal emulator with a built-in offline Ollama copilot, interactive code execution, and preflight command safety.

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

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.6.0_amd64.deb

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

  • deb/Termalime_0.6.0_amd64.deb → install with apt
  • appimage/Termalime_0.6.0_amd64.AppImage → chmod +x then run directly
  • rpm/Termalime-0.6.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.6 Released - September 26 - Codename: Bridge

  • Interactive AI Code Blocks (Chat → Shell):
    • Added dedicated action bar on every shell snippet generated by Lime Copilot:
      • ⚡ Run in Terminal: Instantly forwards command to active shell (safeguarded by Preflight modal)
      • ✏️ Insert at Prompt: Pastes snippet into shell without auto-executing, allowing argument review
      • 📋 Copy Code: Copies clean code snippet to clipboard with instant feedback
  • 1-Click Output & Error Diagnosis (Shell → Chat):
    • Added Explain button in the Context Bar and Ctrl+Shift+E shortcut in the terminal
    • Captures recent terminal output/tracebacks and prompts Lime Copilot to analyze errors and propose exact fixes
  • In-Buffer Terminal Search (Ctrl+F):
    • Integrated @xterm/addon-search with floating search bar overlay
    • Support for incremental find, previous/next match navigation, and case-sensitivity toggle
  • PTY & Shell Enhancements:
    • Smart CWD Tab Inheritance: new terminal tabs inherit the working directory of the current session
    • In-place Tab Renaming: double-click any tab title to rename it
    • Truecolor support: enabled 24-bit color output (COLORTERM=truecolor) for modern CLI tools (bat, eza, starship)

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)

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.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.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

Please note that this is an alpha version and may contain bugs

About

A fast, split-screen desktop terminal emulator with a built-in offline Ollama copilot, interactive code execution, and preflight command safety.

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages