GitGarden turns your Git commit history into a growing piece of terminal art.
Every repository starts as a seed and evolves over time — sprouting, flowering, and eventually becoming a tree as your project gains commits.
The goal is simple: make progress visible in a way that feels alive.
GitGarden reads your repository’s commit log and draws a plant directly in your terminal:
- 1 commit → Seed
- 2–20 commits → Sprout
- 21–400 commits → Flower
- 41+ commits → Tree
Each node represents a commit, and you can move through them to inspect details like the hash, author, date, and message.
- Terminal-based visualization of Git history
- Interactive navigation between commits
- Procedurally generated plants (no two look the same)
- Colorized ANSI output
- Automatically scales with repository size
- Branch visualization
- More wildlife/environment
- Save plant snapshots as images
- Custom themes
- Display repo contributors as birds
Feel free to open issues for ideas, bugs, or improvements. Pull requests are welcome. Any additions, especially on the ASCII art, are encouraged. :)
We are constantly working to improve GitGarden and add new features.
The main branch is stable and usable.
Active development and experiments happen on other branches.
- Python 3.7+
- Git installed and available in your system PATH
- A terminal that supports ANSI colors
- pip (auto comes with Python)
Cygwin Users: Make sure you install Python packages inside Cygwin:
python3 -m pip install --upgrade readcharClone the repository:
git clone https://github.com/ezraaslan/GitGarden.git
cd GitGarden
pip install -r requirements.txt
python main.py
- Tested with Python 3.9+. Earlier versions may work but have not been fully tested.
- If colors look wrong on Windows, use Windows Terminal or enable ANSI support.

