A cinematic Git commit replay tool for the terminal, turning your Git history into a live, animated story.
Watch Commit appears with realistic typing animations, syntax highlighting, and file tree transitions, turning code changes into a visual experience.
Using an Install Script (Recommended)
curl -fsSL https://raw.githubusercontent.com/unhappychoice/gitlogue/main/install.sh | bash
brew install unhappychoice/tap/gitlogue
git clone https://github.com/unhappychoice/gitlogue.git
cd gitlogue
cargo install --path .
See the installation guide for more options and troubleshooting.
Commit replay as animation – Realistic typing, cursor movement, deletion, and file operations
Tree-sitter syntax highlighting – 26 languages supported
project file tree – Directory structure with change statistics
screensaver mode – Endless random commit playback
Subject matter – 9 built-in themes + full customization support
fast and light – Built with rust for performance
screen saver – Ambient coding display for your workspace
Education – Visualize how the code evolved over time
presentations – Replay actual commit history live
content creation – Record demos with VHS or Eskinema
desktop rising – A vibrant decoration for your terminal
View Busy Mode – Appearing productive during meetings
alert
not a true screensaver – GitLog does not include traditional screensaver functions like power management or screen blanking. It is purely a visual display tool.
OLED burn-in risk — Static elements (such as editor backgrounds and border lines) can cause burn-in on OLED displays over long periods of time. LCD displays are generally immune to this problem.
# 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
# Ignore specific file patterns (e.g., notebooks, lock files)
gitlogue --ignore "*.ipynb" --ignore "poetry.lock"
# Use an ignore file
gitlogue --ignore-file .gitlogue-ignore
# List available themes
gitlogue theme list
# Set default theme
gitlogue theme set dracula
# Combine options
gitlogue --commit HEAD~5 --theme nord --speed 15 --ignore "*.ipynb"
Can be configured via gitlog ~/.config/gitlogue/config.toml,
You can set the default theme, typing speed, and background preferences.
See the configuration guide for complete options and examples.
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
installation Guide
usage guide
configuration guide
Theme Customization
Contribution Guidelines
architectural overview
Git visualization and coding
- gittype – A CLI code-typing game that turns your source code into typing challenges
- 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
- Seamatrix – Matrix screensaver effect for your terminal
- pip.sh – Animated pipes flowing through your terminal
Contributions are welcome.
See contribution guidelines for details.
ISC License. See license for details.
@unhappychoice
<a href