Skip to content

L-ubu/Terminup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Terminal Enhancements for Power Users

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

License: MIT Shell: Zsh PRs 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

Feature macOS Linux Windows (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

Command Description
tup Show essential commands
tup all Show all commands
tup git Git commands
tup nav Navigation commands
tup npm NPM/PNPM commands
tup screen Screensaver commands
tup system System & language commands
tups Reload shell

Git

Command Description
gc [message] Commit with ASCII art
gp [remote] Push with animation
gl [remote] Pull with animation
ga [files] Stage files
fga Fuzzy git add (interactive file selector)
gb List branches
gco <branch> Checkout branch
gss Status overview
glog Pretty log graph
gst / gstp Stash / Stash pop
gm <branch> Merge branch

Navigation

Command Description
cd <dir> Animated directory change
ll Enhanced listing
lt [depth] Tree view
recent Recent directories
fcd Fuzzy directory finder
mkcd <dir> Create and enter

Package Managers

Command Description
ni / pi npm/pnpm install
dni / dpi DDEV npm/pnpm install
dev Start dev server
build Production build
scripts List npm scripts
fscript Fuzzy script picker
add <pkg> Add dependency
remove <pkg> Remove dependency

Screensavers & Lock

Command Description
lock Fullscreen digital clock
ss Digital clock screensaver
aclock [shape] Analog ASCII clock
alock [shape] Fullscreen analog clock
matrix Matrix rain effect
pipes Pipe maze screensaver
stars Flying starfield effect
aquarium Swimming fish animation
fire Burning flames effect
rain Rain animation
bounce DVD-style bouncing logo
syslock Lock the system
autolock [secs] Auto-lock after idle

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

Unlock: Arrow keys ← ↑ → ↓

System & Language

Command Description
lang list Show available languages
lang set <code> Set language (en/nl/fr/de/es)
lang current Show current language
platform Show platform info
stats System statistics

Extras & Productivity

Command Description
pomo [mins] Pomodoro timer
focus [mins] Focus mode
todo Todo list (add/done/rm/list)
note [text] Quick notes
quote Programming quote
decide a b c Decision maker
genpass [len] Password generator
cleanup [type] Quick cleanup
spotify Spotify control (macOS)
google <query> Web search
github <query> GitHub search
share <file> Upload & share file (get URL)
qr <text> Generate QR code
typetest Typing speed test
stopwatch Simple stopwatch
weather [city] Weather forecast
dadjoke Random dad/programmer joke
hn [count] Hacker News top stories
cmdstats Your most-used commands
clockwidget [secs] Inline clock widget
welcome Time-based greeting
ritual / morning Morning routine
eod / night End of day summary
standup Generate standup report
achievement Track your achievements

Tools

Command Description
api <METHOD> <url> API tester (GET/POST/PUT/DELETE)
shorten <url> URL shortener (copies to clipboard)
asciiart <text> Generate ASCII art from text
cls Clear screen with fade animation
clsq Quick fade clear

Games & Fun

Command Description
blackjack 🃏 Play Blackjack (Hit/Stand/Quit)
snake 🐍 Terminal snake game
slots 🎰 Slot machine with jackpot animation
nyan [secs] 🌈 Nyan cat animation
fireworks [secs] 🎆 Fireworks animation
dadjoke 😄 Random dad joke
asciiart <text> 🎨 Generate ASCII art
decide a b c 🎲 Random decision maker
rain 🌧️ Rain animation
fire 🔥 Fire animation
aquarium 🐠 ASCII fish tank
stars ⭐ Starfield animation
bounce 📀 DVD bounce animation

Themes

Command Description
theme list Show all themes
theme set <name> Apply theme
theme preview <name> Preview theme
theme custom Build custom theme
colors Show color palette

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 animation
export TERMINUP_STARTUP_ENABLED=false

# Minimal startup
export TERMINUP_STARTUP_STYLE=minimal

# Or completely off
export TERMINUP_STARTUP_STYLE=off

# Set default language
export 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 test
source 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 Translations

typeset -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 line
source "$_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

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages