████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ Terminal Enhancements for Power Users
Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.
Features · Installation · Commands · Themes · Contributing
Terminup transforms your terminal into a modern, animated development environment. It adds visual feedback to common commands, beautiful ASCII art to git operations, and productivity tools to streamline your workflow.
Works with any Zsh setup - Powerlevel10k is optional.
Cross-platform - Works on macOS, Linux (Ubuntu, Arch, Fedora), and Windows (WSL).
Multilingual - Supports English, Dutch, French, German, Spanish, and more!
┌─────────────────────────────────────────────────────────────┐
│ │
│ ╔═══════════════════════════════════════════════════╗ │
│ ║ TERMINUP BOOT SEQUENCE ║ │
│ ╚═══════════════════════════════════════════════════╝ │
│ │
│ [ OK ] Initializing Terminup v1.0.0 │
│ [ OK ] Loading core modules │
│ [ OK ] Configuring shell environment │
│ │
│ ───────────────────────────────────────────────────── │
│ │
│ SYSTEM STATUS │
│ [ OK ] Shell: zsh 5.9 │
│ [ OK ] Git: 2.43.0 │
│ [ OK ] Node: v20.10.0 │
│ [ OK ] FZF: Available │
│ │
│ ═════════════════════════════════════════════════════ │
│ [ OK ] All systems operational │
│ │
└─────────────────────────────────────────────────────────────┘
+-----------------------------------+
| PUSHING TO REMOTE |
+-----------------------------------+
LOCAL ========> REMOTE
+-----+ +-----+
| | ----- * -------------> | |
+-----+ +-----+
Every git operation comes with visual feedback:
- Animated spinners during operations
- ASCII art headers
- Success/failure indicators
- Pretty formatted output
+-----------------------------------+
| [~] SCREENSAVER COLLECTION |
+-----------------------------------+
- Digital Clock - Large ASCII time display
- Analog Clock - ASCII clock with multiple shapes
- Matrix Rain - Falling Japanese characters
- Pipes - Animated pipe maze
- Stars - Flying starfield effect
- Aquarium - Swimming fish animation
- Fire - Burning flames effect
- Lock Screen - Fullscreen with unlock sequence
| Feature | macOS | Linux | Windows (WSL) |
|---|---|---|---|
| Copy/Paste | ✅ | ✅ | ✅ |
| Open URLs | ✅ | ✅ | ✅ |
| Notifications | ✅ | ✅ | ✅ |
| System Lock | ✅ | ✅ | ✅ |
| Battery Info | ✅ | ✅ | - |
Change the language of all messages:
lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # SpanishSupported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano
═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════
15+ built-in themes plus a custom theme builder.
When you open a new terminal, Terminup greets you with:
- Animated logo reveal
- System status checks
- Git branch and project detection
- Time-based greetings
Tip: Press Enter during boot to speed up the animation!
- FZF-powered fuzzy finding
- DDEV integration
- Pomodoro timer
- Quick notes
- Spotify control
- Password generator
- Bookmark system
- Zsh (5.1 or higher)
- Git
# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclipgit clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.shAdd to your ~/.zshrc:
source~/Projects/Terminup/terminup.zshReload:
source~/.zshrcUse tup to see all commands, or tup <category> for specific categories.
| Command | Description |
|---|---|
tup | Show essential commands |
tup all | Show all commands |
tup git | Git commands |
tup nav | Navigation commands |
tup npm | NPM/PNPM commands |
tup screen | Screensaver commands |
tup system | System & language commands |
tups | Reload shell |
| Command | Description |
|---|---|
gc [message] | Commit with ASCII art |
gp [remote] | Push with animation |
gl [remote] | Pull with animation |
ga [files] | Stage files |
fga | Fuzzy git add (interactive file selector) |
gb | List branches |
gco <branch> | Checkout branch |
gss | Status overview |
glog | Pretty log graph |
gst / gstp | Stash / Stash pop |
gm <branch> | Merge branch |
| Command | Description |
|---|---|
cd <dir> | Animated directory change |
ll | Enhanced listing |
lt [depth] | Tree view |
recent | Recent directories |
fcd | Fuzzy directory finder |
mkcd <dir> | Create and enter |
| Command | Description |
|---|---|
ni / pi | npm/pnpm install |
dni / dpi | DDEV npm/pnpm install |
dev | Start dev server |
build | Production build |
scripts | List npm scripts |
fscript | Fuzzy script picker |
add <pkg> | Add dependency |
remove <pkg> | Remove dependency |
| Command | Description |
|---|---|
lock | Fullscreen digital clock |
ss | Digital clock screensaver |
aclock [shape] | Analog ASCII clock |
alock [shape] | Fullscreen analog clock |
matrix | Matrix rain effect |
pipes | Pipe maze screensaver |
stars | Flying starfield effect |
aquarium | Swimming fish animation |
fire | Burning flames effect |
rain | Rain animation |
bounce | DVD-style bouncing logo |
syslock | Lock the system |
autolock [secs] | Auto-lock after idle |
Shapes:circle, square, diamond, hexagon, octagon, decagon
Unlock: Arrow keys ← ↑ → ↓
| Command | Description |
|---|---|
lang list | Show available languages |
lang set <code> | Set language (en/nl/fr/de/es) |
lang current | Show current language |
platform | Show platform info |
stats | System statistics |
| Command | Description |
|---|---|
pomo [mins] | Pomodoro timer |
focus [mins] | Focus mode |
todo | Todo list (add/done/rm/list) |
note [text] | Quick notes |
quote | Programming quote |
decide a b c | Decision maker |
genpass [len] | Password generator |
cleanup [type] | Quick cleanup |
spotify | Spotify control (macOS) |
google <query> | Web search |
github <query> | GitHub search |
share <file> | Upload & share file (get URL) |
qr <text> | Generate QR code |
typetest | Typing speed test |
stopwatch | Simple stopwatch |
weather [city] | Weather forecast |
dadjoke | Random dad/programmer joke |
hn [count] | Hacker News top stories |
cmdstats | Your most-used commands |
clockwidget [secs] | Inline clock widget |
welcome | Time-based greeting |
ritual / morning | Morning routine |
eod / night | End of day summary |
standup | Generate standup report |
achievement | Track your achievements |
| Command | Description |
|---|---|
api <METHOD> <url> | API tester (GET/POST/PUT/DELETE) |
shorten <url> | URL shortener (copies to clipboard) |
asciiart <text> | Generate ASCII art from text |
cls | Clear screen with fade animation |
clsq | Quick fade clear |
| Command | Description |
|---|---|
blackjack | 🃏 Play Blackjack (Hit/Stand/Quit) |
snake | 🐍 Terminal snake game |
slots | 🎰 Slot machine with jackpot animation |
nyan [secs] | 🌈 Nyan cat animation |
fireworks [secs] | 🎆 Fireworks animation |
dadjoke | 😄 Random dad joke |
asciiart <text> | 🎨 Generate ASCII art |
decide a b c | 🎲 Random decision maker |
rain | 🌧️ Rain animation |
fire | 🔥 Fire animation |
aquarium | 🐠 ASCII fish tank |
stars | ⭐ Starfield animation |
bounce | 📀 DVD bounce animation |
| Command | Description |
|---|---|
theme list | Show all themes |
theme set <name> | Apply theme |
theme preview <name> | Preview theme |
theme custom | Build custom theme |
colors | Show color palette |
Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset
theme customInteractively pick colors for each element.
# Disable startup animationexport TERMINUP_STARTUP_ENABLED=false
# Minimal startupexport TERMINUP_STARTUP_STYLE=minimal
# Or completely offexport TERMINUP_STARTUP_STYLE=off
# Set default languageexport TERMINUP_LANG=nlterminup/
├── terminup.zsh # Main entry point
├── install.sh # Installation script
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── ascii-art/ # ASCII art assets
└── components/
├── animations.zsh # Spinners, progress bars
├── colors.zsh # Color definitions
├── completions.zsh # Tab completion
├── cursor-effects.zsh # Cursor styling
├── ddev.zsh # DDEV integration
├── extras.zsh # Productivity tools
├── fzf-power.zsh # FZF integrations
├── git-magic.zsh # Git enhancements
├── i18n.zsh # Internationalization core
├── languages/ # Translation files
│ ├── en.zsh # English
│ ├── nl.zsh # Dutch
│ ├── fr.zsh # French
│ ├── de.zsh # German
│ ├── es.zsh # Spanish
│ └── it.zsh # Italian
├── navigation.zsh # cd/ls improvements
├── npm-pnpm.zsh # Package manager tools
├── platform.zsh # Cross-platform utilities
├── screensaver.zsh # Screensavers & lock
├── startup.zsh # Boot sequence
└── themes.zsh # Theme system
Contributions are welcome! Whether it's:
- Bug fixes
- New features
- Documentation improvements
- Theme additions
- Translations (see
components/languages/)
# Clone the repo
git clone https://github.com/yourusername/terminup.git
cd terminup
# Create a branch
git checkout -b feature/your-feature
# Make changes and testsource terminup.zsh
# Submit a PR- Keep it fast - Terminal tools should be instant
- Keep it optional - Features should degrade gracefully
- Keep it clean - Follow existing code style
- Test thoroughly - Test on clean zsh installs
- Cross-platform - Use platform utilities (
_open,_copy, etc.) - Multilingual - Use
_t()for user-facing strings
- Create a new file
components/languages/xx.zsh(wherexxis the language code):
#!/usr/bin/env zsh# 🌐 Your Language Translationstypeset -gA _T_xx
_T_xx=(
welcome "Your translation"
goodbye "Your translation"# ... copy all keys from en.zsh and translate
)- Register the language in
components/i18n.zsh:
# Add to TERMINUP_LANGUAGES
TERMINUP_LANGUAGES=(
# ... existing languages
xx "Your Language Name"
)
# Add source linesource"$_I18N_DIR/languages/xx.zsh"# Add case in _t() function
xx) result="${_T_xx[$key]}";;Edit components/themes.zsh:
THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)Colors are 256-color terminal codes (0-255).
- Create or edit a component file
- Add the function with
_t()for messages - Update the help in
terminup.zsh - Update this README
Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.
Yes. Full support for:
- macOS - All features
- Linux - Ubuntu, Arch, Fedora, and others
- Windows - Via WSL (Windows Subsystem for Linux)
lang set nl # Dutch
lang set fr # French# ... etcAdd to your ~/.zshrc before sourcing terminup:
export TERMINUP_STARTUP_STYLE=offNo. All features load lazily. The startup animation only runs once per session and can be disabled.
cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrcBuilt with Zsh and caffeine.
Inspired by:
- Powerlevel10k
- Oh My Zsh
- fzf
- Iron Man's JARVIS
MIT License - do whatever you want with it.
╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝
████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝