A cross-platform terminal emulator built with Electron, xterm.js, and node-pty.
- 🖥️ Cross-platform (macOS, Windows, Linux)
- ⚡ Native PTY for true terminal experience
- 🎨 Beautiful Catppuccin-inspired theme
- 📜 Smart command history & suggestions
- ⭐ Favorite commands with AI normalization
- 🛡️ Blacklist patterns (regex) for commands & directories
- 🧹 Auto-cleanup of low-frequency history
- 🔐 SSH server management (encrypted storage) - coming soon
- ☁️ Multi-device sync - coming soon
- 🪟 Split Panes (Cmd+\ for split, Cmd+Opt+Arrow for nav)
Master Key Encryption Explained
WebSearchusesfetch()to request DuckDuckGo, Google, or Bing search-result HTML. Cheerio extracts the title, URL, and snippet from each result, which Tiginal returns to the model in a numbered format. It does not open each result page.WebFetchloads a specific URL in a hidden ElectronBrowserWindow. It waits for JavaScript-rendered content, then returns the page title, URL, and body text to the model.
WebSearch is faster and works well for discovery. Use WebFetch when the model needs the content of a specific page.
Commands are automatically recorded and suggested as you type (prefix match, sorted by frequency).
cdcommands (uses separate directory history)- Multi-line commands (
\nor trailing\) - Compound commands (
&&or||) - Commands matching blacklist patterns
Add regex patterns to exclude specific commands/directories from history.
Example: git commit -am(.*) will prevent all such commits from being recorded.
Configure auto-cleanup in Settings → Terminal → General to remove entries with low usage scores.
| Shortcut | Action |
|---|---|
Cmd + T |
New Tab |
Cmd + W |
Close Tab |
Cmd + 1-9 |
Switch Tab |
Cmd + \ |
Split Pane Right |
Cmd + Opt + Arrows |
Navigate Panes |
Cmd + Shift + W |
Close Pane |
# Install dependencies
npm install
# Start in development mode
npm start# Build for current platform
npm run dist
# macOS (creates .dmg and .zip)
npm run dist -- --mac
# Windows (creates .exe installer)
npm run dist -- --win
# Linux (creates .AppImage and .deb)
npm run dist -- --linuxOutput files are in the release/ directory.
| Platform | Files |
|---|---|
| macOS | Tiginal-x.x.x.dmg, Tiginal-x.x.x-mac.zip |
| Windows | Tiginal Setup x.x.x.exe |
| Linux | Tiginal-x.x.x.AppImage, tiginal_x.x.x_amd64.deb |
src/
├── main/ # Electron main process
│ ├── index.ts # Entry point
│ ├── pty.ts # PTY management
│ ├── ipc.ts # IPC handlers
│ └── preload.ts # Context bridge
├── renderer/ # Frontend
│ ├── terminal.ts # xterm.js wrapper
│ └── styles.css # Theme
└── shared/ # Shared types
services/ # Service layer (reserved)
├── ssh/ # SSH server management
├── history/ # Command history
└── ai/ # AI suggestions
MIT