Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 ████████╗██╗ ██╗██████╗ ╚══██╔══╝██║ ██║██╔══██╗
██║ ██║ ██║██████╔╝
██║ ██║ ██║██╔═══╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═════╝ ╚═╝ 

Terminal Enhancements for Power Users

Beautiful animations, ASCII art, and productivity tools for your Zsh terminal.

License: MITShell: ZshPRs Welcome

Features · Installation · Commands · Themes · Contributing


Overview

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 │
│ │
└─────────────────────────────────────────────────────────────┘

Features

Animated Git Commands

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

Screensavers & Lock Screen

 +-----------------------------------+
| [~] 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

Cross-Platform Support

FeaturemacOSLinuxWindows (WSL)
Copy/Paste
Open URLs
Notifications
System Lock
Battery Info-

Multilingual Support

Change the language of all messages:

lang set nl # Dutch
lang set fr # French
lang set de # German
lang set es # Spanish

Supported: 🇬🇧 English, 🇳🇱 Nederlands, 🇫🇷 Français, 🇩🇪 Deutsch, 🇪🇸 Español, 🇮🇹 Italiano

Theme System

 ═══════════════════════════════════════════════════════
Available Themes:
████████████████████████████ catppuccin
████████████████████████████ dracula
████████████████████████████ nord
████████████████████████████ tokyo-night
████████████████████████████ cyberpunk
████████████████████████████ matrix
████████████████████████████ neon
═══════════════════════════════════════════════════════

15+ built-in themes plus a custom theme builder.

JARVIS-Style Startup

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!

And More

  • FZF-powered fuzzy finding
  • DDEV integration
  • Pomodoro timer
  • Quick notes
  • Spotify control
  • Password generator
  • Bookmark system

Installation

Prerequisites

  • Zsh (5.1 or higher)
  • Git

Optional Dependencies

# macOS
brew install fzf bat
# Ubuntu/Debian
sudo apt install fzf bat xclip
# Arch Linux
sudo pacman -S fzf bat xclip

Quick Install

git clone https://github.com/yourusername/terminup.git ~/Projects/Terminup
cd~/Projects/Terminup
./install.sh

Manual Install

Add to your ~/.zshrc:

source~/Projects/Terminup/terminup.zsh

Reload:

source~/.zshrc

Commands

Use tup to see all commands, or tup <category> for specific categories.

Quick Reference

CommandDescription
tupShow essential commands
tup allShow all commands
tup gitGit commands
tup navNavigation commands
tup npmNPM/PNPM commands
tup screenScreensaver commands
tup systemSystem & language commands
tupsReload shell

Git

CommandDescription
gc [message]Commit with ASCII art
gp [remote]Push with animation
gl [remote]Pull with animation
ga [files]Stage files
fgaFuzzy git add (interactive file selector)
gbList branches
gco <branch>Checkout branch
gssStatus overview
glogPretty log graph
gst / gstpStash / Stash pop
gm <branch>Merge branch

Navigation

CommandDescription
cd <dir>Animated directory change
llEnhanced listing
lt [depth]Tree view
recentRecent directories
fcdFuzzy directory finder
mkcd <dir>Create and enter

Package Managers

CommandDescription
ni / pinpm/pnpm install
dni / dpiDDEV npm/pnpm install
devStart dev server
buildProduction build
scriptsList npm scripts
fscriptFuzzy script picker
add <pkg>Add dependency
remove <pkg>Remove dependency

Screensavers & Lock

CommandDescription
lockFullscreen digital clock
ssDigital clock screensaver
aclock [shape]Analog ASCII clock
alock [shape]Fullscreen analog clock
matrixMatrix rain effect
pipesPipe maze screensaver
starsFlying starfield effect
aquariumSwimming fish animation
fireBurning flames effect
rainRain animation
bounceDVD-style bouncing logo
syslockLock the system
autolock [secs]Auto-lock after idle

Shapes:circle, square, diamond, hexagon, octagon, decagon

Unlock: Arrow keys ← ↑ → ↓

System & Language

CommandDescription
lang listShow available languages
lang set <code>Set language (en/nl/fr/de/es)
lang currentShow current language
platformShow platform info
statsSystem statistics

Extras & Productivity

CommandDescription
pomo [mins]Pomodoro timer
focus [mins]Focus mode
todoTodo list (add/done/rm/list)
note [text]Quick notes
quoteProgramming quote
decide a b cDecision maker
genpass [len]Password generator
cleanup [type]Quick cleanup
spotifySpotify control (macOS)
google <query>Web search
github <query>GitHub search
share <file>Upload & share file (get URL)
qr <text>Generate QR code
typetestTyping speed test
stopwatchSimple stopwatch
weather [city]Weather forecast
dadjokeRandom dad/programmer joke
hn [count]Hacker News top stories
cmdstatsYour most-used commands
clockwidget [secs]Inline clock widget
welcomeTime-based greeting
ritual / morningMorning routine
eod / nightEnd of day summary
standupGenerate standup report
achievementTrack your achievements

Tools

CommandDescription
api <METHOD> <url>API tester (GET/POST/PUT/DELETE)
shorten <url>URL shortener (copies to clipboard)
asciiart <text>Generate ASCII art from text
clsClear screen with fade animation
clsqQuick fade clear

Games & Fun

CommandDescription
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

Themes

CommandDescription
theme listShow all themes
theme set <name>Apply theme
theme preview <name>Preview theme
theme customBuild custom theme
colorsShow color palette

Themes

Built-in Themes

Dark Light Fun
─────────────────────────────────────────────────
catppuccin github-light neon
dracula solarized cyberpunk
nord matrix
tokyo-night retro
gruvbox pastel
synthwave monochrome
ocean
sunset

Custom Theme

theme custom

Interactively pick colors for each element.

Configuration

# 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=nl

Project Structure

terminup/
├── 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

Contributing

Contributions are welcome! Whether it's:

  • Bug fixes
  • New features
  • Documentation improvements
  • Theme additions
  • Translations (see components/languages/)

Development Setup

# 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

Guidelines

  1. Keep it fast - Terminal tools should be instant
  2. Keep it optional - Features should degrade gracefully
  3. Keep it clean - Follow existing code style
  4. Test thoroughly - Test on clean zsh installs
  5. Cross-platform - Use platform utilities (_open, _copy, etc.)
  6. Multilingual - Use _t() for user-facing strings

Adding a Translation

  1. Create a new file components/languages/xx.zsh (where xx is 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
)
  1. 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]}";;

Adding a Theme

Edit components/themes.zsh:

THEMES+=(
your-theme "primary,secondary,accent,success,warning,error,muted"
)

Colors are 256-color terminal codes (0-255).

Adding a Command

  1. Create or edit a component file
  2. Add the function with _t() for messages
  3. Update the help in terminup.zsh
  4. Update this README

FAQ

Does it work without Powerlevel10k?

Yes. Terminup is completely independent. Powerlevel10k handles your prompt, Terminup adds commands and features. They complement each other but neither requires the other.

Does it work on Linux/Windows?

Yes. Full support for:

  • macOS - All features
  • Linux - Ubuntu, Arch, Fedora, and others
  • Windows - Via WSL (Windows Subsystem for Linux)

How do I change the language?

lang set nl # Dutch
lang set fr # French# ... etc

How do I disable the startup animation?

Add to your ~/.zshrc before sourcing terminup:

export TERMINUP_STARTUP_STYLE=off

Will it slow down my terminal?

No. All features load lazily. The startup animation only runs once per session and can be disabled.

How do I update?

cd~/Projects/Terminup
git pull
tups # or: source ~/.zshrc

Credits

Built with Zsh and caffeine.

Inspired by:


License

MIT License - do whatever you want with it.


╔═══════════════════════════════════════════════════════════╗
║ ║
║ "Any sufficiently advanced terminal configuration ║
║ is indistinguishable from magic." ║
║ ║
╚═══════════════════════════════════════════════════════════╝

████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██╗██████╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██║ ██║██╔══██╗
██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║██║ ██║██████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║ ██║██╔═══╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝██║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ 

Back to top

About

Zsh terminal enhancement framework — animated git operations, ASCII screensavers, 15+ themes, and 50+ productivity tools. Cross-platform with multilingual support.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages