New
Apps 1,514Makers 1,512This week 1,514
Promote your app−30%
Termul screenshot 1
1views in
the last 30 days

Termul

Termul is Terminal Ultimate Manager a cross-platform desktop terminal manager built with Tauri...

Built with Claude Code/Cursor

by gnoviawan · Unclaimed · from IDIndonesia · added Oct 29, 2026
no ratings0 comments

🖥️ Termul Manager

A modern, project-aware terminal manager built with Tauri

Termul treats workspaces as first-class citizens, allowing you to organize terminals by project with persistent sessions, snapshots, and a clean tabbed interface. Each project also gets ACP agent chats and Git and worktree tools, and the app adds SSH sessions and remote access from your phone.

React TypeScript

Getting Started · Features · Documentation · Contributing · Report Bug · Request Feature


✨ Features

🪟 Workspace & Terminal Management

Feature Description
Project-Based Workspaces Organize terminals by project with dedicated workspace directories, separate state, and per-project configuration
Pane-Based Split Layout Split your workspace into resizable panes and arrange terminals, editors, and browser tabs side by side
Tabbed Interface Windows Terminal-style tab bar with drag-and-drop reordering within and across panes, terminal rename, and a context menu
Multiple Shell Support Detects PowerShell, CMD, Git Bash, and WSL on Windows, and bash, zsh, fish, and sh on macOS and Linux. Pick a shell for each new terminal

🤖 AI Agents

Feature Description
Agent Chat Chat with ACP agents such as Claude Agent, Codex, Gemini CLI, Cursor, and OpenCode in any pane, with a model picker, slash commands, @ file mentions, permission prompts, and a plan view
Saved Chats Termul saves chats per project and lists them in the sidebar. Reopen a chat when its agent can reload a past session
Agent Launcher Start a chat from a prompt in the active pane (Ctrl+T), pick the agent and model, and optionally isolate the chat in a new Git worktree
Custom ACP Agents Add your own ACP agents in Settings, or paste a Zed-style agent_servers config
Terminal AI Assist Right-click selected terminal output and choose Explain with AI or Fix Command with AI. Suggested commands insert at the prompt without running

🌿 Git & Worktrees

Feature Description
Changes & Commits Stage, unstage, and discard files, then commit, amend, push, or publish the branch to origin
Partial Staging Stage or unstage a single hunk or a selection of lines from the diff view
Diff Views Inline and side-by-side diffs with word-level highlighting, opened as tabs
History Graph Commit graph for all branches or the current branch, with search by message, author, or hash
Branches & Stash Search, switch, and create branches, and save, apply, pop, or drop stashes
AI Commit Messages Generate a commit message from the staged diff with the selected ACP agent
Worktrees Create a worktree from any base branch and switch between worktrees from the workspace switcher
Status Bar Shows the current branch, working directory, git status, and the last exit code

🔐 SSH & SFTP

Feature Description
Saved Hosts Save hosts with password, key file, or SSH agent authentication, or import them from ~/.ssh/config. Passwords and passphrases go to the OS keychain
SSH Sessions Each session tab is one connection, and its remote shell runs as a regular Termul terminal. Termul asks you to confirm a new or changed host key by its SHA256 fingerprint
SFTP Browser & Editor Browse, upload, download, rename, and delete remote files, and edit them in place in a built-in editor

📱 Remote & Mobile

Feature Description
Remote Access Turn on remote access from the desktop status bar to open a cloudflared quick tunnel, then scan the QR code to drive your live agent chats from a phone. Requires cloudflared on your PATH
termul-server Standalone Linux server that serves the Termul web client from a headless host, with token auth and opt-in self-update. See Installing termul-server
Mobile UI & PWA Phone-width layout with a chat drawer, a file explorer, and extra terminal keys. Install the web client as a PWA over HTTPS or localhost

📝 Editor & File Management

Feature Description
Code Editor Built-in code editor with syntax highlighting, file buffers, dirty-state tracking, and save/reload
Markdown Editor Rich markdown editing powered by BlockNote with a preview and source toggle and an outline for heading navigation
Mermaid Diagrams Render Mermaid diagrams inline in the markdown preview
File Explorer Full file tree with create, rename, delete, clipboard operations, drag-and-drop, and context menus
Project Search Search file names and file contents from the file explorer with a bundled ripgrep. Results stream in as ripgrep finds them
File Watching Live file watching for real-time updates as files change on disk

🌐 Browser & Annotation

Feature Description
Embedded Browser Tabs Browse the web inside your workspace in child webview tabs, with no app switching
Page Annotations The Agentation toolbar loads into each browser tab. Click elements, text, or areas to attach notes

⚡ Power User Tools

Feature Description
Command Palette Global command launcher (Ctrl+K / Ctrl+Shift+P) for project switching, workspace actions, and more
Command History Per-project and aggregate command history viewer with search (Ctrl+R)
Keyboard Shortcuts Rebind most shortcuts in Settings
Custom Title Bar Frameless window with built-in window controls on Windows and Linux, and native traffic lights on macOS

🔧 System & Reliability

Feature Description
Auto-Updater Built-in update infrastructure with signed artifacts — get notified and update without leaving the app
State Management Zustand-powered reactive stores for projects, terminals, workspace layout, editor buffers, browser sessions, and settings
Configurable Settings Terminal and UI preferences, color picker, theme customization, and shell configuration
Cross-Platform Works on Windows, macOS, and Linux with native platform packaging
Error Boundaries Graceful error handling with runtime error boundaries and user-friendly fallback UI
🗺️ Feature Map — Component Overview
Domain Key Components Zustand Store
Workspace WorkspaceLayout, PaneRenderer, PaneContent, WorkspaceTabBar, NewTabMenu workspace-store
Terminal ConnectedTerminal, TerminalAssistPanel terminal-store
Agents AgentLauncher, AgentChatPanel, ChatInputBar, CustomAcpAgentDialog acp-store
Git ChangesPanel, GitPanel, GitDiffView, GitHistoryPanel, GitBranchPicker git-status-store, git-history-store
Worktrees WorkspaceSwitcher, NewWorktreeModal —
SSH & SFTP SSHWorkspace, SSHPanel, SSHFileExplorer, SSHFileEditor ssh-store
Remote & Mobile RemoteAccessPopover, MobileWorkspaceShell, MobileChatShell remote-status-store
Editor EditorPanel, CodeEditor, MarkdownEditor, EditorToolbar, MermaidBlock editor-store
Browser BrowserPanel, BrowserControls browser-session-store
File Explorer FileExplorer, FileTreeNode, FileTreeContextMenu file-explorer-store
Snapshots CreateSnapshotModal, RestoreSnapshotModal, DeleteSnapshotModal snapshot-store
Projects ProjectSidebar, NewProjectModal project-store
Settings ShortcutRecorder, ColorPickerPopover, ContextBarSettingsPopover app-settings-store, context-bar-settings-store, keyboard-shortcuts-store
Updates UpdateAvailableToast updater-store
Shared CommandPalette, GlobalContextMenu, ConfirmDialog, ErrorBoundary —

📸 Screenshots

Home

Home

Agent Chat

Agent Chat

Markdown Editor

Markdown Editor

Agent Tools

Agent Tools

Code Editor

Code Editor

Git Panel

Git Panel

Git History

Git History

📦 Install

Homebrew (macOS)

brew tap gnoviawan/termul
brew install --cask termul

curl (macOS/Linux)

curl -fsSL https://raw.githubusercontent.com/gnoviawan/termul/main/scripts/install.sh | bash

Windows users should install the .exe or .msi from GitHub Releases. Manual DMG downloads in a browser may still hit Gatekeeper, so macOS users should prefer Homebrew or curl.

🚀 Getting Started

Prerequisites

Dependency Version Notes
Bun 1.3+ JavaScript runtime and package manager
Rust Latest stable Required for Tauri builds

Platform-Specific Requirements

Windows
  • Microsoft Visual C++ Build Tools (included in Visual Studio 2022)
  • WebView2 Runtime (pre-installed on Windows 10+)
macOS
xcode-select --install
Linux (Debian/Ubuntu)
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
    build-essential curl wget file \
    libxdo-dev libssl-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev patchelf

The agent browser needs WebKitGTK 2.40 or later at runtime, because it calls webkit_web_view_call_async_javascript_function. On an older WebKitGTK, such as an Ubuntu 22.04 install without updates, the app can fail to load. Debian 12, Ubuntu 24.04 and an updated Ubuntu 22.04 meet it.

Linux (Fedora)
sudo dnf install webkit2gtk4.1-devel \
    gcc gcc-c++ libopenssl-devel \
    appindicator-devel librsvg2-devel \
    patchelf

The agent browser also needs WebKitGTK 2.40 or later at runtime on Fedora.

Install Rust Toolchain

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustc --version && cargo --version

Quick Start

# Clone the repository
git clone https://github.com/gnoviawan/termul.git
cd termul

# Install dependencies
bun install

# Launch in development mode
bun run dev

Landing Page

This repository also includes a standalone Vite landing page under landing/.

# Install landing page dependencies (from landing/)
cd landing && bun install

# Start the landing page dev server
bun run landing:dev

# Lint the landing page
bun run landing:lint

# Build the landing page for production
bun run landing:build

Building for Production

# Build for your current platform
bun run build

# Platform-specific builds
bun run build:tauri:win        # Windows (x64)
bun run build:tauri:mac-arm    # macOS (Apple Silicon)
bun run build:tauri:mac-x64    # macOS (Intel)
bun run build:tauri:linux      # Linux (x64)

# Debug build (faster compilation, larger binary)
bun run build:tauri:debug

Build output: src-tauri/target/release/bundle/

📖 Documentation

Usage

Creating a Project

  1. Click the + button in the sidebar and choose New project, or press Ctrl+N
  2. Select a workspace directory
  3. Configure your default shell under Advanced (optional)

Terminal Tabs

Action How
New terminal Click + next to the tabs and pick a shell
Reorder tabs Drag and drop, within a pane or to another pane
Rename tab Double-click a terminal tab
Context menu Right-click (rename, close, close others, kill process)

Keyboard Shortcuts

Action Default Shortcut
Agent Launcher Ctrl+T
New Project Ctrl+N
Command History Ctrl+R
Next Tab Ctrl+PageDown
Previous Tab Ctrl+PageUp
Command Palette Ctrl+K / Ctrl+Shift+P

Shortcuts are customizable in Settings. On macOS, use Cmd in place of Ctrl. On Tauri/WebView2, browser-reserved shortcuts such as Ctrl+Tab are not used as defaults because they are not reliably interceptable.

Architecture

Tech Stack

Layer Technology
Desktop Runtime Tauri 2.0
Backend Rust

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#cli · #desktop · #tauri