Skip to content

websitebutlers/terminus-terminal

Repository files navigation

Terminus

A powerful, keyboard-driven multi-terminal dashboard for developers. Manage multiple terminal sessions in a flexible grid layout with project awareness, command queues, and session persistence.

Terminus Terminal License Electron React

Features

Multi-Panel Layout

  • Flexible grid system - Split panels horizontally or vertically
  • Layout presets - Single, 2-column, 3-column, or 2×2 grid
  • Drag & drop - Swap panel contents by dragging headers
  • Maximize mode - Double-click header to maximize any panel
  • Multiple tabs per panel with independent terminal sessions

Project Awareness

  • Per-panel project paths - Each terminal opens in its project directory
  • Git status - Branch name and dirty indicator in panel header
  • Environment detection - Node.js and Python version badges
  • Recent projects - Quick access sidebar with 10 most recent folders

Command Queue

  • Queue commands - Line up multiple commands to run sequentially
  • Batch operations - Add common command sets (install, build, test)
  • Auto-run mode - Automatically execute queued commands
  • Configurable delays - Set time between command execution

Session Management

  • Auto-save - Layout, projects, theme, and snippets persist automatically
  • Named sessions - Save and load different workspace configurations
  • Command snippets - Store frequently used commands for quick access

Keyboard-First Design

  • Full keyboard navigation - Switch panels, split, close without touching mouse
  • Command palette - Quick access to all commands via Cmd+K
  • Panel sync - Broadcast input to multiple panels simultaneously

Themes

8 built-in themes including Dark, Light, Nord, Monokai, and Claude themes.

Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Development Setup

# Clone the repository
git clone https://github.com/websitebutlers/terminus-terminal.git
cd terminus-terminal

# Install dependencies
npm install

# Start development server
npm run dev

Build for Production

# Build the application
npm run build

# The built app will be in the dist folder

Keyboard Shortcuts

Panel Management

Shortcut Action
Cmd+D Split panel horizontally
Cmd+Shift+D Split panel vertically
Cmd+W Close panel
Cmd+T New tab in panel
Cmd+1-9 Focus panel by index
Cmd+[ Focus previous panel
Cmd+] Focus next panel
Escape Exit maximize / clear sync

Application

Shortcut Action
Cmd+B Toggle sidebar
Cmd+K Command palette
Cmd+Enter Launch Claude Code
Cmd+F Search in terminal

Tech Stack

  • Electron - Cross-platform desktop app framework
  • React 18 - UI framework
  • TypeScript - Type-safe JavaScript
  • Vite - Fast build tooling
  • Zustand - Lightweight state management
  • xterm.js - Terminal emulator
  • node-pty - Pseudo-terminal for native shell integration

Project Structure

terminus/
├── electron/
│   ├── main.ts          # Main process
│   ├── preload.ts       # Preload bridge
│   └── pty-manager.ts   # PTY process management
├── src/
│   ├── components/
│   │   ├── Layout/      # Panel, SplitContainer, Resizer
│   │   ├── Panel/       # PanelHeader, TabBar, QuickActionsBar
│   │   ├── Sidebar/     # Project list, session info
│   │   ├── Terminal/    # xterm.js integration
│   │   └── CommandPalette/
│   ├── stores/          # Zustand state stores
│   ├── types/           # TypeScript definitions
│   └── hooks/           # Custom React hooks
└── package.json

Configuration

Session data is stored in:

  • macOS: ~/Library/Application Support/terminus/
  • Windows: %APPDATA%/terminus/
  • Linux: ~/.config/terminus/

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow existing code style and patterns
  • Add TypeScript types for new code
  • Test on macOS, Windows, and Linux if possible
  • Update documentation for new features

Roadmap

  • SSH remote connections
  • Split terminal recording/replay
  • Plugin system
  • Custom theme editor
  • Terminal multiplexer integration (tmux/screen)

License

MIT License - see LICENSE for details.

Acknowledgments


Built with care for developers who live in the terminal.

About

A sophisticated terminal tool that allows you to save project folder. Intended for use with claude code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors