rozsazoltan/gitlogue
A cinematic Git commit replay tool for the terminal, turning your Git history into a living, animated story.
gitlogue
A cinematic Git commit replay tool for the terminal, turning your Git history into a living, animated story.
Watch commits unfold with realistic typing animations, syntax highlighting, and file tree transitions, transforming code changes into a visual experience.
Installation
Using Install Script (Recommended)
curl -fsSL https://raw.githubusercontent.com/unhappychoice/gitlogue/main/install.sh | bashUsing Homebrew
brew install unhappychoice/tap/gitlogueUsing Cargo
cargo install gitlogueOn Arch Linux
pacman -S gitlogueFrom Source
git clone https://github.com/unhappychoice/gitlogue.git
cd gitlogue
cargo install --path .See the Installation Guide for more options and troubleshooting.
Features
๐ฌ Commit Replay as Animation โ Realistic typing, cursor movement, deletions, and file operations
๐จ Tree-sitter Syntax Highlighting โ 26 languages supported
๐ณ Project File Tree โ Directory structure with change statistics
๐ฅ๏ธ Screensaver Mode โ Endless random commit playback
๐ญ Themes โ 9 built-in themes + full customization support
โก Fast & Lightweight โ Built with Rust for performance
Usage
Popular Use Cases
๐ฅ๏ธ Screensaver โ Ambient coding display for your workspace
๐ Education โ Visualize how code evolved over time
๐บ Presentations โ Replay real commit histories live
๐ฌ Content Creation โ Record demos with VHS or asciinema
๐จ Desktop Ricing โ A living decoration for your terminal
๐ผ Look Busy Mode โ Appear productive during meetings
Warning
Not a True Screensaver โ gitlogue does not include traditional screensaver functions like power management or screen blanking. It's purely a visual display tool.
OLED Burn-in Risk โ Static elements (like the editor background and border lines) may cause burn-in on OLED displays over extended periods. LCD displays are generally safe from this issue.
Quick Start
# Start the cinematic screensaver
gitlogue
# View a specific commit
gitlogue --commit abc123
# Replay a range of commits
gitlogue --commit HEAD~5..HEAD
# Replay commits in chronological order (oldest first)
gitlogue --order asc
# Loop a specific commit continuously
gitlogue --commit abc123 --loop
# Loop through a commit range
gitlogue --commit HEAD~10..HEAD --loop
# Use a different theme
gitlogue --theme dracula
# Adjust typing speed (ms per character)
gitlogue --speed 20
# List available themes
gitlogue theme list
# Set default theme
gitlogue theme set dracula
# Combine options
gitlogue --commit HEAD~5 --theme nord --speed 15Configuration
gitlogue can be configured via ~/.config/gitlogue/config.toml.
You can set the default theme, typing speed, and background preferences.
See the Configuration Guide for full options and examples.
Supported Languages
Rust, TypeScript, JavaScript, Python, Go, Ruby, Swift, Kotlin, Java, PHP, C#, C, C++, Haskell, Dart, Scala, Clojure, Zig, Elixir, Erlang, HTML, CSS, JSON, Markdown, YAML, XML
Documentation
Installation Guide
Usage Guide
Configuration Guide
Theme Customization
Contributing Guidelines
Architecture Overview
Related Projects
Git Visualization & Coding
- GitType - A CLI code-typing game that turns your source code into typing challenges
Terminal Screensavers
- tarts - Collection of terminal screensavers in Rust (Matrix, Game of Life, Boids, 3D effects, and more)
- cbonsai - Grow beautiful bonsai trees in your terminal
- asciiquarium - Enjoy the mysteries of the sea from your terminal
- cmatrix - The Matrix screensaver effect for your terminal
- pipes.sh - Animated pipes flowing through your terminal
Contributing
Contributions are welcome.
See the Contributing Guidelines for details.
License
ISC License. See LICENSE for details.
