unhappychoice/gitlogue: A cinematic Git commit replay tool for the terminal, turning your Git history into a living, animated story.

Terminal Trove Tool of the Week

gitlog demo

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

Leave a Comment